グラフ理論の概念であるCentrality<\/A>は、近年ネットワークの挙動を洞察する方法として人気を集めています。グラフまたはネットワーク理論において、Centralityの指標は、全体のネットワーク内で頂点やエッジの相対的重要性を判断するために使用されます。中心性には多くの種類があります。媒介中心性(Betweenness centrality)は、ノードやエッジがネットワーク内の他のすべてのノード間の最適経路上にどれだけ頻繁に存在するかを測定します。高い媒介中心性の値は、ネットワーク接続における重要な役割を示します。ArcGISには現在Centralityツールがないため、これらの解析をArcGISのワークフローに簡単に組み込めるように、NetworkX<\/A> Pythonライブラリを使用したシンプルなArcGIS Pro 2.1 GPツールボックスを作成しました。 <\/P> Centrality Analysis Tools<\/A><\/P><\/P> 図1 Centrality Analysis Tools (CAT)<\/SPAN><\/P>このブログではネットワークとグラフという用語を同義で使用します。ここでいうネットワークはArcGIS Networkデータセットを指すものではありません。単にエッジで接続されたノードオブジェクトの集合を意味します。ArcGISではこれらのノードはポイント、ポリゴン、あるいは他のラインかもしれません。エッジは2つのノードを接続するポリラインと考えることができます。このネットワークはまた、Cost Connectivity<\/A>を使ってコストサーフェス上を通るポリラインで接続されたラスター領域でもありえます。<\/P><\/P> <\/P>図2 中西部のいくつかの都市圏が主要道路で接続されています。Cost Connectivityを使って<\/SPAN><\/P>“自然な”隣接点を見つけて道路網経由で町を接続しました。<\/SPAN><\/P><\/P>実際、Cost Connectivity(CC)の出力はCentrality Analysisツールへの入力として完璧です。CC出力テーブルを見てみましょう。<\/P><\/P>図3 “out_neighbors_paths”オプション選択時のCost Connectivity出力<\/SPAN><\/P><\/P>次にこれがCAT Node Centrality入力パラメータとどのように対応しているか見てみましょう。<\/P><\/P><\/P> 図4 Node Centralityツールパラメータ <\/SPAN><\/P><\/P>ここでいくつか言及すべき点があります。Starting Node FieldとEnding Node Fieldは方向性を示しません。実際、このツールはコストがどちら方向も同じだと仮定しています。私はShape_Lengthを使いましたが、PathCostやノード間移動コストを示す他のフィールドでもよいでしょう。このテーブルと関連するフィーチャクラスはCost Connectivityで“out_neighbor_paths”オプション選択時に作成されます。最小全域木オプションも機能しますが、Neighbor出力の方が中心性解析にはより合理的と思われます。また、グラフ内に自己ループ(ノードが自分自身につながるリンク)がなく、すべてのリンクコストがゼロより大きいことも重要です。<\/P><\/P><\/P>図5 Node Centralityタイプのオプション<\/SPAN><\/P><\/P>NodeおよびEdge Centralityツールはいずれも「connected」グラフを必要とします。つまりグラフ内のすべてのノードがネットワーク全体につながっている必要があります。もし一部ノードが他すべてから接続または到達できない場合、一部機能が動作しません。これは例えば島上にあって何らかの理由で到達不能なノードがある場合に起こります。その場合、その接続を作成して非常に高いコストを与えるか、それらノードを解析から除外する必要があります。<\/P><\/P>これらツールは特定入力を必要とするため、ユーザーがNodeまたはEdge centralityツール実行前に入力データのサイズや連結性情報を得られるようGraph Infoツールも含めました。<\/P><\/P><\/P>図6 Graph Infoツールはツール実行前に潜在的な入力データについて重要な情報を提供します<\/SPAN>
<\/P>
図1 Centrality Analysis Tools (CAT)<\/SPAN><\/P>このブログではネットワークとグラフという用語を同義で使用します。ここでいうネットワークはArcGIS Networkデータセットを指すものではありません。単にエッジで接続されたノードオブジェクトの集合を意味します。ArcGISではこれらのノードはポイント、ポリゴン、あるいは他のラインかもしれません。エッジは2つのノードを接続するポリラインと考えることができます。このネットワークはまた、
図2 中西部のいくつかの都市圏が主要道路で接続されています。Cost Connectivityを使って<\/SPAN><\/P>“自然な”隣接点を見つけて道路網経由で町を接続しました。<\/SPAN><\/P><\/P>実際、Cost Connectivity(CC)の出力はCentrality Analysisツールへの入力として完璧です。CC出力テーブルを見てみましょう。<\/P><\/P>図3 “out_neighbors_paths”オプション選択時のCost Connectivity出力<\/SPAN><\/P><\/P>次にこれがCAT Node Centrality入力パラメータとどのように対応しているか見てみましょう。<\/P><\/P><\/P> 図4 Node Centralityツールパラメータ <\/SPAN><\/P><\/P>ここでいくつか言及すべき点があります。Starting Node FieldとEnding Node Fieldは方向性を示しません。実際、このツールはコストがどちら方向も同じだと仮定しています。私はShape_Lengthを使いましたが、PathCostやノード間移動コストを示す他のフィールドでもよいでしょう。このテーブルと関連するフィーチャクラスはCost Connectivityで“out_neighbor_paths”オプション選択時に作成されます。最小全域木オプションも機能しますが、Neighbor出力の方が中心性解析にはより合理的と思われます。また、グラフ内に自己ループ(ノードが自分自身につながるリンク)がなく、すべてのリンクコストがゼロより大きいことも重要です。<\/P><\/P><\/P>図5 Node Centralityタイプのオプション<\/SPAN><\/P><\/P>NodeおよびEdge Centralityツールはいずれも「connected」グラフを必要とします。つまりグラフ内のすべてのノードがネットワーク全体につながっている必要があります。もし一部ノードが他すべてから接続または到達できない場合、一部機能が動作しません。これは例えば島上にあって何らかの理由で到達不能なノードがある場合に起こります。その場合、その接続を作成して非常に高いコストを与えるか、それらノードを解析から除外する必要があります。<\/P><\/P>これらツールは特定入力を必要とするため、ユーザーがNodeまたはEdge centralityツール実行前に入力データのサイズや連結性情報を得られるようGraph Infoツールも含めました。<\/P><\/P><\/P>図6 Graph Infoツールはツール実行前に潜在的な入力データについて重要な情報を提供します<\/SPAN>
Daft comment as I'm a very baby/basic user, but could you provide a "dummy's guide to use"? I have ArcGIS Pro, successfully installed NetworkX and your toolkit, and successfully imported my data (polyline shapefile for all the roads in a country, and an XY output of all the towns/cities in the same country). I'm trying to use the node centrality function - input polyline layer is presumably the roads layer and type of centrality I'm looking for is betweenness, but how am I to understand the starting node field, ending node field, cost/distance/weight field? Really really appreciate any help you can provide! I've attached a screenshot of the road shapefile, with the columns that you can choose from the drop-down fields -
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.