sql >> Database teknologi >  >> RDS >> Mysql

Brug af MySQL 'POINT' og PHP til at indsætte bredde- og længdegradspunkter gennem en formular

Du har brug for noget lignende

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

hvor parameteren du sender til GeomFromText er en tegnstreng som

POINT(45.1234 123.4567)

Jeg har fundet ud af, at denne form for konstruktion fungerer godt, hvis jeg har to numeriske parametre, hvor ? er pladsholdere for disse lat- og lon-parametre. CONCAT-funktionen sammensætter den nødvendige tekststreng.

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

Det sker, at du ikke kan oprette et rumligt indeks i en InnoDB-tabel i versioner af MySQL før version 5.7.4 (som endnu ikke er generelt tilgængelig). Hvis du vil have et rumligt indeks, skal du bruge MyISAM-adgangsmetoden til din tabel. Dette er lidt af en plage.

Her er en oversigt over brugen af ​​geospatial til dette formål. http://www.plumislandmedia.net/mysql/ ved at bruge-mysqls-geospatial-extension-location-finder/




  1. Oracle:Sådan opretter du en funktion, der returnerer værdier for en SELECT * FROM fane WHERE name IN (funktion())

  2. ORA-02070:databasen understøtter ikke i denne sammenhæng

  3. Flytning af data fra gammel tabel til en anden tabel PHP MYSQL

  4. Hvordan returnerer man rækker baseret på databasebrugeren og tabellens indhold?