[Alteryx]バッファツールを利用してポリゴンをバッファリングしてみた
はじめに
こんにちは。DI部の大高です。
Alteryxの「空間」カテゴリのツールを触っています。今回は「バッファツール」を利用してポリゴンをバッファリングしてみました。
前提条件
Alteryx Designerは「Alteryx 非管理者 Designer / Version 2019.1.4.57073」で検証しています。
バッファツールについて
「バッファツール」を利用すると指定された空間オブジェクトに対してバッファリングをすることができます。
「バッファツール」のヘルプページはこちらです。
ワークフローの説明
「テキスト入力ツール」でサンプルの緯度と経度を入力し、「ポイント作成ツール」で空間オブジェクト(ポイント)に変換します。その後、「ポリビルドツール」でポリゴンに変換しています。
ポリゴンの作成については以前に「ポリビルドツール」を試した際と同様となります。
[Alteryx]ポリビルドツールを利用してポリゴンを作成してみた | DevelopersIO
元データの空間オブジェクトとしては、ここまでで良いのですが今回は「バッファツール」に動的に値を与えたかったので、更に別の「テキスト入力ツール」でバッファデータを用意し、「ジョインツール」でジョインしています。
その後、最終的な出力として以下の4パターンを出力しました。
- 作成したポリゴンをそのまま「閲覧ツール」で表示
- 「バッファツール」で「特定の値」でバッファリングをして「閲覧ツール」で表示(一般化なし)
- 「バッファツール」で「特定の値」でバッファリングをして「閲覧ツール」で表示(一般化あり)
- 「バッファツール」で「フィールドから」の動的な値でバッファリングをして「閲覧ツール」で表示(一般化あり)
「テキスト入力ツール」(座標データ)の設定
「テキスト入力ツール」では、以下のようなサンプル座標を設定しています。
Iwamoto
が穴空きポリゴン、Hashimoto
が単純なポリゴンとなっています。
「ポイント作成ツール」の設定
「ポイント作成ツール」の設定は以下の通りです。
こちらは前回の設定と全く同じです。
「ポリビルドツール」の設定
「ポリビルドツール」の設定は以下の通りです。
こちらも前回の設定と同じです。
「テキスト入力ツール」(バッファデータ)の設定
こちらの「テキスト入力ツール」では、以下のようなバッファデータを設定しています。
Group
カラムに座標サンプルデータと同じ値を、Buffer
に動的に与えたいバッファ値を設定しています。
「ジョインツール」の設定
今回は「ジョインツール」について詳細は記載しませんが、以下のようにGroup
で入力データをジョインして、「ポリビルドツール」の出力にBuffer
カラムを追加しています。
「バッファツール」の設定
「バッファツール」の設定は以下の通りです。
空間フィールド
ここにはバッファリングをしたい空間オブジェクトを指定します。今回はポリビルドツールから出力されたSpatialObj_Built
を設定しています。
出力に含める
入力データの空間オブジェクトを出力に含めるかどうかです。今回は不要なので無効にします。
1%のバッファサイズに一般化する
バッファリングをするとオブジェクトのノード数が増えますが、このノードを削減するかどうかのオプションです。有効にするとノードが削減されるので速度が向上します。
今回はON/OFFの両パターンを試してみました。
バッファサイズ:特定の値
バッファサイズを指定値で設定します。なお値は正の値も、負の値も設定することができます。今回は1メートル(0.001キロメートル)を指定してみました。
バッファサイズ:フィールドから
バッファサイズを入力データの指定フィールドから設定します。今回はこちらも試してみます。
バッファサイズ:単位
バッファサイズの単位です。「キロメートル」か「マイル」を選択することができます。
実行結果
このワークフローを実行すると、それぞれ以下のようになります。
1. 作成したポリゴンをそのまま「閲覧ツール」で表示
「ポリビルドツール」で作成したポリゴンを「閲覧ツール」で表示すると、以下のようになっています。
このデータをベースとして「バッファツール」でバッファリングすることになります。
2. 「バッファツール」で「特定の値」でバッファリングをして「閲覧ツール」で表示(一般化なし)
次に「バッファツール」で「特定の値」でバッファリングをするように指定したパターンです。
ポリゴンがバッファリングされて、ふっくらした感じになりました。また、穴空きポリゴンの場合は穴が小さくなっているのが分かります。
3. 「バッファツール」で「特定の値」でバッファリングをして「閲覧ツール」で表示(一般化あり)
次に「グリッド作成ツール」で「各オブジェクトのグリッドを生成する」を指定したパターンです。
今回は単純なポリゴンなので、こちらは一般化を指定しなかった場合とは有意な差は見られませんでした。「1%のバッファサイズに一般化する」という設定なので、バッファリングした結果としてより多くのノードが発生するケースでは影響が出てくると考えられます。
4. 「バッファツール」で「フィールドから」の動的な値でバッファリングをして「閲覧ツール」で表示(一般化あり)
最後に「グリッド作成ツール」で「各オブジェクトのグリッドを生成する」を指定し、更に「ポリゴンにクリップする」を有効にしたパターンです。
動的にバッファサイズを指定しており、Hashimoto
(左側のポリゴン)には0.005
(5メートル)を、Iwamoto
(右側の穴空きポリゴン)には-0.001
(-1メートル)を設定したものになります。
Hashimoto
はよりふっくらした感じになっており、Iwamoto
は負の値を指定したので小さくなって角の丸みも付いていません。また、穴空きポリゴンの穴は逆に大きくなっていますね。
まとめ
以上、「バッファツール」を利用したポリゴンのバッファリングのご紹介でした。
どなたかのお役に立てば幸いです。それでは!
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。