2012-06-18 15 views
7

¿Cuál es el orden correcto al establecer un PUNTO en MySQL?Orden Lon/Lat al utilizar el tipo de POINT espacial con MySQL

Incluso las respuestas en lo que las preguntas difieren en esto: Moving lat/lon text columns into a 'point' type column

¿Es

POINT(lat lon) 

o

POINT(lon lat) 

En lo que, como yo lo veo, debe ser la primera versión (lat lon) como el PUNTO toma como params xey, pero no pude encontrar una evidencia definitiva.

+0

Puedes probar las dos formas y ver qué funciona, ¿o no? Contaría con la respuesta de Quassnoi. –

+0

+1 porque busqué en los documentos de MySQL por más de 3 minutos y no pude encontrar la documentación relevante. –

+0

Lo único que encontré fueron las funciones ['X()' y 'Y()'] (http://dev.mysql.com/doc/refman/5.5/en/geometry-property-functions.html# ejemplo-de-las-funciones-punto). –

Respuesta

2

como se puede ver aquí https://stackoverflow.com/a/5757054/1393681 el orden es (lon lat).

lon es básicamente el eje Y y lat la x Si miro a mi mundo, pero los de lon están viajando a lo largo del eje x y el árbitro lo largo del eje y lat así que creo que eso es la razón por la que el uso (lat lon)

a pesar de eso, si permanece constante en su aplicación, shoudn't importa si el mundo se da la vuelta dentro de su db ;-)

+1

Confundirá a las personas. 'lon' es el * eje x *, y sus gradaciones se muestran verticalmente. 'lat' es el * eje Y *, por lo que sus gradaciones son horizontales. Como con cada gráfico 2D, las gradaciones son perpendiculares al eje que miden. – Walf

+0

yup, tienes razón. editó la publicación –

-2

Técnicamente no importa. Está almacenando en las coordenadas xey de un punto. Solo tiene que leerlos de la misma manera que los escribe.

Si se preocupan por una "forma correcta" Sólo puedo hacer referencia al hecho de que Google Maps API crea coortinates usando

var location = new google.maps.LatLng(lat, lng); 

y en la escuela también aprender acerca de "latitud y logintude", no a la inversa camino alrededor.

Aún así, técnicamente no importa la forma en que los almacene. Solo asegúrate de utilizar la misma convención cuando los leas de nuevo.

+0

En la programación, también encontrará una gran cantidad de sistemas y funciones que requieren parámetros lonlat en lugar de Latlon. Sin embargo, en su base de datos, todavía no importa. – stormofwar

Cuestiones relacionadas