Alteryxツールアイコン「一般化ツール」(Generalize Tool)をご紹介します
一般化ツール (Generalize Tool)
[空間]カテゴリの[一般化]ツールについて紹介します。概要
このツールは、空間オブジェクトのポリゴンまたはポリラインのノード数を削減し、リソースを節約するためのツールです。
例えば、精密に作られたポリゴンの地図を利用する際、引いて(地図を縮小して)利用する際には細かい部分は精度を落としても問題ないかと思いますが、そのような際にデータ量を減らして扱いやすくする際に利用できます。
設定項目
設定項目 | 内容 |
---|---|
空間フィールド | 一般化するフィールドを指定します |
出力に含める | チェックを入れると、一般化する前のフィールドを出力します(デフォルトでは含まれません) |
しきい値 | Ramer-Douglas-Peuckerアルゴリズムで使用する「しきい値」を指定します
デフォルト:0.1(単位は、「単位」で指定した単位になります) |
単位 | 「しきい値」で使用する単位を指定します。キロメートルとマイルから指定できます。 |
レイヤー全体の整合性を保持 | デフォルトではチェックが入っています。オブジェクト間のギャップやオーバーラップが発生しないようにします、とのことなので、チェックをつけておいたほうが無難かと思います。 |
サンプル
しきい値の設定を変更して一般化
国土交通省の国土数値情報ダウロードサービスからダウンロードした東京都のポリゴンのうち、港区を抜き出してしきい値を変更しながら一般化前後で比較してみたいと思います。
しきい値0.01kmだとほとんど差がわかりません。しきい値0.1kmだと細かい部分に差が出てますが、いい具合に省略化できている気がします。しきい値1kmだとさすがに荒い感じがします。
しきい値設定値 | データサイズ(削減度) | ノード数(削減度) |
---|---|---|
オリジナル | 15.4KBytes | 960 |
0.01km | 2.9KBytes(81%) | 176(82%) |
0.1km | 935Bytes(94%) | 51(95%) |
1km | 215Bytes(99%) | 6(99%) |
※データサイズは、Alteryxワークフロー実行時に表示される値を使用
しきい値0.01kmだとほぼオリジナルと遜色ない感じですが、削減効果はかなりあるかと思います。
東京都全体を一般化(離島除く)
国土交通省の国土数値情報ダウロードサービスからダウンロードした東京都のポリゴンを一般化前後で比較してみましょう。まずは、以下のようなワークフローを作成しました。
しきい値を0.1キロメートルにした時の結果は以下の通り。
比較項目 | オリジナル | 一般化後 | 削減度 |
---|---|---|---|
データサイズ | 1.2MBytes | 60.9KBytes | 99.995% |
ノード数 | 78431 | 3106 | 96% |
※データサイズは、Alteryxワークフロー実行時に表示される値を使用
実際の画像を比較してみましょう。左右に使用前・後の画像を掲載してみました。
正直なところ、引いて見ると基本的に違和感なく軽量化されていると思います。しかし、これでは細部がわからないので、お台場周辺を拡大してみたいと思います。
さすがに、ここまで寄ると元のポリゴンに比べると細部が省略されていることがわかるかと思います。ちなみに、このズレ自体はしきい値で指定した値以下になっているはずです(アルゴリズム的にそのようになっています)。
サンプル的にいくつか作りましたが、データ量の削減度合いと地図の精度、あと実際の使い方(どのくらいの縮尺で見るか)とのバランスを見ながらしきい値を設定する必要があるかと思います。しきい値0.1kmでも削減効果が大きいので、引きで使うならデフォルト値で十分かと思います。寄る(拡大する)と厳しいので、その際は0.01km程度欲しい気もします。
※Alteryx Designer Ver 2019.1.4.57073時点の情報です