YouTube | Facebook | X(Twitter) | RSS

アノテーション グループ内の空間参照の設定

2022/5/30 (月)

ArcMap → [データ フレーム] プロパティ → [アノテーション グループ] 内の空間参照の取得、及び設定方法。

Sub GetSpatialReferenceOnTheAnnotationGroup()

    Dim pMxDocument As IMxDocument
    Set pMxDocument = Application.Document
    
    Dim pMap As IMap
    Set pMap = pMxDocument.FocusMap
    
    Dim pCompositeGraphicsLayer As ICompositeGraphicsLayer
    Set pCompositeGraphicsLayer = pMap.BasicGraphicsLayer
    
    Dim pCompositeLayer  As ICompositeLayer
    Set pCompositeLayer = pCompositeGraphicsLayer
    
    Debug.Print pCompositeLayer.Count   ' レイヤー数
        
    Dim pGeoDataset As IGeoDataset
    Set pGeoDataset = pCompositeLayer
    
    Debug.Print pGeoDataset.SpatialReference.Name   '空間参照の確認
    
    Dim pGeoDatasetSchemaEdit As IGeoDatasetSchemaEdit
    Set pGeoDatasetSchemaEdit = pCompositeGraphicsLayer
    
    pGeoDatasetSchemaEdit.AlterSpatialReference getSR  '空間参照の変更

    Debug.Print pGeoDataset.SpatialReference.Name   '空間参照の確認
    
End Sub


Function getSR() As ISpatialReference
    '例
    Dim valType As Long
    'valType = esriSRProjCS4Type.esriSRProjCS_JGD2000_Japan_Zone_9     'JGD2000 平面直角座標系第9系
    valType = esriSRGeoCS3Type.esriSRGeoCS_JapanGeodeticDatum2000    'JGD2000 地理座標系
      
    Dim pSpatialReferenceFactory As ISpatialReferenceFactory
    Set pSpatialReferenceFactory = New SpatialReferenceEnvironment
    
    Dim pGeographicCoordinateSystem As IGeographicCoordinateSystem
    Set pGeographicCoordinateSystem = pSpatialReferenceFactory.CreateGeographicCoordinateSystem(valType)
    
'    Dim pProjectedCoordinateSystem As IProjectedCoordinateSystem
'    Set pProjectedCoordinateSystem = pSpatialReferenceFactory.CreateProjectedCoordinateSystem(valType)

    Set getSR = pGeographicCoordinateSystem

End Function
  • この記事を書いた人

羽田 康祐

伊達と酔狂のGISエンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。 代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』 GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期常任委員。発言は個人の見解です。

-プログラミング, ArcGIS
-