この記事の趣旨
- Tableau Data Saberの課題の一貫で、Viz投稿(ダッシュボード制作)を行う必要がありました
- せっかくなら自身の関心のある分野で可視化をしようと考え、趣味のトレイルランニング(山を走るアウトドアスポーツ)のレースコースなどを描画するダッシュボードを作成しました
- 今回含め全3回で、Tableauを用いてKMLファイル(地図データ)を描画する方法をご紹介していきます
前回の記事
この制作を通してやりたいこと
- レースコースを地図で描画したい
- 別で作成した距離や開催日などのレースデータと紐づけたい
- 選択するとそのコースのみが表示されるような、インタラクティブなダッシュボードにしたい
- コースの距離や高低図など、地図データからわかる詳細情報も載せたい
3.レース情報とKMLファイルを紐づける
3-1.KMLファイルをTableauに取り込む
- 実際のKMLファイルの中身はこのような形式になっています
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Name>0913_shinetsuGogaku_100k</Name>
<Style id="L1">
<LineStyle>
<color>ff0000ff</color>
<width>3</width>
</LineStyle>
</Style>
<Placemark>
<name>信越五岳トレイルラン2024【110km】</name>
<styleUrl>#L1</styleUrl>
<LineString>
<altitudeMode></altitudeMode>
<coordinates>
138.284091,36.850918,917.42
138.284091,36.850918,917.42
138.284091,36.850918,917.42
138.284095,36.850919,917.42
<!-- 経度, 緯度, 標高 と情報が続く -->
138.093851,36.754815,1269.48
138.093836,36.754808,1269.46
138.093822,36.7548,1269.42
138.09381,36.75479,1269.41
138.093798,36.754777,1269.41
</coordinates>
</LineString>
</Placemark>
</Document>
</kml>
- KMLファイルをTableauに読み込ませると、下記のようなテーブルになります
カラム名 | 内容 |
---|---|
Description | 不明な情報 |
Name | Placemarkタグ内の、nameタグに記載された文字列 |
ジオメトリ | coordinatesタグの緯度経度情報 |
3-2.レース情報と紐づくようにKMLファイルのnameタグを書き換える
3-3.レース情報とKMLファイルを紐づける
4.レースコースを描画する
4-1.「ジオメトリ」をキャンバスにドラッグ&ドロップする
4-2.ズーム限度を設定する
- 選択時に自動でズームされるように、各マークの▼を選択して、「ズーム限度に追加」をチェックします
4-3.ルートにレース名を表示する
今回のまとめ
- Tableauでレースコースを描画するために、KMLファイルとレース情報のテーブルを紐づけた
- 紐づけのために、KMLファイル内のnameタグを編集し、レース情報テーブルの「ファイル名」カラムと一致させた
- 地図の描画は、各KMLファイルの「ジオメトリ」ディメンションをキャンバスにドラッグ&ドロップすると簡単にできる
次回の取り組み
5.レース情報のテーブルとリンクさせる
6.大会公式Webページを表示する
7.残課題の整理