Alteryxで扱える空間ファイル形式のベンチマーク結果を紹介します
Alteryxでは空間ファイルについても非常にたくさんの形式のファイルを扱うことができますが、テンポラリ的にデータを保存したりする際に、どの形式が良いのか、速度面・容量面についてベンチマークを行ってみました。
※厳密なベンチマークを行っているわけではないので、目安としてご活用ください(すみません、試行回数は1回です。一応何度かやっていて大きく値が変わらないことは確認しています)
今回テストしたファイル形式
- Alteryx Database形式(YXDB)
- Alteryx Spatial Zip(SZ)
- ESRI ShapeFile形式(SHP)
- ESRI Personal Geo Database形式(MDB)
- MapInfo Professional Table形式(TAB)
- MapInfo Professional Interchange Format形式(MIF)
- Google Earth/Maps形式(KML)
- Geography Markup Language形式(GML) ※書き込みのみ
- SRC Geography形式(GEO)
- SQLite形式(SQLITE)
※GML、SZ形式は日本語パスに未対応(Designer 2019.1.6.58192時点)
環境
CPU | Core i7-6700 |
---|---|
メモリ | 16GB |
ストレージ | HDD 500GB |
OS | Windows7(64bit) |
※DesktopPCです
ベンチマーク用ワークフロー
国土地理院からダウンロードできる「地球地図日本」の「行政界」のデータを使用しました。ダウンロード元はこちら 。
時間の計測は、Alteryxを実行した際の「XX秒」をそのまま用いているので、読み込みの時間、WFの内部処理時間も込みで計測しています。
いくつかファイルが同梱されていますが「polbnda_jpn.shp」を採用しています。ただ、ファイルサイズが4.3Mと容量的に小さすぎたため「行生成」ツールを使って10倍にしています。これでAlteryxのワークフロー上の表示で43.9Mとなります。これをローカルに保存するようなワークフローで検証しました。
ちなみに、読み込みは、データ入力アイコンのみをワークフロー上においてWF実行時の時間を記録しています。
ベンチマーク結果
以下結果です。まずは、表形式です。
ぱっと見でわからないので、それぞれグラフ化して見ていきましょう。
読み込み
※GML形式は読み込みに対応していません
読み込みは、YXDB(Alteryx形式)、SQLITE(SQLite形式)、SHP(ESRI Shapefile形式)、MDB(ESRI Personal Geo Database)形式が早いです。MapInfo系のファイルも遅くはありません。一方、Google Earth形式(KML)圧倒的に遅いです。
書き込み
書き込みは、YXDB(Alteryx形式)、SHP(ESRI Shapefile形式)、SQLITE(SQLite形式)、GEO(SRC Geography形式)が早いです。その他TAB(Mapinfo Professional Table形式)も早いです。その他の形式は若干遅く、特にKML(Google Earth/Maps形式)、GML(Gerography Markup Language)はかなり遅いです。
色でファイルサイズを表現していますが、ファイルサイズにある程度依存している傾向があるかと思います。
ファイルサイズ
ファイルサイズは、SZ、YXDB(Alteryx)が軽量です。一方、GML(Geography Markup Language形式)、KML(Google Earth/Maps形式)はXMLベースのためか重量級となっています。
ちなみに、MDB(ESRI Personal Geo Database形式)はMicrosoft Accessベースのためテーブルを書き換えるとサイズが大きくなるので要注意です。
Alteryx形式比で見てみましょう
読み込み、書き込み、ファイルサイズもバランスが取れて結果の良いAlteryx Database形式(YXDB)を基準とした時の倍率で見ていきたいと思います。
読み込み(YXDB比)
YXDBに対して、KML形式は約57倍も遅いです。
書き込み(YXDB比)
YXDB、SHP形式はほぼ変わらないくらい早いです(誤算の範囲内なのでほぼ互角と考えた方が良いと思います)。
KML形式やGML形式などのXMLベースの形式はかなり遅いです。KMLの場合はGoogle Earthで使いたいならこれしかありませんからあきらめるしかないでしょう・・・。
ファイルサイズ(YXDB比)
ファイルサイズは、SZ形式(Alteryx Spatial Zip)が優秀なのですが、古いファイルタイプとのことであまり利用は推奨されていないとのことです(Communityに記載あり)。MIFも中身はテキストファイルでファイルサイズは大きめです。また、MDBも元々ファイルサイズが大きい形式です。GML、KMLなどXMLベースのファイル形式はファイルサイズが肥大化する傾向にあります。
まとめ
まとめとして、書き込み速度順に並べたグラフを掲載します。
- Alteryxのみで完結する場合はAlteryx Database(YXDB)がやはり高速で容量も節約可能です(他で使い回しが効かないのが欠点)
- SQLite(SQLITE)もYXDBとそれほど遜色ないですが、ファイルサイズが大きめです。YXDBよりは使い回しが効くと思います(GISソフトなどで対応しているものがあるため)。
- ESRI Shapefile(SHP)は読み込みも書き込みも早く、ファイル容量に目をつぶれば業界標準フォーマットといっても差し支えないほどGISソフトではほぼ必ず読み込み可能ですので、汎用性も高く非常に良いフォーマットかと思います。ただし、ファイルサイズは2Gまでという制限があるので要注意。
- Google Earth/Maps(KML)はGISのような複雑なソフトではないGoogle Earthで読めるのが非常に大きいです。ただし、遅いのが玉に瑕。見るだけの人が欲しがる形式なので、速度面考えると悩ましいです。
他のソフトでの使い回しが効くかどうか、Alteryxで再利用するか、など考慮して使い分けるのが良いかと思いますが、Shapefileであればほぼ間違いないと思います。
おまけ(用語解説的)
空間ファイルやGISソフト周りは若干専門的な部分があるので、用語についていくつか解説します。
- GIS ・・・ 「Geographic Information System」の略で日本語では「地理情報システム」と呼ぶ。地理情報をコンピュータ上で活用(表示、管理、検索等)するためのシステム。たいてい使い方が難しい
- ESRI ・・・「AcrGIS」というGISソフトを開発している会社
- MapInfo ・・・PitneyBowes(ピツニーボウズ)社の開発したGISソフト(元々はMapInfo社が開発しましたが買収されています)
- Shapefile ・・・ESRI社の開発したGISソフト間で標準的にデータ交換をするための形式。広く使われています(ほぼデファクトスタンダードです)
- TAB ・・・ MapInfo Professional Table形式のファイルの拡張子で、MapInfo独自形式。読み込みや書き込みに対応しているソフトでもたまにうまく扱えなかったりという事象によくあたります(MapInfoで作ったものをMapInfoで読む時は大丈夫)。MapInfo向けにはSHPかMIFで取り込む方が間違いないです。
- Google Earth ・・・ Google社の開発した航空写真ビューワー。無料なので個人ユーザーをはじめ広く使われています。GISは使い方が難しい中、これは非常に簡単なのでよくビューワーとして用いられます。無料の本格的なGISであればQGISが最近広まっています。
※Alteryx Designer 2019.1.6.58192時点の情報です