テレインの断面から 3D ジオメトリを作成

投稿日:2016/9/1 (木) 更新日:

Sub GetInterpolateShapeFromTerrain()
    Dim pMxDocument As IMxDocument
    Set pMxDocument = ThisDocument
     
    Dim pTerrainLayer As ITerrainLayer2
    Set pTerrainLayer = pMxDocument.FocusMap.Layer(0)
     
    Dim pTerrain As ITerrain2
    Set pTerrain = pTerrainLayer.Terrain
     
    Dim pDynamicSurface As IDynamicSurface3
    Set pDynamicSurface = pTerrain.CreateDynamicSurface
     
     
     
    Dim pEnumGeometry As IEnumGeometry
    Set pEnumGeometry = GetGraphicElements(pMxDocument.FocusMap)
     
    Dim pInputGeometry As IGeometry
    Set pInputGeometry = pEnumGeometry.Next
     
    Dim pInputCurve As ICurve
    Set pInputCurve = pInputGeometry
     
    Dim pInputCurve3D As ICurve3D
    Set pInputCurve3D = pInputGeometry
     
    Debug.Print "Input:", pInputCurve.Length
     
    Dim pOutGeometry As IGeometry
     
     
    Call pDynamicSurface.InterpolateShape(pInputGeometry, 10, esriLinearInterpolation, Nothing, pOutGeometry)
     
     
    Dim pOutCurve3D As ICurve3D
    Set pOutCurve3D = pOutGeometry
     
    Debug.Print "Output:", pOutCurve3D.Length3D
 
End Sub

関連記事

  • この記事を書いた人

羽田 康祐

伊達と酔狂でエクストリーム スポーツに挑む GIS エンジニア。 GIS、IT、趣味に関して日々の出来事で学んだ記憶を記録するためにブログを書いています。同じ問題に出会った方の参考になっていただければ幸いです。GIS を使った自己紹介はこちら

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

Copyright© WINGFIELD since1981 , 2019 All Rights Reserved.