Suite

Quel est le type d'EPSG des coordonnées longitude/latitude (pas de point) ?

Quel est le type d'EPSG des coordonnées longitude/latitude (pas de point) ?


Je veux savoir quel est le type de projection (900913, 4326 environ… ) des coordonnées long/lat. Il se trouve que je rencontre une légère confusion lors de l'interrogation de planet_osm_lines lorsque je vide (St_DumpPoints) LineString dans un point et que j'essaie d'obtenir long/lat à partir de ce point. Dans le code suivant, j'ai essayé de transformer en longitude en utilisant les projections 900913 et 4326. J'ai réalisé que 4326 me donne un résultat correct tandis que 900913 donne la même valeur en points.

Donc, ma question est la suivante : 4326 est-il la valeur de projection par défaut pour long/lat ? c'est-à-dire que toutes les données long/lat que je reçois, comme un smartphone ou un autre appareil, sont au format 4326 ?

De plus, lors du calcul (st_distance, st_closestPoint, etc.) les coordonnées lat/long avec les coordonnées basées sur la base de données 900913, dois-je la changer en projection 900913 ? tel que:

ST_Transform(ST_SetSRID(ST_makePoint(long, lat),4326), 900913) ;

Code:

osm=# sélectionnez d.osm_id, d.name, st_x(st_transform(st_setsrid(da,900913),900913)), st_y(da) from (SELECT osm_id, name, (ST_DumpPoints(st_astext(way))).geom as a FROM planet_osm_line limite 1000) comme d ; osm_id | nom | st_x | st_y -----------+-------------------+------------+---- -------- 328454927 | | 9310610.35 | 3223602.19 328454927 | | 9310606.6 | 3223579.35 328454927 | | 9310597.74 | 3223554.21 328454927 | | 9310590.81 | 3223541.52 328454927 | | 9310591.28 | 3223530.75 328454927 | | 9310593.43 | 3223519,49 328454927 | | 9310593.43 | 3223495.79 osm=# sélectionnez d.osm_id, d.name, st_x(st_transform(st_setsrid(da,900913),4326)), st_y(da) de (SELECT osm_id, name, (ST_DumpPoints(st_astext(way))).geom comme une limite FROM planet_osm_line 1000) comme d ; osm_id | nom | st_x | st_y -----------+-------------------+----------------- ++------------ 328454927 | | 83.6386358188641 | 3223602.19 328454927 | | 83.6386021320409 | 3223579.35 328454927 | | 83.6385225413067 | 3223554.21 328454927 | | 83.6384602880575 | 3223541.52 328454927 | | 83.6384645101394 | 3223530.75 328454927 | | 83.638483823918 | 3223519,49 328454927 | | 83.638483823918 | 3223495.79

Je serais très utile d'avoir une compréhension claire de ces confusions de votre part.


1) Les coordonnées dans (EPSG) 4326 sont long/lat, et elles sont en degrés décimaux. Les coordonnées dans (SRID) 900913 sont est/nord, et elles sont en mètres. La confusion survient parce que Google Map affiche les coordonnées (SRID) 900913 en degrés long/lat alors qu'elles sont en fait des mètres est/nord.

2) Vous devez éviter d'utiliser ST_Distance ou toute fonction qui renvoie des distances/longueurs sur les coordonnées (SRID) 900913 pour de nombreuses raisons. Premièrement, (SRID) 900913 n'est pas conforme. Même pour Mercator (conforme) et Mercator transverse, les distances et les surfaces ne sont conservées qu'à proximité de la latitude et de la longitude choisies à l'échelle réelle. Un guide général est que vous ne devez pas utiliser ST_Distance sur des projections cartographiques du monde entier.

Donc, en cas de doute, il suffit de s'en tenir à ST_Distance sur (EPSG) 4326 coordonnées qui renverront les distances géodésiques.


Il existe des centaines de codes EPSG de système de coordonnées géographiques (GCS) prédéfinis et un nombre infini de chaînes GCS potentielles. Le meilleur code de projection est le approprié un, pas une valeur "par défaut". L'utilisation d'un code GCS incorrect peut déplacer l'emplacement jusqu'à un kilomètre (en utilisant un projeté CS pourrait vous mettre à des dizaines de milliers de kilomètres).


Voir la vidéo: QGIS 3: Changing the project projection