FAQ
ArcObjects での空間参照オブジェクトの作成

ナレッジ番号:5297 | 登録日:2023/07/26 | 更新日:2024/10/09

概要

新規に空間参照のオブジェクトを作成するには以下のメソッドを使用します。それぞれのメソッドに指定する引数によって、座標系が決まります。

  • 地理座標系の場合:ISpatialReferenceFactory::CreateGeographicCoordinateSystem
  • 投影座標系の場合:ISpatialReferenceFactory::CreateProjectedCoordinateSystem 

引数は定数が用意されています。これらの定数の値は WKID と一致します。

サンプル コード

下記は主な座標系を作成するサンプル コードです。

IGeographicCoordinateSystem objGCS;
IProjectedCoordinateSystem  objPCS;
Type t = Type.GetTypeFromProgID("esriGeometry.SpatialReferenceEnvironment");
ISpatialReferenceFactory spatialRefFactory  = (ISpatialReferenceFactory)Activator.CreateInstance(t);

//日本測地系 2000
objGCS = spatialRefFactory.CreateGeographicCoordinateSystem((int)(esriSRGeoCS3Type.esriSRGeoCS_JapanGeodeticDatum2000));
System.Diagnostics.Debug.Print(objGCS.Name);

//日本測地系
objGCS = spatialRefFactory.CreateGeographicCoordinateSystem((int)(esriSRGeoCSType.esriSRGeoCS_Tokyo));
System.Diagnostics.Debug.Print(objGCS.Name);

//WGS84
objGCS = spatialRefFactory.CreateGeographicCoordinateSystem((int)(esriSRGeoCSType.esriSRGeoCS_WGS1984));
System.Diagnostics.Debug.Print(objGCS.Name);

//日本測地系 2000 平面直角座標系第 9 系
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem((int)(esriSRProjCS4Type.esriSRProjCS_JGD2000_Japan_Zone_9));
System.Diagnostics.Debug.Print(objPCS.Name);

//日本測地系 2000 UTM 座標系第 53 帯 
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem((int)(esriSRProjCS4Type.esriSRProjCS_JGD2000_UTM_Zone_53N));
System.Diagnostics.Debug.Print(objPCS.Name);

//日本測地系 平面直角座標系第 9 系
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem((int)(esriSRProjCSType.esriSRProjCS_TokyoJapan9));
System.Diagnostics.Debug.Print(objPCS.Name);

//日本測地系 UTM 座標系第 53 帯  
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem((int)(esriSRProjCS2Type.esriSRProjCS_Tokyo_UTM53N));
System.Diagnostics.Debug.Print(objPCS.Name);

Dim objGCS As IGeographicCoordinateSystem
Dim objPCS As IProjectedCoordinateSystem
Dim t As Type = Type.GetTypeFromProgID("esriGeometry.SpatialReferenceEnvironment")
Dim spatialRefFactory As ISpatialReferenceFactory = CType(Activator.CreateInstance(t), ISpatialReferenceFactory)

'日本測地系 2000
objGCS = spatialRefFactory.CreateGeographicCoordinateSystem(CInt(esriSRGeoCS3Type.esriSRGeoCS_JapanGeodeticDatum2000))

'日本測地系
objGCS = spatialRefFactory.CreateGeographicCoordinateSystem(CInt(esriSRGeoCSType.esriSRGeoCS_Tokyo))

'WGS84
objGCS = spatialRefFactory.CreateGeographicCoordinateSystem(CInt(esriSRGeoCSType.esriSRGeoCS_WGS1984))

'日本測地系 2000 平面直角座標系第 9 系 
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem(CInt(esriSRProjCS4Type.esriSRProjCS_JGD2000_Japan_Zone_9))

'日本測地系 2000 UTM 第 53 帯 
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem(CInt(esriSRProjCS4Type.esriSRProjCS_JGD2000_UTM_Zone_53N))

'日本測地系 平面直角座標系第 9 系 
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem(CInt(esriSRProjCSType.esriSRProjCS_TokyoJapan9))

'日本測地系 UTM 座標系第 53 帯 
objPCS = spatialRefFactory.CreateProjectedCoordinateSystem(CInt(esriSRProjCS2Type.esriSRProjCS_Tokyo_UTM53N))

メタデータ

機能

種類

製品