マップの全体表示に対するカスタム範囲を設定する方法

投稿日:2008/10/17 (金) 更新日:

ArcGIS 9.2から,「全体表示」ボタンを押したときの全体範囲をカスタマイズできるようになりました(9.1まではデータフレームに追加されている全部のレイヤが表示される範囲しか設定できませんでした)。

arcmap
ArcMap > レイヤ(データフレーム)のプロパティ > データフレーム > 全体表示コマンドの表示範囲

カスタマイズでこれを設定したいことがあったのでそれっぽいプロパティを探しても自力で解決できなかったので,サポートに問い合わせてみました。そしたら定番インタフェース内に該当のプロパティが存在してました。

Dim pMxDocument As IMxDocument
Set pMxDocument = ThisDocument

Dim pMap As IMap
Set pMap = pMxDocument.FocusMap

Dim pActiveView As IActiveView
Set pActiveView = pMxDocument.ActiveView

Dim pEnvelope As IEnvelope
Set pEnvelope = pActiveView.Extent  '[全体表示]コマンド実行時に設定したい範囲

'1. 全てのレイヤの表示範囲(デフォルト)を設定
Set pMap.AreaOfInterest = pActiveView.FullExtent

'2. その他(現在表示されている範囲)を設定
Set pMap.AreaOfInterest = pEnvelope

まさかIMapインタフェースの問い合わせをするとは,,,しかもIMapにあるってことは,実はArcInfo 8.01から使える機能だったんですね。

関連記事

  • この記事を書いた人

羽田 康祐

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

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

Copyright© WINGFIELD since1981 , 2019 All Rights Reserved.