FAQ
ラスタ・レイヤのデータ・ソース名を返す方法

ナレッジ番号:5462 | 登録日:2023/07/27 | 更新日:2024/11/21

【概要】

ArcMapのTOC(凡例部)でレイヤ名を変更しても、
レイヤ・プロパティのソース・タブからデータ・ソース名を確認することができます。
以下に、ArcObjectsを使用してラスタ・レイヤのデータ・ソース名を返す方法を示します。


【手順】

  1. ArcMapを起動します。

  2. Visual Basic Editorを開きます。

  3. プロジェクト・エクスプローラ・ウィンドウで、Projectの下にあるArcMap Objects > ThisDocumentをダブルクリックし、コード・ウィンドウを開きます。

  4. コード・モジュールに次のコードをペーストします。

    
    Public Sub GetDatasourceNameforRaster()
      Dim pApp As IApplication
      Dim pMxDoc As IMxDocument
      Dim pMap As IMap
      Dim pLayer As ILayer
      Dim pRasterLayer As IRasterLayer
      
    
    
    
      Dim pRaster As IRaster
      Dim pRasterBandColl As IRasterBandCollection
      Dim pEnumRasterBand As IEnumRasterBand
      Dim pRasterBand As IRasterBand
      Dim pRasterDataset As IRasterDataset
      Dim pDataset As IDataset
      
      Set pApp = Application
      Set pMxDoc = pApp.Document
      Set pMap = pMxDoc.FocusMap
      Set pLayer = pMap.Layer(0)
      Set pRasterLayer = pLayer ' QI
    
      Debug.Print "レイヤ名:" & pLayer.Name
      Set pRaster = pRasterLayer.Raster
      Set pRasterBandColl = pRaster ' QI
    
      Set pEnumRasterBand = pRasterBandColl.Bands
      pEnumRasterBand.Reset
    
      ' Set pRasterBand = pRasterBandColl.BandByName("Band_1")
      Set pRasterBand = pEnumRasterBand.Next
    
      Do Until pRasterBand Is Nothing
    
        Set pRasterDataset = pRasterBand.RasterDataset
        Set pDataset = pRasterDataset ' QI
        Debug.Print "データ・ソース名" & pDataset.Name
    
        Set pRasterBand = pEnumRasterBand.Next
      Loop
    End Sub
    
    
  5. ArcMapにラスタを追加し、レイヤ名を変更します。Visual Basic Editorを閉じます。

  6. コードを実行します。

    A:ArcMapで、ツール > マクロ > マクロと選択し、マクロ・ダイアログを表示します。

    B:マクロを選択し、実行をクリックします。

  7. Visual Basic Editorを開き、表示 > イミディエイト ウィンドウをクリックして、コードを実行した結果を確認します。

メタデータ

機能

種類

製品