Estoy almacenando una gran lista de puntos lnt / lat en una base de datos MySQL. Por el momento, estos son puntos proyectados para el Reino Unido en M, pero a largo plazo me gustaría asegurarme de que puedo almacenar las coordenadas de puntos para todo el mundo. ¿Qué tipo de datos debo usar?
Empecé a usar decimal(18,12)
, pero no estaba seguro de si se necesita esta precisión o si podría usar a float
. Incluí mi código, en caso de que haya algo más que debería considerar:
CREATE TABLE UKTest
(
lat FLOAT,
lng FLOAT
)
Soy bastante nuevo en SQL, así que no estoy seguro de si el tipo de datos es significativo al ejecutar una consulta. Supuse que la memoria general variaría según el tipo de variable. ¿Hay alguna ventaja de usar una base de datos espacial sobre una base de datos MySQL básica para este tipo de trabajo?
fuente
A menos que esté vinculado a MySQL por alguna otra razón, debería considerar usar una base de datos espacialmente habilitada como postgis que tenga un objeto Point (y Line, Polygon, etc.) para manejar estos detalles por usted. También obtienes soporte de proyección para cuando haces ese cambio en todo el mundo.
2019 : para personas como yo que tampoco leen comentarios: MySQL admite tipos de datos espaciales, supuestamente más lentos, sin evidencia.
fuente