【Tableau】度分秒の経度緯度の変換
こんにちは、Data Saberに挑戦中の者です。
今回は、交通事故統計情報のオープンデータ(警察庁)を使ってVizを作る中で、経度・緯度データの処理に手こずることがあったので、
どのように対処したかをご紹介します。
今回扱うデータについて
交通事故統計情報のオープンデータ(2021)の緯度・経度のデータは固定長の整数になっています。(緯度は9桁・経度10桁)
誤ったやり方
最初に、この座標データに少数点を挿入して使用できないか試しました。
このようなイメージです。
424857124 → 42.4857124度
この数式で作った列を、地理的役割の緯度・経度に設定して地図にマークすると、下のように格子状にマーカーが無いエリアができてしまいました。
正しく扱えていないようです。
正しく扱う方法
色々調べているうちに、今回のデータは10進法で書かれたものではなく、度・分・秒で表したデータだということがわかりました。(分と秒は60進法)
このようなイメージです。
× 424857124 → 42.4857124度
〇 424857124 → 42度48分57.124秒→42.8158677度
つまり、度・分・秒に分解して
度はそのまま
分を60で除算したもの
秒を3600で除算したもの
を足せば10進法表記の座標に正しく変換できることになります。
こちらを参考にこのような数式を作りました。
(今回は1つの数式で処理しましたが、事前に度・数・分の列に分割してから計算すると分かりやすいと思います。)
この数式で作った列を、地理的役割の緯度・経度に設定して地図にマークすることにより、正しくプロットすることができました。
最後に
今回ご紹介した数式は、そのままではこのデータ以外では使用できないと思いますが、
度/分/秒の変換の考え方を知っていれば、様々な緯度・経度表記に対応できると思います。
この記事が気に入ったらサポートをしてみませんか?