0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KMLファイルをTableauで描画してトレイルランニングのレースダッシュボードをつくる - Part2 データの紐づけと描画 -

Posted at

{E804FA43-5321-4524-A65C-5DBFEFDA0246}.png

この記事の趣旨

  • Tableau Data Saberの課題の一貫で、Viz投稿(ダッシュボード制作)を行う必要がありました
  • せっかくなら自身の関心のある分野で可視化をしようと考え、趣味のトレイルランニング(山を走るアウトドアスポーツ)のレースコースなどを描画するダッシュボードを作成しました
  • 今回含め全3回で、Tableauを用いてKMLファイル(地図データ)を描画する方法をご紹介していきます

前回の記事

この制作を通してやりたいこと

  1. レースコースを地図で描画したい
  2. 別で作成した距離や開催日などのレースデータと紐づけたい
  3. 選択するとそのコースのみが表示されるような、インタラクティブなダッシュボードにしたい
  4. コースの距離や高低図など、地図データからわかる詳細情報も載せたい

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タグの緯度経度情報

image.png

3-2.レース情報と紐づくようにKMLファイルのnameタグを書き換える

  • レース情報のテーブルにある「ファイル名」に記載された文字列と対応させられるように、nameタグを書き換えます
    image.png

3-3.レース情報とKMLファイルを紐づける

  • Tableauの「データソース」タブで、「ファイル名」カラムと「Name」カラムを対応させます。これで、レースデータとKMLファイルがユニークに紐付きます
    image.png
  • 紐づけ後が下記です
    • 紐づけきった段階で相当にTableauが重いですし、データの差し替えの手間が多いため、データ構造上・運用上の問題は多分にはらんでいます
    • 本来であれば色々な前処理をしたものを読み込む、という形が理想だと思います。今回は時間の関係上、このまま進めます
      image.png

4.レースコースを描画する

4-1.「ジオメトリ」をキャンバスにドラッグ&ドロップする

  • 各KMLファイルの「ジオメトリ」ディメンションを、キャンバスにドラッグ&ドロップします
    image.png

4-2.ズーム限度を設定する

  • 選択時に自動でズームされるように、各マークの▼を選択して、「ズーム限度に追加」をチェックします

4-3.ルートにレース名を表示する

  • ルートにレース名を表示するために、「大会名」ディメンションをラベルにドラッグ&ドロップします
  • 大会名がルートに表示されます
    {FA90CA3C-D184-48FB-8BFC-BF04AAEEAC80}.png

今回のまとめ

  • Tableauでレースコースを描画するために、KMLファイルとレース情報のテーブルを紐づけた
  • 紐づけのために、KMLファイル内のnameタグを編集し、レース情報テーブルの「ファイル名」カラムと一致させた
  • 地図の描画は、各KMLファイルの「ジオメトリ」ディメンションをキャンバスにドラッグ&ドロップすると簡単にできる

次回の取り組み

5.レース情報のテーブルとリンクさせる
6.大会公式Webページを表示する
7.残課題の整理

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?