ArcGIS SpatialReferenceオブジェクトファクトリコードはEPSG番号に対応していますか?


22

テキストファイルからジオメトリオブジェクトを読み込んでArcSDEに配置するプロジェクトがあります。これらのジオメトリオブジェクトにはEPSGコードが関連付けられており、作業を終えたときに正しい投影になるようにする方法を探しています。

私が取り組んでいるプロジェクトの興味のある工場コード(GCS GDA94; EPSG:4283およびVicGrid 94; EPSG:3111)を見てみると、EPSGコードはESRIに直接対応しているようです空間参照のファクトリコード(hereおよびhere)。これは素晴らしいことです。たとえば、以下のコードのように、投影ファイルに移動してSpatialReferenceオブジェクトを作成することを心配する必要はありません。

import arcpy

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

残念ながら、これが常に当てはまるかどうかを示すための参照をESRIのドキュメントで見つけることができません。誰が私がどこで見つけることができるか知っていますか?

回答:


30

Esriの既知のIDが32767未満の場合、EPSG IDに対応します。32767以上のWKIDはEsriで定義されています。オブジェクトがまだEPSG Geodetic Parameter Datasetにないか、おそらく追加されません。後でオブジェクトがEPSGデータセットに追加された場合、EsriはEPSKに一致するようにWKIDを更新しますが、以前の値は引き続き機能します。

いくつかの制限があります。EsriはEPSGが行う軸方向には従いません。少なくともArcGIS Desktopでは、常に緯度経度または東北(xy)です。ただし、現在はサーバーで軸の順序を選択しています。

私はEsriでこれらを処理するプロダクトエンジニアであるため、これに精通しています。


9

これはIGeometryServer.FindSRByWKIDなどの SDKヘルプに記載されているようです

AuthorityNameは通常「EPSG」または「ESRI」ですが、任意の文字列にすることもできます。新しい空間参照に関連付けられたデフォルトの機関名が必要な場合は、空の文字列にすることもできます。空間参照の作成にはWKIDのみが使用されるため、クライアントは、EPSGまたはESRI機関名に現在関連付けられているファクトリコードに独自の機関名を関連付けることができます。WKID範囲をデフォルトの機関名にマッピングするための現在のルールは次のとおりです。

  • WKID EPSGコード範囲(1000から32768)には、「EPSG」の権限名になり、そしてバージョンは(現在は「6.12」)現在使用されているEPSGバージョンであろう。
  • WKID ESRIコード範囲(33000から199999)には、「ESRI」の権限名になり、及びバージョンは、現在のPEライブラリのバージョン(現在は「9.3」)であろう。
  • WKIDユーザ(objedit)範囲(200000から209199)には、それに関連付けられたバージョンで、「カスタム」の権限名をもたらすであろう。この名前はOGCによって指定されます。

空間参照ファクトリコードで0の値を見つけた場合、空間参照が許可されていない/有効ではないことを伝えることができますか?
エミ

2
@Emi、ファクトリコード/ wkidの0は通常、ArcGISが空間参照(座標系)を認識しないことを意味します。使用できるため、有効な空間参照と呼びますが、IDがありません。
mkennedy

5

私はEPSGについて見つけることができる唯一の言及はしていたのArcGIS 10の新機能

地図投影と座標系

以下を含む新しい座標系と変換が追加されました。•EPSG Geodetic Parameter Datasetバージョン6.15から7.1の定義。

それがあなたが必要とする確認であるかどうかはわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.