Top Banner
ArcGISカスタマイズ事例集 ハイドロシステム株式会社 Copyright (C) 2010 Hydro Systems corp.
25

ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ...

Feb 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

ArcGISカスタマイズ事例集

ハイドロシステム株式会社

Copyright (C) 2010 Hydro Systems corp.

Page 2: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの目的と方法

Page 3: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの目的

ArcGISの機能を目的に応じて拡張できます。ArcGISには、豊富な機能が含まれています。ArcMapのメニューやボタンから使用できる機能は、ArcGISの全ての機能ではありません。カスタマイズを行うことにより、ArcGISの豊富な機能を生かしたより高機能なGISソフトウェアを構築できま

す。

手作業で行うと手間のかかる作業を自動化します。ArcMapのメニューやボタンなどを使って作業をすると大変手間のかかる作業が

あります。目的応じたカスタマイズにより、複雑な操作が容易に実行できるようになります。さらに、手作業ではできない空間演算を利用したフィーチャの作成なども可能になります。

プログラムを作ることにより、ArcGISの機能だけではなく、データベースのアク

セスや、作表といったいろいろな機能を追加することができます。例えば、地図上の選択に応じて、データベースと結合してデータ表示するようなことが可能になります。

Page 4: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの方法 DLLによる方法

ツールバー

ArcMap上のツールバーからカスタマイズ機能を起動する方法です。

プログラムは、DLL(ダイナミックリンクライブラリ)になります。

ツールバーに配置できるコントロールには次のものがあります。

コンボボックスリストから選択します

ボタン 機能を実行します

ツールボタン 押したあと地図上を選択するなどの操作を行い機能を実行します

テキストラベル 任意の文字を表示します

メニュープルダウンから機能を選択します

Page 5: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの方法 DLLによる方法

ドッカブルウィンドウ

ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

す。

ツールバーより多彩なコントロールを配置することができます。

ドッカブルウィンドウ移動可能

Page 6: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの方法 DLLによる方法

イベント応答

ArcGISでは、イベントと呼ばれる処理の呼び出しが行われます。

イベントは次のような場合に発生します。

・マッププロジェクトを開いたとき

・レイヤを追加したとき

・地図が再描画されたとき

・エディタで追加、削除、編集が行われたとき

DLLでこれらに対する応答を記述することができます。

例えば、エディタのイベントに応答し、あるレイヤの特定の属性値に対する編集を禁止するといったことができます。

Page 7: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの方法 実行プログラムによる方法

単体の実行プログラムからArcGISの機能を呼び出すことができます。

ArcMapは開きません。独自のウィンドウが表示されます。

一括処理などの機能を実現するには、実行プログラムによる方法が適しています。

地図をウィンドウに表示するには、地図コントロールを使用します。

単体実行プログラム

ArcGIS機能

フィーチャデータ

呼び出し

入出力

Page 8: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズの方法 コントロールによる方法

単体の実行プログラムのウィンドウに地図を表示、操作するコントロールを貼り付けます。ArcMapとは、違った独自のGISソフトウェアを作成できます。

ArcGISのコントロールには次の2種類があります。

Mapコントロール

Readerコントロール

ArcMapとほぼ同様の機能を実現できます。

地図、属性の編集も可能です。

ランタイムライセンスは、有償です。

無償の閲覧用ソフトArcReaderと同様な機能が実現できます。

地図、属性、凡例の編集はできません。拡大、縮小、移動など閲覧に必要な機能は実現できます。

ランタイムライセンスは、無償です。地図表示のためには、Publisherエクステンションで、pmfファイルを作成する必要があります。

Page 9: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

カスタマイズ 事例

Page 10: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

イベント応答 地図中心の住所表示/背景地図の入替

地図中心の位置を判定して住所を自動表示します

地図中心が他の都道府県に移動した場合、都道府県ごとにファイルが分かれている詳細地図レイヤのデータセットを自動的に入れ替えます

表示縮尺、表示位置により投影法を自動変更することも可能です

Page 11: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

印刷カスタマイズ 複数ページ印刷/プレビュー

タイトル等の付加情報を任意に追加できます

方位記号、標尺、縮尺文字凡例を自動配置できます

これは、プレビューウィンドウです表示範囲を変えた複数ページの印刷を行っていますプレビューを画面で確認してから印刷可能です用紙サイズ、向きも変更可能です

Page 12: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

印刷カスタマイズ 帳票との連携

地図の印刷ページをメタファイル形式でエクスポートし、Excelで作られた帳票に、貼り付けます。

地図情報を組み合わせた帳票が作成できます。

連続処理も可能です。

帳票に貼り付けた地図の印刷ページ帳票に応じて移動、

拡大、縮小も可能です。縮尺表示もできます。

Page 13: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

凡例の自動作成

ArcMapの標準機能では、フィーチャー数が非常に多いとき

凡例を思い通りに作成できないことがあります。

この例では、日本全国の1kmメッシュのフィーチャーを使用し

て、気温、降水量などを色分けして表示し、画像ファイルにエクスポートする作業を自動化しています。

Page 14: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

編集機能のカスタマイズ属性入力ダイアログ

ArcMapの標準編集機能でフィーチャーの追加を行うとき、同時

に属性値も入力することができますが、カスタマイズすることにより、属性入力を強制し、より入力が容易になります。

Page 15: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

編集機能のカスタマイズネットワークデータの生成、編集

道路、河道などのデータには、線データが必ず他の線と接続しているという性質があります。

この性質を保持して、編集を行うカスタマイズを行っています。

既存の河道上に自動的にスナップさせます。

分岐点にポイントデータを自動生成します。

新規フィーチャーの作成既存フィーチャーの編集

河道のフィーチャー頂点を移動。

移動に伴って接続する河道も自動的に移動します

Page 16: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

編集機能のカスタマイズ隣接ポリゴンの生成

行政区画、流域、土地利用などのポリゴンは、隣接ポリゴンと線を共有するという性質を持っていますが、標準編集機能では、共有線もあらためて入力する必要があります。

カスタマイズにより、共有線を自動的に発生させ、隣接ポリゴンの入力が容易になります。

Page 17: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

距離計算サービスの応用

ArcObjectsを使用し

たプログラム

距離計算サービス

時間圏ポリゴン

ACT(アドバンスドコアテクノロジーズ社)

距離計算サービスでは、2点間の 短経路、時間距離、時間圏

ポリゴン、巡回ルート計算などが可能です。

この例では、集落の中心から30分、60分、90分の時間圏ポリゴ

ンを求めて、シェープファイルに格納しています。

インターネット

Page 18: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

フィーチャーの自動生成 通勤ベクトル

鶴岡市

小国町

米沢市

西川町

山形市

最上町

飯豊町

真室川町

尾花沢市

戸沢村

庄内町

上山市

新庄市

長井市

大蔵村

遊佐町

東根市

八幡町

村山市

朝日町

高畠町

平田町

酒田市

川西町

金山町

南陽市

白鷹町

大江町

鮭川村

舟形町

天童市

山辺町

大石田町

河北町

中山町

寒河江市

松山町

三川町

凡例

中心市起点

5.1 - 10.0

10.1 - 20.0

20.1 - 30.0

30.1 - 40.0

40.1 -0 5 10 15 202.5

キロメートル

国勢調査の通勤データを使用して、市町村間の従業者の移動ベクトルを表すポリラインフィーチャーを自動作成しています。

ピンクのポリゴンは、従業者が集まる中心市の30分時間圏ポリゴンを示します。

通勤移動が30分圏と深い関係があるこ

とがわかります。

同様な手法は、買い物客の移動などに応用できます。

Page 19: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

フィーチャーの自動生成 トラクタルート

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!!

!!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!!

!

!

!

!

!

!

!

!

!

!

!

!

!!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!!

!

!

!

!

!!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!!

!

!

!

!

!

!

!

!

!

!

!!

!!

!

!

圃場の播種作業をトラクタで行う場合の想定ルートを、圃場ポリゴンから自動生成しています。ルートとともに角度の大きな転回点もポイントデータとして生成しています。

距離と転回点の個数から作業時間を推定し、色分けしています。

Page 20: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

!!!!

!! !!

!!!

!!

!

! !

!! !

!

!!

!

!

!

!

!

!

!

!

!!

!

!

!

!

!!

!!

!

!

!

!

!

!

!

!

!

!

!

!

! !

!

!

!!

!

!

!

!!

!

!

!!

!!!

!

!!

!

!

!

!

!! !!

!

!

!

!!

!

!

!!

!

! !!! !

!

!

!

!

!

!

!

!

!

!

!!

!!

! !!

!

!

!

!!

!

!

!

!

!

!

!

!!

!

!

!

!!

!

!

!

! !

!

!!

!

!

!

!

!

!

!

!

!

!

!

! !!

! ! !

!

!

!

!

!

!! !

!!!

!

!

! ! !

!

!

!

!

!

!

!

!

!

!

! ! !

!

!

!

!!

!!

!

!

!

!

!

!

!

!

!

JPGISデータの作成 トポロジー構造の生成

JPGISのポリゴンデータは、共有境界線、共有点を識別して構造

化する必要があります。

この例では、ArcViewライセンスで使用できるマップトポロジーを

使用して、共有境界線、共有点を自動生成し、ポリゴンを構成する共有線、共有点の情報を作り出します。

Page 21: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

ボロノイ(ティーセン多角形)の生成と集計

流域の降雨量を求める手法で、任意の点の降雨はその点に も近い観測所の雨量に等しいと見なす考え方で、ティーセン法と呼ばれます。

観測所ポイントデータから幾何学で「ボロノイ分割」と呼ばれる多角形を作成して処理します。この例では、多角形を作るとともに、流域ごとの集計も自動的に行っています。

同様な手法は、商圏分析などにも応用できます。

Page 22: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

各種集計

49

49.148.847.346.8

49.446.6

46.145.9

48.947.3

45.1

49.2849.2249.0748.9248.7748.6248.4648.3147.9847.8247.6547.4847.3247.1546.9846.82

49.3849.2849.2648.9548.6548.4347.9247.6147.4747.1346.9746.63

49.5149.4149.3149.2849.1448.9948.8448.4947.9947.4247.2447.1246.9546.7846.6246.45

49.5649.4849.3149.2849.1948.9548.5548.0547.5346.9246.8646.7646.4446.27

49.3649.2749.2149.2449.2649.2649.0548.6148.1147.6147.0346.5546.4846.3946.2546.09

49.1549.1649.1749.1749.1849.1849.1548.6748.1747.6747.1446.5346.1746.01

49.0849.0949.1149.1249.1349.1549.1548.7248.2347.7347.2346.6446.0345.7945.7245.63

48.8348.8748.9348.9749.0148.6848.2647.7946.7446.1445.5345.4145.35

48.5248.5448.5748.6148.6448.6748.6948.3748.0147.6447.2746.8546.2445.6445.03

45.9

49.4

47.64

49.13

46.51 49.24

49.21

48.95

49.15

49.25

49.25

48.94

49.01

49.16

49.15

48.99

48.63

48.47

48.45

48.36

48.27

48.16

47.54

46.97

46.61

46.32

45.47

47.31

46.92

47.4446.34

46.44 48.88

47.28

47.32 49.4

45.7 49.13

49.58

49.47

48.8245.31

46.01

46.28

46.64

47.2 48.446.1144.96 48.51 48.4648.01 48.3544.63

47.947.25 49.0448.7448.4448.1447.58 49.3146.92

空間的な重なりから、ポリゴン属性を他のポリゴン単位で集計したり、ポイント属性をポリゴン単位に集計したりできます。

例は、ポイント標高データからメッシュ標高を求めたものです。

Page 23: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

解析機能 時間圏指標と時間距離

0

50000

100000

150000

200000

250000

300000

0 20 40 60 80 100 120

中心市までの時間距離(分)

時間圏30分内の事業

所従業者数(人

)

高齢化率40%未満

高齢化率40%以上50%未満

高齢化率50%以上60%未満

高齢化率60%以上

集落フィーチャ

集落時間圏ポリゴン

メッシュフィーチャ

メッシュ事業所統計DB

集落時間圏内事業所従業者数

集落人口DB

集落高齢化率

時間距離、事業所従業者数集落高齢化率の分析

集落中心市時間距離

ArcGISの空間演算機能を応用して、集落の分析を行った例です。

中心市までの時間距離が、30分以内の集落では、就業機会に恵まれ高齢化があま

り進行していないことがわかります。

Page 24: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

0 160 320 480 64080メートル

凡例

シミュレーションとの統合 入力データの作成

0 160 320 480 64080メートル

凡例

土地利用

林地

果樹園

水田

裸地

・土地利用からメッシュの粗度係数を推定・メッシュ標高

その他必要なデータ

二次元氾濫シミュレーションデータ

Page 25: ArcGISカスタマイズ事例集カスタマイズの方法DLLによる方法 ドッカブルウィンドウ ArcMap上のTOC(テーブルオブコンテンツ)のようなウィンドウで、移動も可能で

シミュレーションとの統合 計算結果の表示

二次元氾濫シミュレーション結果

0 160 320 480 64080メートル

凡例

時刻湛水深

堤防崩落 66%流量 5.2時間後

2cm未満

2 - 5cm

5 - 10cm

10 - 15cm

15 - 20cm

20 - 25cm

25 - 30cm

30 - 40cm

40 - 60cm

60 - 80cm

80cm-

0 160 320 480 64080メートル

凡例

時刻湛水深

堤防崩落 66%流量 5.2時間後

2cm未満

2 - 5cm

5 - 10cm

10 - 15cm

15 - 20cm

20 - 25cm

25 - 30cm

30 - 40cm

40 - 60cm

60 - 80cm

80cm-

任意時刻の湛水深分布図の作成