Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden von MySQL 'POINT' und PHP zum Einfügen von Breiten- und Längengradpunkten über ein Formular

Sie brauchen so etwas wie

SET point_LatLon = GeomFromText('POINT(45.1234 123.4567)')

wobei der Parameter, den Sie an GeomFromText übergeben, eine Zeichenfolge wie

ist
POINT(45.1234 123.4567)

Ich habe festgestellt, dass diese Art von Konstrukt gut funktioniert, wenn ich zwei numerische Parameter habe, wobei ? sind die Platzhalter für diese lat- und lon-Parameter. Die CONCAT-Funktion setzt die erforderliche Textzeichenfolge zusammen.

GeomFromText( CONCAT('POINT(', ?, ' ', ?, ')') ) 

Es kommt vor, dass Sie in MySQL-Versionen vor Version 5.7.4 (die noch nicht allgemein verfügbar ist) keinen räumlichen Index in einer InnoDB-Tabelle erstellen können. Wenn Sie einen räumlichen Index wünschen, müssen Sie die MyISAM-Zugriffsmethode für Ihre Tabelle verwenden. Das ist ein bisschen lästig.

Hier ist eine Beschreibung zur Verwendung von Geodaten für diesen Zweck. http://www.plumislandmedia.net/mysql/ using-mysqls-geospatial-extension-location-finder/