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

Crear columna espacial MySQL:tipo de datos de punto con lat long sin usar la tabla Alter

El campo de puntos tiene los datos de latitud y longitud almacenados en su interior y se pueden recuperar con bastante facilidad si es necesario. Suponiendo que su campo de punto es nombre pt, la siguiente consulta proporciona esta información.

SELECT ST_Y(pt), ST_X(pt) FROM my_spatial_table;

Esto es exactamente lo mismo que hacer

SELECT Y(pt), X(pt) FROM my_spatial_table;

desde X y ST_X son alias. En resumen, solo necesita el campo de puntos.

Puede agregar su campo pt de la siguiente manera:

ALTER TABLE my_table ADD COLUMN GEOMETRY;

Luego puede mover los datos de las columnas existentes de latitud y longitud de la siguiente manera:

UPDATE my_table SET pt = PointFromText(CONCAT('POINT(',longitude,' ',latitude,')'))

Para obtener más detalles sobre esto, consulte:https://stackoverflow.com/a/7135890/267540
http://dev.mysql .com/doc/refman/5.7/en/populating-spatial-columns.html