[Alteryx][小ネタ]好きな地図を表示できる?閲覧ツールのマップレイヤを変えてみた

昨日、非公式な方法ではありますが「閲覧ツール」のマップレイヤーを変更できる方法があるという話を知ったので早速色々と試してみました!夢が広がります。
2019.04.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。DI部の大高です。

昨日、非公式な方法ではありますが「閲覧ツール」のマップレイヤーを変更できる方法があるという話を知ったので早速色々と試してみました!夢が広がります。

前提条件

Alteryx Designerは「Alteryx 非管理者 Designer / Version 2019.1.6.58192」で検証しています。

元ネタ

元ネタはAlteryxコミュニティーでの下記のディスカッションです。

Base MAP Change - Alteryx Community

これによると、既存のファイルをちょこっといじってあげるだけで地図が変更できそうです。また、内部では地図表示にオープンソースのMapServerを利用していることが分かりますね。

やってみた

早速やってみました!なお、非公式な方法なので、試す場合にはファイルのバックアップ作成などは入念に行ってください。

mapファイルを探す

フォーラムによると、*.mapファイルを書き換えるだけで良いとのことなのでファイルを探します。

管理者インストールか、非管理者インストールで場所が変わりますが、それぞれ以下のフォルダにmapファイルがあります。

管理者

C:\Program Files\Alteryx\bin\RuntimeData\MapServer

非管理者

C:\Users\[ユーザー名]\AppData\Local\Alteryx\bin\RuntimeData\MapServer

このフォルダの中に「CartoLight.map」や「CartoDark.map」があると思います。今回は「CartoLight.map」を変更してみたいので、バックアップとして元ファイルをコピーしてファイル名を「CartoLight.map.bak」としてバックアップを作成しておきます。

mapファイルを書き換える

では早速書き換えます。「CartoLight.map」を開くと、中身はMapServerのmapファイル形式であることが分かります。

レイヤの定義は123行目ぐらいから以下のように記載されています。

LAYER
  NAME "TileIndex_CloudMade"
  TYPE POLYGON
  STATUS off
  DATA "MaxZoom=18;(略)/MapTile?Request=GetTile&TileMatrixSet=_Base_CartoLightProxy&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}"
  CONNECTIONTYPE PLUGIN
  PLUGIN "AlteryxSpatialPluginsEngine.dll"
END

この記載から、地図データは地図タイルサービスからタイル画像を呼び出しているだけのようです。また、パラメータとしてそれぞれ{TileMatrix}にズームレベル、{TileRow}にy、{TileCol}にx、が与えられるようですね。

これを踏まえてOpenStreetMapのタイルサービスのアドレスに書き換えてみます。

LAYER
  NAME "TileIndex_CloudMade"
  TYPE POLYGON
  STATUS off
  DATA "MaxZoom=18;tile.openstreetmap.jp/{TileMatrix}/{TileCol}/{TileRow}.png"
  CONNECTIONTYPE PLUGIN
  PLUGIN "AlteryxSpatialPluginsEngine.dll"
END

いざ表示!

出ました!

(c) OpenStreetMap contributors

ちゃんとポリビルドツールで作成したポリゴン(中央ぐらいの赤いポリゴンです)も、それっぽい場所に出ています。なお、日本のタイルサーバーを利用しているためか、ズームを引きすぎるとエラーが発生するようです。

やり方が分かったので、他のタイルサービスも試してみました。いま巷で話題のMapbox を利用して色々なスタイルを試してみます。

streets streets

light light

dark dark

outdoors outdoors

satellite satellite

こちらも問題なく表示されました!

まとめ

以上、「閲覧ツール」のマップレイヤー変更でした。

実際に利用する際には、もちろん対象の地図タイル提供サーバの利用規約に従う必要がありますので、十分に注意して利用する必要があります。その点、Mapboxなどの有償サービスなどをうまく利用すれば良い感じに利用できそうだと感じました。

地図って楽しいですね!それでは!

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400