Les codes d'usine des objets ArcGIS SpatialReference correspondent-ils aux numéros EPSG?

22

J'ai un projet où je lis des objets géométriques à partir de fichiers texte pour les mettre dans ArcSDE. Ces objets de géométrie ont un code EPSG associé, et je cherche un moyen de m'assurer qu'ils sont dans la bonne projection lorsque j'en ai fini avec eux.

Après avoir regardé les codes d'usine qui m'intéressent (GCS GDA94; EPSG: 4283 et VicGrid 94; EPSG: 3111) pour un projet sur lequel je travaille, il semble que les codes EPSG correspondent directement à l'ESRI codes d'usine pour la référence spatiale ( ici et ici ). C'est génial, car cela signifie que je n'ai pas à me soucier de la navigation vers les fichiers de projection pour créer des objets SpatialReference , par exemple dans le code ci-dessous:

import arcpy

# Create a spatial reference object using a factory code
#
sr = arcpy.SpatialReference()
sr.factoryCode = int(epsg_code.lstrip("EPSG:"))
sr.create()

Malheureusement, je ne trouve aucune référence dans la documentation ESRI pour dire si cela est vrai tout le temps ou non - je suppose que c'est le cas, mais je préfère le savoir avec certitude. Est-ce que quelqu'un sait où je pourrais le découvrir?

om_henners
la source

Réponses:

30

Si un ID bien connu d'Esri est inférieur à 32 767, il correspond à l'ID EPSG. Les WKID 32767 ou supérieurs sont définis par Esri. Soit l'objet n'est pas encore dans l'ensemble de données de paramètres géodésiques EPSG , soit il ne sera probablement pas ajouté. Si un objet est ajouté ultérieurement au jeu de données EPSG, Esri mettra à jour le WKID pour qu'il corresponde à celui d'EPSG, mais la valeur précédente fonctionnera toujours.

Il y a quelques limitations. Esri ne suit pas les directions des axes qu'EPSG suit, dans ArcGIS Desktop au moins, c'est toujours la longitude-latitude ou l'est-nord (xy), bien que nous prenions maintenant l'ordre des axes dans le serveur.

Je suis intimement familier avec cela car je suis l'ingénieur produit qui les gère pour Esri.

mkennedy
la source
9

Cela semble être documenté dans l'aide du SDK, par exemple IGeometryServer.FindSRByWKID :

AuthorityName est généralement "EPSG" ou "ESRI", mais peut également être une chaîne arbitraire. Il peut également s'agir de la chaîne vide si vous souhaitez que le nom d'autorité par défaut soit associé à la nouvelle référence spatiale. Les clients peuvent associer leurs propres noms d'autorité à des codes d'usine qui sont actuellement associés aux noms d'autorité EPSG ou ESRI, car seul le WKID est utilisé pour créer la référence spatiale. Voici les règles actuelles de mappage des plages WKID aux noms d'autorité par défaut:

  • Un WKID dans la plage de codes EPSG (1000 - 32768) se traduira par un nom d'Autorité «EPSG», et la version sera la version EPSG actuelle utilisée (actuellement «6.12»).
  • Un WKID dans la plage de codes ESRI (33000 - 199999) se traduira par un nom D'AUTORITÉ «ESRI», et la version sera la version actuelle de la bibliothèque PE (actuellement «9.3»).
  • Un WKID dans la plage utilisateur (objedit) (200000 - 209199) se traduira par un nom D'AUTORITÉ de «PERSONNALISÉ», sans version associée. Ce nom est spécifié par l'OGC.
blah238
la source
Si j'ai trouvé une valeur 0 dans le code d'usine de référence spatiale, puis-je dire que la référence spatiale n'est pas autorisée / valide?
Emi
2
@Emi, A 0 pour le code d'usine / wkid signifie généralement qu'ArcGIS ne reconnaît pas la référence spatiale (système de coordonnées). Je l'appellerais toujours une référence spatiale valide car elle peut être utilisée, elle n'a tout simplement pas d'identifiant.
mkennedy
5

La seule référence que j'ai pu trouver concernant EPSG se trouvait dans les nouveautés d'ArcGIS 10 qui indiquaient

Projections cartographiques et systèmes de coordonnées

De nouveaux systèmes de coordonnées et transformations ont été ajoutés, notamment les suivants: • Définitions des versions 6.15 à 7.1 du jeu de données des paramètres géodésiques EPSG, y compris 181 transformations géographiques (datum) et plus de 280 systèmes de coordonnées ...

Je ne sais pas si c'est la confirmation dont vous avez besoin.


la source