sql >> Databasteknik >  >> RDS >> Mysql

Använda MySQL 'POINT' och PHP för att infoga latitud- och longitudpunkter genom ett formulär

Du behöver något liknande

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

där parametern du skickar till GeomFromText är en teckensträng som liknar

POINT(45.1234 123.4567)

Jag har upptäckt att den här typen av konstruktion fungerar bra om jag har två numeriska parametrar, där ? är platshållare för dessa lat- och lon-parametrar. CONCAT-funktionen sätter ihop den önskade textsträngen.

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

Det händer att du inte kan skapa ett rumsligt index i en InnoDB-tabell i versioner av MySQL före version 5.7.4 (som ännu inte är allmänt tillgänglig). Om du vill ha ett rumsligt index måste du använda MyISAM-åtkomstmetoden för din tabell. Detta är lite av en olägenhet.

Här är en beskrivning om hur du använder geospatial för detta ändamål. http://www.plumislandmedia.net/mysql/ använder-mysqls-geospatial-extension-location-finder/




  1. Långsamt räknande fråga med where-klausul

  2. Importera flera CSV-filer till SQL Server från en mapp

  3. MySQL Matchningsproblem med flera intressen

  4. Python Pandas skriver till sql med NaN-värden