Heim > Datenbank > MySQL-Tutorial > Wie kann ich Breiten- und Längengraddaten mit 8 Dezimalstellen in MySQL präzise speichern?

Wie kann ich Breiten- und Längengraddaten mit 8 Dezimalstellen in MySQL präzise speichern?

Linda Hamilton
Freigeben: 2024-12-01 11:38:09
Original
866 Leute haben es durchsucht

How Can I Precisely Store Latitude/Longitude Data with 8 Decimal Places in MySQL?

Präzise Speicherung von Breiten-/Längengraddaten mit 8 Dezimalstellen in MySQL

Problem:

Beim Umgang mit Kartendaten ist es wichtig, die Breiten- und Längengradkoordinaten mit ausreichender Präzision zu speichern. In diesem Fall besteht die Anforderung darin, Werte mit 8 Dezimalstellen aufzunehmen.

Diskussion:

Das referenzierte Google-Dokument schlägt die Verwendung von FLOAT(10, 6)-Feldern vor, die erlaubt bis zu 6 Dezimalstellen. Um 8 Dezimalstellen unterzubringen, könnte man die Verwendung von FLOAT(10, 8) in Betracht ziehen. Es gibt jedoch eine präzisere und geeignetere Lösung.

Lösung:

MySQL bietet räumliche Datentypen und Punkt ist ein geeigneter Single- Werttyp zum präzisen Speichern geografischer Koordinaten. Das folgende Beispiel demonstriert die Verwendung:

CREATE TABLE `buildings` (
  `coordinate` POINT NOT NULL,
  /* Even from v5.7.5 you can define an index for it */
  SPATIAL INDEX `SPATIAL` (`coordinate`)
) ENGINE=InnoDB;
Nach dem Login kopieren

Um Daten einzufügen, können Sie eine SQL-Anweisung wie diese verwenden:

INSERT INTO `buildings` 
(`coordinate`) 
VALUES
(POINT(40.71727401 -74.00898606));
Nach dem Login kopieren

Der Datentyp „Punkt“ stellt sicher, dass Koordinaten mit hoher Präzision gespeichert werden , wobei die 8 Dezimalstellen erhalten bleiben, die für genaue Kartenberechnungen erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich Breiten- und Längengraddaten mit 8 Dezimalstellen in MySQL präzise speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage