[Alteryx]空間プロセスツールを利用して空間処理をしてみた
はじめに
こんにちは。DI部の大高です。
Alteryxの「空間」カテゴリのツールを触っています。今回は「空間プロセスツール」を利用して空間処理をしてみました。
前提条件
Alteryx Designerは「Alteryx 非管理者 Designer / Version 2019.1.4.57073」で検証しています。
空間プロセスツールについて
「空間プロセスツール」を利用すると空間オブジェクトに対して様々な空間処理をすることができます。
「空間プロセスツール」のヘルプページはこちらです。
ワークフローの説明
「テキスト入力ツール」でサンプルの緯度と経度を入力し、「ポイント作成ツール」で空間オブジェクト(ポイント)に変換します。その後、「ポリビルドツール」でポリゴンに変換しています。
ポリゴンの作成については以前に「ポリビルドツール」を試した際と同様となります。
[Alteryx]ポリビルドツールを利用してポリゴンを作成してみた | DevelopersIO
次に、空間プロセスツールで空間オブジェクト用のフィールドを2つ利用したかったので、少し無理やり「フィルタツール」と「複数ジョイン」ツールを利用して自己結合のようにして、複数フィールド化しています。
ただ、やりたかったことは単純に「2レコード1カラムの空間オブジェクト」を「1レコード2カラムの空間オブジェクト」にしたかっただけとなります。
その後、最終的な出力として以下の4パターンを出力しました。
- 作成したポリゴンをそのまま「閲覧ツール」で表示
- 「空間プロセスツール」で「オブジェクトを結合」して「閲覧ツール」で表示
- 「空間プロセスツール」で「第二から第一をカット」して「閲覧ツール」で表示
- 「空間プロセスツール」で「第一から第二をカット」して「閲覧ツール」で表示
- 「空間プロセスツール」で「交差オブジェクトを作成」して「閲覧ツール」で表示
- 「空間プロセスツール」で「逆交差オブジェクトを作成」して「閲覧ツール」で表示
「テキスト入力ツール」(座標データ)の設定
「テキスト入力ツール」では、以下のようなサンプル座標を設定しています。
Iwamoto
は多角形のポリゴン、Other
が三角形のポリゴンとなっています。
「ポイント作成ツール」の設定
「ポイント作成ツール」の設定は以下の通りです。
こちらは以前の設定と全く同じです。
「ポリビルドツール」の設定
「ポリビルドツール」の設定は以下の通りです。
こちらも以前の設定と同じです。
「フィルタツール」の設定
「フィルタツール」では、以下のように基本フィルタを設定しています。
Group
カラムがIwamoto
と等しいかどうかでフィルタを設定しています。これにより出力T
にIwamoto
のポリゴンを、F
にOther
のポリゴンを出力させています。
「複数ジョインツール」の設定
「複数ジョインツール」では、レコードポジションで結合をさせています。なお前述の通りどちらの入力も1レコードのみとなります。
このジョインによって、Input_#1
(Iwamoto)とInput_#2
(Other)を同一レコードに別カラムとして出力させています。
これで下準備は終わりです。
「空間プロセスツール」の設定
「空間プロセスツール」の設定は以下の通りです。
第一空間フィールド
ここには処理をしたい空間オブジェクトの1つ目を指定します。今回は複数ジョインツールから出力されたSpatialObj_Built_#1
(Iwamoto)を設定しています。
第二空間フィールド
ここには処理をしたい空間オブジェクトの2つ目を指定します。今回は複数ジョインツールから出力されたSpatialObj_Built_#2
(Other)を設定しています。
アクション
空間オブジェクトをどう処理するかの設定です。今回はこちらを全部試してみました。
なお、今回は「ポリゴン」と「ポリゴン」の処理だけを試していますが、組合せとしては「ポイント」や「ポリライン」を指定したパターンもあります。各組合せで処理を行った場合の結果については、以下のヘルプページに記載されています。
空のオブジェクトを出力しない
出力データに空のオブジェクトを出力するかどうかの設定です。今回はデフォルトの無効のままにしています。
「選択ツール」の設定
「空間プロセスツール」の出力には、入力の空間オブジェクトも含まれるので「選択ツール」で以下のように設定し処理結果のSpatialObj_Process
のみを選択しています。
これで地図表示時には処理結果の空間オブジェクトのみ表示されるようになりました。
実行結果
このワークフローを実行すると、それぞれ以下のようになります。
1. 作成したポリゴンをそのまま「閲覧ツール」で表示
「ポリビルドツール」で作成したポリゴンを「閲覧ツール」で表示すると、以下のようになっています。
SpatialObj_Built_#1
(Iwamoto)とSpatialObj_Built_#2
(Other)が重なって表示されていることが分かります。また、レコードとしては1レコード化されています。
2. 「空間プロセスツール」で「オブジェクトを結合」して「閲覧ツール」で表示
次に「空間プロセスツール」で「オブジェクトを結合」をするように指定したパターンです。
ポリゴンが結合されているのが分かります。またレコードとしてはSpatialObj_Process
カラムを持つ1レコードとなっています。
3. 「空間プロセスツール」で「第二から第一をカット」して「閲覧ツール」で表示
次に「空間プロセスツール」で「第二から第一をカット」するように指定したパターンです。
SpatialObj_Built_#2
(Other)からSpatialObj_Built_#1
(Iwamoto)をカットしたので三角形の先端を切り取ったような形状になっています。
4. 「空間プロセスツール」で「第一から第二をカット」して「閲覧ツール」で表示
次に「空間プロセスツール」で「第一から第二をカット」するように指定したパターンです。
今度は逆にSpatialObj_Built_#1
(Iwamoto)からSpatialObj_Built_#2
(Other)をカットしたので多角形ポリゴンから三角形で切り取ったような形状になっています。
5. 「空間プロセスツール」で「交差オブジェクトを作成」して「閲覧ツール」で表示
次に「空間プロセスツール」で「交差オブジェクトを作成」するように指定したパターンです。
交差オブジェクトなので、SpatialObj_Built_#1
(Iwamoto)とSpatialObj_Built_#2
(Other)が重なっていた部分が表示されています。丁度三角形の先端部分の箇所になります。
6. 「空間プロセスツール」で「逆交差オブジェクトを作成」して「閲覧ツール」で表示
最後に「空間プロセスツール」で「逆交差オブジェクトを作成」するように指定したパターンです。
逆交差オブジェクトなので、SpatialObj_Built_#1
(Iwamoto)とSpatialObj_Built_#2
(Other)が重ならない部分がすべて表示されています。
まとめ
以上、「空間プロセスツール」を利用した空間処理のご紹介でした。
どなたかのお役に立てば幸いです。それでは!
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。