sql >> Base de Datos >  >> RDS >> Mysql

Usando MySQL 'POINT' y PHP para insertar puntos de Latitud y Longitud a través de un formulario

Necesitas algo como

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

en el que el parámetro que pasa a GeomFromText es una cadena de caracteres como

POINT(45.1234 123.4567)

Descubrí que este tipo de construcción funciona bien si tengo dos parámetros numéricos, donde ? son los marcadores de posición para esos parámetros de latitud y longitud. La función CONCAT reúne la cadena de texto requerida.

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

Sucede que no puede crear un índice espacial en una tabla InnoDB en versiones de MySQL anteriores a la versión 5.7.4 (que aún no está disponible de forma general). Si desea un índice espacial, deberá usar el método de acceso MyISAM para su tabla. Esto es un poco molesto.

Aquí hay un artículo sobre el uso de geoespacial para este propósito. http://www.plumislandmedia.net/mysql/ usando-mysqls-geospatial-extension-location-finder/