database-design latitude-longitude

database design - ¿Cuál es la longitud máxima de latitud y longitud?



database-design latitude-longitude (5)

¿Cuánto tiempo puede ser la latitud y la longitud?

Estoy recibiendo largos largos enviados por un dispositivo con Windows Phone:

Latitude=-63572375290155 Longitude=106744840359415

Esto está excediendo el tamaño de la columna de mi tabla y estoy recibiendo errores.


El rango válido de latitud en grados es -90 y +90 para el hemisferio sur y el hemisferio norte, respectivamente. La longitud está en el rango -180 y +180 que especifican las coordenadas al oeste y al este del Prime Meridian, respectivamente.

Para referencia, el Equator tiene una latitud de 0 °, el polo norte tiene una latitud de 90 ° al norte (escrito 90 ° N o + 90 °), y el polo sur tiene una latitud de -90 °.

El Prime Meridian tiene una longitud de 0 ° que pasa por Greenwich, Inglaterra. La línea de fecha internacional (IDL) sigue aproximadamente la longitud de 180 °. Una longitud con un valor positivo cae en el hemisferio oriental y un valor negativo cae en el hemisferio occidental.

Grados decimales de precisión

La precisión de seis (6) lugares decimales en las coordenadas con notación de grados decimales es a una resolución de 10 cm (o 0,1 metros). Cada diferencia de .000001 en el grado decimal de coordenadas es de aproximadamente 10 cm de longitud. Por ejemplo, las imágenes de Google Earth y Google Maps suelen tener una resolución de 1 metro, y algunos lugares tienen la resolución más alta de 1 pulgada por píxel. La resolución de un metro se puede representar con 5 decimales, por lo que más de 6 decimales son extraños para esa resolución. La distancia entre las longitudes en el ecuador es la misma que la latitud, pero la distancia entre las longitudes llega a cero en los polos cuando las líneas del meridiano convergen en ese punto.

Si el valor de Latitude se informa como -6.3572375290155 o -63.572375290155, entonces podría redondear y almacenar hasta 6 lugares decimales para una precisión de 10 cm (o 0,1 metros).

Para una precisión milimétrica (mm), represente lat / lon con 8 decimales en formato de grados decimales. Como la mayoría de las aplicaciones no necesitan ese nivel de precisión, 6 decimales son suficientes para la mayoría de los casos.

En la otra dirección, los grados decimales completos representan una distancia de ~ 111 km (o 60 millas náuticas) y una diferencia de 0,1 grados decimales representa un área de ~ 11 kilómetros cuadrados.

Aquí hay una tabla con la diferencia de # decimales en latitud con los grados delta y la distancia estimada en metros usando 0,0 como punto de partida.

decimal decimal distance places degrees (in meters) ------- --------- ----------- 1 0.1000000 11,057.43 11 km 2 0.0100000 1,105.74 1 km 3 0.0010000 110.57 4 0.0001000 11.06 5 0.0000100 1.11 6 0.0000010 0.11 11 cm 7 0.0000001 0.01 1 cm

Representación en grados-minuto-segundo (DMS)

Para la notación DMS 1 segundo de arco = 1/60/60 grado = ~ 30 metros de longitud y 0,1 arco sec delta es ~ 3 metros.

Ejemplo:

  • 0 ° 0 ''0 "W, 0 ° 0'' 0" N -> 0 ° 0 ''0 "W, 0 ° 0'' 1" N => 30.715 metros
  • 0 ° 0 ''0 "W, 0 ° 0'' 0" N -> 0 ° 0 ''0 "W, 0 ° 0'' 0.1" N => 3.0715 metros

1 minuto de arco = 1/60 grados = ~ 2000 m (2 km)


El tipo de datos ideal para almacenar valores Lat Long en SQL Server es decimal (9,6)

Como han dicho otros, esto es de aproximadamente 10 cm de precisión, mientras que solo se utilizan 5 bytes de almacenamiento.

por ejemplo, CAST(123.456789 as decimal(9,6)) as [LatOrLong]


La latitud máxima en total es: 9 (12.3456789), longitud 10 (123.4567890), ambas tienen un máximo de 7 caracteres decimales (al menos es lo que puedo encontrar en Google Maps ),

Por ejemplo, ambas columnas en Rails y Postgresql se parecen a esto:

t.decimal :latitude, precision: 9, scale: 7 t.decimal :longitude, precision: 10, scale: 7


Las longitudes válidas son de -180 a 180 grados.

Se supone que las latitudes son de -90 grados a 90 grados, pero las áreas muy cercanas a los polos no son indexables.

Los límites exactos especificados por EPSG: 900913 / EPSG: 3785 / OSGEO: 41001 son los siguientes:

  • Las longitudes válidas son de -180 a 180 grados.
  • Las latitudes válidas son de -85.05112878 a 85.05112878 grados.

  • Latitud : max / min +90 a -90

  • Longitud : max / min +180 a -180