TIN の作成

Sub CreateTIN()
    Dim pMxDocument As IMxDocument
    Set pMxDocument = ThisDocument
     
    Dim pFeatureLayer As IFeatureLayer
    Set pFeatureLayer = pMxDocument.FocusMap.Layer(0)
     
    Dim pFeatureClass As IFeatureClass
    Set pFeatureClass = pFeatureLayer.FeatureClass
     
    Dim pGeoDataset As IGeoDataset
    Set pGeoDataset = pFeatureClass
     
    Dim sType As esriTinSurfaceType
    sType = esriTinMassPoint
     
    Dim pHeightField As IField
    Set pHeightField = pFeatureClass.Fields.Field(pFeatureClass.FindField("HYOKO"))
     
    'TINの作成
    Dim pTinEdit As ITinEdit
    Set pTinEdit = New Tin  'オブジェクトのインスタンス化
     
    pTinEdit.InitNew pGeoDataset.Extent 'TINの作成
    pTinEdit.SaveAs "D:\Workspace\NEC\Sample\TIN\sampleTin2" 'ファイル保存
     
    pTinEdit.StartEditing   'TINの編集開始
     
    pTinEdit.AddFromFeatureClass _
        pFeatureClass, Nothing, pHeightField, Nothing, sType
        '第1引数:IFeatureClass         フィーチャクラス
        '第2引数:IQueryFilter          条件抽出
        '第3引数:IField                Z値フィールド
        '第4引数:IField                タグ値フィールド
        '第5引数:esriTinSurfaceType    定数(標高点)
     
    pTinEdit.StopEditing True   'TINの編集終了(保存)
 
End Sub
  • URLをコピーしました!

この記事を書いた人

伊達と酔狂のGeospatial Communicator。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。代表著書に『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』。日本地理学会賞(著作発信部門)受賞(2024年)。好きな地図投影法はパース・クインカンシャル図法とマクブライド・トーマス平極四次曲線図法。発言は個人の見解です。

ESRIジャパン株式会社所属、日本地図学会常任委員、青山学院大学非常勤講師兼務(2021年度~2023年度)、ストーリーマップ自己紹介、researchmapポートフォリオ

目次