ポリゴンの結合処理におけるPoly-Split ツール

概要

Alteryxによる空間分析において、ポリゴンの結合の処理に用いるPoly-Split Toolの機能をご紹介します。
複数のポリゴンをSummerize Toolで空間的に結合すると、出力されたポリゴン内に溝のようなものができてしまう場合があります。
そのような場合には、Poly-Split Toolを用いれば穴の部分と穴を含まない部分に分割することができ、域内に溝を含まないポリゴンを生成することができます。
また、域内に飛び地が含まれる場合の処理についても説明します。

1. はじめに

自治体や商圏など複数のエリアを結合して1つのエリアを形成して、分析や可視化したい場合があります。
例として行政区域の結合をとりあげてみますと、より細かいレベルから行政単位から、政令指定都市や都道府県単位への結合、県内もしくは県をまたいだ任意のエリアの設定、といった場面が考えられます。
行政区域の境界データは、オープンデータではe-statの国勢調査の境界データや国土数値情報の行政区域データなどから、シェイプファイルをダウンロードできます。
前者なら町丁目レベル、後者なら市区町村レベルの境界データが含まれており、ここでは後者のデータから、Alteryxで結合し都道府県単位のポリゴンを作成してみます。

2. シェイプファイルの読み込み

まず、ダウンロードしたシェイプファイルをInput Toolで読み込むと、全国の市区町村レベルの空間オブジェクトが確認できます。

また、属性情報として、フィールド[N03_001]には都道府県名、[N03_003]には郡・政令市名が入っています。

3. グループごとに空間オブジェクトの結合

次に、Summarize ToolにおけるSpatialのCombineを用いて[N03_001]でGroupByして、都道府県単位で空間オブジェクトを結合します。

4. エリア内の溝のようなもの処理

すると、下図のように都道府県ごとに1つずつポリゴンデータが形成されます。
しかし、例えば下図で千葉県内をみると、域内に溝のようなものができてしまっています。

そこで、この処理にPoly-Split Toolを用います。
Poly-Split Toolは、Split ToのDetailed Regionsを選択すると、穴の部分と穴を含まない部分に分けて空間オブジェクトが出力され、さらに、それが穴かどうかのフィールド([Split_IsHole])も追加されます。

上記の結合された空間オブジェクトに対して、Poly-Split Toolで詳細領域への分割を行ってみると、出力された[Split_IsHole]がFalseのレコードは穴ではないエリア(域内に穴があった場合にはそれを全て包含した領域)になっています。
よって、 Filter Toolを用いて[Split_IsHole]がFalseのレコードのみを抽出し、 もう一度Summerize Toolで空間結合してあげれば、上記の域内の溝がない空間オブジェクトを作成することができます。
例えば、千葉県をみると(域内に溝のないきれいな)1つのエリアができていることがわかります。

5. 飛び地の処理

ただし、域内に飛び地が含まれる場合は注意が必要です。
例えば、神奈川県では川崎市多摩区内に東京都稲城市の飛び地が含まれているのですが、穴を含まないエリアの結合では神奈川県のポリゴンにここも含まれてしまっています。

この場合には、当該飛び地の空間オブジェクトのレコードを特定しておき、例えばSpatial Process Toolで後から除く、もしくは、域内に溝のある元の空間オブジェクトと当該飛び地を除く全ての穴(溝)の部分を結合する、といったもう一手間を加えて完成です。

※ なお、この場合の東京都のように、当該県の飛び地が隣県にある場合には上記の処理は必要ありません。

ちなみに、今回は都道府県単位ごとに1つの空間オブジェクトにまとめてしまっていましたが、例えば東京都のように距離の離れた島嶼部が含まれる場合などは、それは別のポリゴンとしてレコードを分けて持たせておくほうが分析や可視化の上で扱いやすいかもしれません。
その場合には、あらかじめ県内で島嶼部とそれ以外などとレコードを分けておいてそれもGroupByに加えてあげれば、同様にして当該県の2つ以上の空間オブジェクトを生成できます。

6. おわりに

以上で、Alteryxでのポリゴンの結合処理におけるPoly-Split Toolの使い方の一例をご紹介しました。
例外的な処理が最後に必要ではありましたが、逆にいうとRや専用のGISソフト等を用いなくても、Alteryxで空間分析におけるある程度細かな処理もできてしまうことがお分かりいただけたかと思います。

村野 直樹(Naoki Murano)