FAQ
ポリゴングラフィックの面積を計算する方法

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

【概要】

選択したポリゴングラフィックの面積を返すカスタムボタンを作成する方法を示します。
このコードはシェープファイルのポリゴンフィーチャ、フィーチャクラス、
カバレッジの面積を求めるようには設計されていません。
このコードは[図形描画]ツールバーのグラフィック作成ツールで作成された、
選択ポリゴングラフィックエレメントの面積を求めます。


【手順】

  1. ArcMapを起動します。

  2. 新規UIButtonControlを作成します。[ツール] > [カスタマイズ]を選択しカスタマイズダイアログボックスを開きます。

  3. [コマンド]タブをクリックします。

  4. [カテゴリ]リストボックスからUIControlsを選択します。

  5. '保存先'プルダウンリストからボタンを保存する場所を選択します。

    ・'無題'を選択した場合は現在のマップドキュメントに保存されます。
    ・'Normal.mxt'を選択した場合はすべてのArcMapドキュメントに保存されます。

  6. [新規UIControl]をクリックします。

  7. UIButtonControlを選択し、[作成]をクリックします。

  8. UIButtonControlをツールバーにドラッグして追加します。

  9. カスタマイズダイアログボックスを閉じます。

  10. UIButtonControlを右クリックして'ソースの表示'を選択します。

  11. UIButtonControlのClickイベントに以下のコードをペーストします。

    
    Dim pApp As IApplication
    Set pApp = Application
    

    '-- マップドキュメントを取得します Dim pDoc As IMxDocument Set pDoc = ThisDocument

    '-- アクティブビューのグラフィックスコンテナを取得します Dim pAv As IActiveView Set pAv = pDoc.ActiveView Dim pGc As IGraphicsContainerSelect Set pGc = pAv.GraphicsContainer

    '--グラフィックエレメントが選択されているか確認します If pGc.ElementSelectionCount = 0 Then  MsgBox "グラフィックエレメントを選択してください"  Exit Sub End If

    '-- 1つのエレメントのみが選択されているか確認します Dim pElem As IElement If pGc.ElementSelectionCount > 1 Then  MsgBox "1つのエレメントのみを選択してください" Exit Sub End If

    '-- 選択したエレメントの面積を取得します Dim pPoly As IPolygon Dim pArea As IArea Set pElem = pGc.SelectedElement(0)

    If TypeOf pElem.Geometry Is IPolygon Then  Set pArea = pElem.Geometry  '-- 面積をステータスバーに表示します  pApp.StatusBar.Message(0) = "エレメントの面積 : " & pArea.Area  '-- あるいはメッセージボックスで表示します  MsgBox "エレメントの面積: " & pArea.Area End If

  12. ポリゴングラフィックを選択してUIButtonControlを押します。面積がステータスバーの左下隅とメッセージボックスで表示されます。

メタデータ

機能

種類

製品