Heim > Datenbank > MySQL-Tutorial > Hauptteil

Einführung in die Methode zur Verarbeitung von Längen- und Breitengradentfernungen mithilfe des MySQL-Geometrietyps

不言
Freigeben: 2019-02-01 10:09:04
nach vorne
2835 Leute haben es durchsucht

Der Inhalt dieses Artikels ist eine Einführung in die Methode zur Verarbeitung von Längen- und Breitengraden mithilfe des Geometrietyps MySQL. Ich hoffe, dass er für Sie hilfreich ist.

Tabelle erstellen

CREATE TABLE `map` (
  `id` int(11) NOT NULL,
  `address` varchar(255) NOT NULL DEFAULT '',
  `location` geometry NOT NULL,
  PRIMARY KEY (`id`),
  SPATIAL KEY `idx_location` (`location`)
)
Nach dem Login kopieren

Einfügen

INSERT INTO map (id, address, location) VALUES (1, 'somewhere', ST_GeomFromText('POINT(121.366961 31.190049)'));
Nach dem Login kopieren
Beachten Sie, dass die Funktion ST_GeomFromText und innerhalb von ist: Längengrad + Leerzeichen + Breitengrad POINT()
Abfrage

1. Breiten- und Längengrad anzeigen

SELECT address, ST_AsText(location) AS location FROM map;
Nach dem Login kopieren

2. Berechnen Sie den Abstand zwischen zwei Punkten

SELECT ST_Distance_Sphere(POINT(121.590347, 31.388094),location) AS distant FROM map;
Nach dem Login kopieren

, Die Einheit ist Meter
Beachten Sie, dass die Längen- und Breitengrade in POINT() jetzt durch Kommas getrennt sind
3. Fragen Sie Standorte ab, die weniger als 1000 m entfernt sind, und sortieren Sie sie von weit nach nah

SELECT id, address, ST_Distance_Sphere(POINT(121.590347, 31.388094),location) AS distant FROM map WHERE ST_Distance_Sphere(POINT(121.590347, 31.388094),location) < 1000 ORDER BY distant;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Verarbeitung von Längen- und Breitengradentfernungen mithilfe des MySQL-Geometrietyps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!