Alteryxではじめる空間分析-データ読み込み

Alteryx

Alteryxで行う空間分析について解説するシリーズです。

データ分析をする際は、まずデータの読み込みを行っていく必要があります。Alteryxで空間分析を行う際は、空間データ(空間オブジェクト)を持つファイル形式、緯度緯度経度情報を持つファイル、住所情報を持つファイル、もしくはデータベースからの入力が可能です。

今回はデータ読み込みの基礎について解説していきたいと思います。

空間データを持つファイルの読み込み

空間データを扱う際、あらかじめ空間データを持つファイルを読み込んで分析に入るのが一番簡単です。これらは専用の形式で提供されていて、だいたいはGISソフトウェアが発祥のものが多く、たいていそれぞれのGISソフトウェア同士で読み込めるようになっているケースが大半です。Alteryxでは、以下の形式を読み込むことができます。

  • ESRI Personal GeoDatabase(.mdb)(Read/Write)
  • ESRI Shapefile(.shp)(Read/Write)
  • GIS(.grc)(Read)
  • GIS(.grd)(Read)
  • Google Earth/Google Maps(.kml)(Read/Write)
  • MapInfo Professional Interchange Format(.mif)(Read/Write)
  • MapInfo Professional Table(.tab)(Read/Write)
  • Pitney Bowes Multi-Resolution Raster(.mrr)(Read)
  • Alteryx専用形式(.cydb、.yxdb、.sz、.geo)(Read/Write)

Shapeファイル

最も代表的なのは業界標準と知っても差し支えないShape形式(.shp)のファイルでしょうか。無償で公開されているファイルの多くは、Shape形式で公開されているケースがほとんどです。作られたのがかなり前の形式になるので、1ファイル最大2Gまでとか、属性情報の文字数も数文字しか格納できないなど制限が大きい形式です。ただし、これが読み込めないGISソフトウェアはほとんどないといっても過言では有りません(日本政府の提供するファイルもShapeです)。

Shapeファイルで一点気をつけるポイントは、文字コードがラテン決め打ちになっていることです。読み込み時に文字コードを指定できないため、文字コード変換を行う必要があります。以下はShift-JISで格納された文字列が正常に表示できていない状態です。

これには、ConvertFromCodePage関数を使って文字コード変換を行う必要があります。

投影法

Shapeファイルでは読み込み時に投影法を指定することができます。この投影法というのはGISソフトを使う上で若干厄介なものになっています。

例えばある座標が提供された時、その値はどこを基準としたものなのでしょうか?これを規定しているのが地図投影法と投影座標系です。

地図投影法は、球体の地球をどのように表現するか、ということを規定しています。投影座標系は、基準となるポイントを規定するものです。

これらの取り決めが投影法ですが。例えばGPSから得られている緯度経度はWGS84と呼ばれる規格になっています。日本ではJGD2000などが使われています(WGS84とJGD2000/2011はほぼ同等に扱うことができます)。この投影法を正しくセットしないと与えられた値が異なるポイントを示してしまいます。

Alteryxでは内部的にすべてWGS84に置き換えられて処理が行われます。また、投影法が利用できるファイル形式で投影法を指定しない場合はデフォルトでWGS84で読み込まれます。この場合は、適切な投影法を指定して読み込みを実施してください。

また、複数のファイルを一括で読み込むためにファイル名を「*」に置き換えて読むことがあると思いますが、必ず異なる投影法のファイルをまぜて読み込まないようにしてください。「*」を使う場合は最初に読み込んだ投影法がすべてのファイルに対して適用されます。

その他のファイル

様々な空間形式のファイルがあるため、軽く触れておきます。

MapInfoをお使いの方は、TABファイルが一般的かと思います。新しいバージョンではMRRファイル形式が導入されていますが、MRRファイルは内部的にバージョンが新しくなっていたりするので注意が必要です(また、プロプライエタリな形式でフォーマットが公開されていないようですので要注意です)。

KML形式は、Alteryxでネイティブサポートしていますが、色情報などは反映されないため注意が必要です。KMZ形式はKMLファイルがZIPで圧縮されたものになります。

読み込んだあとはどうなるか?

読み込みが完了すると、それぞれの地物の属性情報とともに読み込まれますが、緯度経度情報を持つ空間データは一般的に「SpatialObj」というフィールド名のカラムに格納されます。

※Google社のKMLサンプルファイルを開いた例

SpatialObjフィールド内には、緑色の文字で「Point」「Line」「Polygon」など空間オブジェクトのタイプが記載されて格納されます。これの中身を見たい場合は、閲覧ツールを使って地図上で確認することが可能です。

これは上のサンプルファイルの15レコード目を地図上で拡大したものです。

背景地図をつけると以下のようになります。

緯度経度情報/住所情報を持つファイルの場合

次に、空間オブジェクトを持つことのできないCSVファイルやExcelの場合はどうなるのでしょうか?これらは緯度経度を持っていればAlteryx Designer内で空間オブジェクトに変換することができます。とはいえ、たいていCSV/Excelファイルなどで扱うデータはポイントデータであることがほとんどでしょう。つまり、例えばビルの中心点などが緯度、経度というフィールドに格納されているケースがほとんどだと思います。複雑な形状のポリゴンのポイント情報を持つことはおそらく稀です(少なくとも私は見たことが有りません)。

緯度経度情報を持つファイルの場合

例えば、以下のようなCSVファイルがあるとします。

これをDesignerのデータ入力ツールで読み込み、ポイント作成ツールで緯度経度を指定すれば、空間オブジェクトに変換することができます。

このときに、投影座標系の指定も可能です(が、緯度経度の場合はほぼ間違いなく通常はWGS84なのでデフォルト設定で問題ありません)。

住所情報を持つファイルの場合

住所情報しか得られないケースもあるかと思います。この場合はジオコーディングを行う必要があります。ジオコーディングは一般的にはGoogle社やYahoo社が提供しているサービスもしくは、地図販売会社が提供しているサービスを使うのが一般的です。ジオコーディング機能を提供するためには膨大な地図データベースを持っておく必要があるため、オンプレミスで提供しているようなソフトウェアの場合は内部に持っていないケースがほとんどです。住所情報から緯度経度に変換するためには非常に莫大なデータが必要で、さらにそれを最新の状況にメンテナンスしておく必要があります。このため、地図提供会社もしくは、データベースを構築していて有料で提供している会社に限られます。しかしながら、Google社やYahoo社などが提供しているジオコーディングAPIは比較的廉価な費用で利用することができます(大量のデータでなければ無料の枠内に収まるかもしれません)。

Alteryx Designerでは、ダウンロードツールを使ってAPIにアクセスすることが可能です。通常このようなAPIはプログラミング言語から利用するケースがほとんどですが、Alteryxの場合はノーコードで利用することができます。

実際の利用方法は若干複雑になるため、ここでは割愛しますが、Alteryx CommunityにてAPIのアクセス用キーさえあれば使えるようなマクロも提供されています。

空間オブジェクトの種類について

空間オブジェクトについて、ここでそのタイプについて言及しておきたいと思います。基本的に空間オブジェクトは「ポイント」(点)、「ライン」(線)、「ポリゴン」(多角形)の三種類のタイプが存在します。さらにラインについては折れ線は「ポリライン」というものもありますが、基本的にはラインと考えてください。

それぞれの空間処理をする際には、ポイント・ライン・ポリゴンで扱いが若干異なるのでご注意ください。

さらに、複数のポイント/ライン/ポリゴンを1レコードに格納した「マルチポイント/マルチライン/マルチポリゴン」というものも存在します。

これらのマルチ空間オブジェクトは、ポリゴン分割ツールの「領域」に分割することで個別のポイント/ライン/ポリゴンに分割できます。

この種別は、結果ウィンドウ内で確認することができます。

なお、ラインとポリライン、マルチラインとマルチポリライン、ポリゴンとマルチポリゴンはタイプとして空間オブジェクトの名称的には区別がつかないのでご注意ください。なお、これらの情報を文字列として得るためには、空間情報ツールの「空間オブジェクト型」で確認することもできます。

まとめ

  • 空間オブジェクトを持つファイルの読み込みについて解説しました
  • Shapeファイル読み込みの注意点について解説しました
  • 投影法について解説しました
  • 緯度経度情報を持つファイルから空間オブジェクトを作成する方法を解説しました
  • 住所情報とジオコーディングについて解説しました
  • 空間オブジェクトのタイプについて解説しました

空間分析シリーズ次に読むポスト

コメント

タイトルとURLをコピーしました