Combien de temps la latitude et la longitude peuvent-elles être?
Je reçois de très longues longueurs envoyées par un appareil Windows Phone:
Latitude=-63572375290155
Longitude=106744840359415
Cela dépasse la taille de ma colonne de table et des erreurs se produisent.
La plage de latitude valide en degrés est - 90 et +90 pour les hémisphères sud et nord respectivement. La longitude est dans la plage - 180 et +180 spécifiant les coordonnées ouest et est du premier méridien, respectivement.
Pour référence, le équateur a une latitude de 0 °, le pôle nord a une latitude de 90 ° nord (écrit 90 ° N ou + 90 °) et le - pôle sud a une latitude de -90 °.
Le premier méridien a une longitude de 0 ° qui traverse Greenwich, en Angleterre. La ligne de date internationale (IDL) suit grossièrement la longitude à 180 °. Une longitude avec une valeur positive tombe dans l'hémisphère oriental et une valeur négative dans l'hémisphère occidental.
Précision en degrés décimaux
Six (6) décimales La précision des coordonnées en utilisant la notation décimale en degrés est à une résolution de 10 cm (ou 0,1 mètre). Chaque différence 0,00001 en degrés décimaux de coordonnées a une longueur d’environ 10 cm. Par exemple, les images de Google Earth et de Google Maps sont généralement à une résolution de 1 mètre, et certains endroits ont la résolution la plus élevée de 1 pouce par pixel. Une résolution d'un mètre peut être représentée avec 5 décimales, donc plus de 6 décimales sont superflues pour cette résolution. La distance entre les longitudes à l'équateur est la même que la latitude, mais la distance entre les longitudes atteint zéro aux pôles lorsque les lignes du méridien convergent en ce point.
Si la valeur de la latitude est indiquée sous la forme -6.3572375290155 ou -63.572375290155, vous pouvez arrondir et stocker jusqu'à 6 décimales pour une précision de 10 cm (ou 0.1 mètre).
En millimètres (mm), la précision représente alors lat/lon avec 8 décimales au format décimal. Comme la plupart des applications n'ont pas besoin de ce niveau de précision, 6 décimales suffisent dans la plupart des cas.
Dans l’autre sens, les degrés décimaux entiers représentent une distance d’environ 111 km (ou 60 milles marins) et une différence de 0,1 décimale représente une zone d’environ 11 km2.
Voici un tableau des différences de latitude entre le nombre de décimales et le nombre de décimales, ainsi que la distance estimée en mètres, en utilisant 0,0 comme point de départ.
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
Représentation en degrés-minutes-secondes (DMS)
Pour la notation DMS, 1 seconde d'arc = 1/60/60 degré = une longueur d'environ 30 mètres et un delta de 0,1 seconde d'arc est d'environ 3 mètres.
Exemple:
1 minute d'arc = 1/60 degré = ~ 2000 m (2 km)
UPDATE: Voici un article de blog sur la précision des coordonnées avec un peu d'humour.
Latitude: max/min +90
à -90
Longitude: max/min +180
à -180
Les longitudes valides vont de -180 à 180 degrés.
Les latitudes sont supposées être comprises entre -90 et 90 degrés, mais les zones très proches des pôles ne sont pas indexables.
Les limites exactes spécifiées par EPSG: 900913/EPSG: 3785/OSGEO: 41001 sont les suivantes:
Le maximum de latitude est de: 9 (12.3456789) et 10 (123.4567890), ils ont tous les deux un maximum de 7 caractères décimaux (Au moins, c’est ce que je peux trouver dans Google Maps ),
Par exemple, les deux colonnes de Rails et de Postgresql ressemblent à ceci:
t.decimal :latitude, precision: 9, scale: 7
t.decimal :longitude, precision: 10, scale: 7
Le type de données idéal pour stocker les valeurs Lat Long dans SQL Server est décimal (9,6).
Comme d'autres l'ont dit, la précision est d'environ 10 cm, alors que vous n'utilisez que 5 octets de stockage.
par exemple. CAST(123.456789 as decimal(9,6)) as [LatOrLong]
Veuillez vérifier le système de coordonnées UTM https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system .
Ces valeurs doivent être en mètres pour une projection cartographique spécifique. Par exemple, le sommet du mont Assiniboine (à 50 ° 52′10 ″ nord et 115 ° 39′03 ″ ouest) dans la zone 11 UTM est représenté par 11U 594934.108296 5636174.091274 où (594934.108296, 5636174.091274) sont en mètres.