YouTube | Facebook | X(Twitter) | RSS

縮尺を変更すると ActiveView の Extent はどのように変化するか

2016/9/1 (木)

'縮尺を変更するとActiveViewのExtentはどのように変化するか
Sub test()
 
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
 
Dim dblA(5) As Double
Dim dblB(5) As Double
 
dblA(0) = pMxDoc.ActiveView.Extent.XMax
dblA(1) = pMxDoc.ActiveView.Extent.XMin
dblA(2) = pMxDoc.ActiveView.Extent.YMax
dblA(3) = pMxDoc.ActiveView.Extent.YMin
dblA(4) = dblA(0) - dblA(1)
dblA(5) = dblA(2) - dblA(3)
 
'Debug.Print "元", dblA(0), dblA(1)
Debug.Print "元幅", dblA(0) - dblA(1), "元高", dblA(2) - dblA(3)
 
 
pMxDoc.FocusMap.MapScale = pMxDoc.FocusMap.MapScale * 2
 
dblB(0) = pMxDoc.ActiveView.Extent.XMax
dblB(1) = pMxDoc.ActiveView.Extent.XMin
dblB(2) = pMxDoc.ActiveView.Extent.YMax
dblB(3) = pMxDoc.ActiveView.Extent.YMin
dblB(4) = dblB(0) - dblB(1)
dblB(5) = dblB(2) - dblB(3)
 
'Debug.Print "後", dblB(0), dblB(1)
Debug.Print "後幅", dblB(0) - dblA(1), "後高", dblB(2) - dblA(3)
 
 
Debug.Print "差幅", dblB(4) - dblA(4), "差高", dblB(5) - dblA(5)
 
pMxDoc.ActiveView.Refresh
 
'結論
'縮尺を2倍小さく(数値は大きく)すると、ActiveViewに表示される面積は4倍(距離は2倍)になる
 
End Sub
  • この記事を書いた人

羽田 康祐

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

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