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`) )
Einfügen
INSERT INTO map (id, address, location) VALUES (1, 'somewhere', ST_GeomFromText('POINT(121.366961 31.190049)'));
Beachten Sie, dass die FunktionAbfrage 1. Breiten- und Längengrad anzeigenST_GeomFromText
und innerhalb von ist: Längengrad + Leerzeichen + BreitengradPOINT()
SELECT address, ST_AsText(location) AS location FROM map;
SELECT ST_Distance_Sphere(POINT(121.590347, 31.388094),location) AS distant FROM map;
Beachten Sie, dass die Längen- und Breitengrade in POINT() jetzt durch Kommas getrennt sind3. 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;
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!