Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utilisation de MySQL 'POINT' et PHP pour insérer des points de latitude et de longitude via un formulaire

Vous avez besoin de quelque chose comme

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

dans lequel le paramètre que vous passez à GeomFromText est une chaîne de caractères comme

POINT(45.1234 123.4567)

J'ai trouvé que ce type de construction fonctionne bien si j'ai deux paramètres numériques, où ? sont les espaces réservés pour ces paramètres lat et lon. La fonction CONCAT rassemble la chaîne de texte requise.

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

Il arrive que vous ne puissiez pas créer d'index spatial dans une table InnoDB dans les versions de MySQL antérieures à la version 5.7.4 (qui n'est pas encore généralement disponible). Si vous voulez un index spatial, vous devrez utiliser la méthode d'accès MyISAM pour votre table. C'est un peu gênant.

Voici un article sur l'utilisation du géospatial à cette fin. http://www.plumislandmedia.net/mysql/ using-mysqls-geospatial-extension-location-finder/