YouTube | Facebook | X(Twitter) | RSS

ラスター ファイルからレイヤーを追加

2016/9/1 (木)

'パス・ファイル設定
Dim strPath As String
Dim strFile As String
strPath = "D:\Workspace\_Hobby\GPS2\Photo"
strFile = "P1200586.JPG"
 
'ラスタ ワークスペースへアクセス
Dim pWorkspaceFactory As IWorkspaceFactory
Set pWorkspaceFactory = New RasterWorkspaceFactory
 
Dim pRasterWorkspace As IRasterWorkspace
Set pRasterWorkspace = pWorkspaceFactory.OpenFromFile(strPath, Application.hWnd)
 
'ファイルの実体を取得
Dim pRasterDataset As IRasterDataset
Set pRasterDataset = pRasterWorkspace.OpenRasterDataset(strFile)
 
'QI
Dim pRasterBandCollection As IRasterBandCollection
Set pRasterBandCollection = pRasterDataset
 
 
'各バンドを取得(単一バンドの際は)
Dim pRasterBand() As IRasterBand
ReDim pRasterBand(pRasterBandCollection.Count - 1)
 
Dim i As Integer
For i = 0 To pRasterBandCollection.Count - 1
    Set pRasterBand(i) = pRasterBandCollection.Item(i)
Next i
 
'ラスタ レイヤの作成
Dim pRasterLayer As IRasterLayer
Set pRasterLayer = New RasterLayer
 
pRasterLayer.Name = strFile
 
pRasterLayer.CreateFromDataset pRasterDataset           '単一バンド・マルチバンドで追加
pRasterLayer.CreateFromDataset pRasterBand(0)           'マルチバンド内の単一バンドを追加
pRasterLayer.CreateFromFilePath strPath & "\" & strFile 'ファイルパス名で追加
 
'レイヤの追加処理
Dim pMxDocument As IMxDocument
Set pMxDocument = ThisDocument
pMxDocument.FocusMap.AddLayer pRasterLayer
  • この記事を書いた人

羽田 康祐

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

-プログラミング, ArcGIS
-,