メッシュコード(8桁)から緯度経度を取得してTableauのMAPにする方法
はじめに
8桁の数値で地球上の約1㎞四方のエリアを表現する第3次メッシュコード。このコードを基に緯度経度を算出してTableauのMAPとして表現する手順です
そもそもメッシュコードとは
地域メッシュ(ちいきメッシュ)とは、統計に利用するために、緯度・経度に基づいて地域をほぼ同じ大きさの網の目(メッシュ)に分けたものである。メッシュを識別するためのコードを地域メッシュコードと言う。
標準地域メッシュでは第1次メッシュから第3次メッシュまでが定められている
第1次メッシュ(一次メッシュ、正式名称は第1次地域区画) 1辺の長さは約80km
第2次メッシュ(二次メッシュ、正式名称は第2次地域区画) 1辺の長さは約10kmで
第3次メッシュ(三次メッシュ、正式名称は基準地域メッシュないし第3次地域区画) 1辺の長さは約1kmである
Wikipediaより抜粋
ざっくりと言うと「緯度経度が緯度と経度の交点で地球上の特定の点を表現するのに対して、地域メッシュは区切られた面(エリア)を8桁の数字で表すもの」となります。
地域メッシュは国境や市町村といった人工的な境界ではなく、緯度経度から算出した地域で、植物や動物の分布、気温や降水量といった自然現象や地域における滞在人数の把握が可能、都市計画や地域開発,防災・環境計画,公害対策等の企画・立案のほか、市場・商圏分析、学術研究等、官民を問わず広範な分野で利用されています。
下記の説明が分かりやすかったです
TableauのMAPにする方法
計算の詳細については後日加筆予定ですが、緯度経度は下記の手順で算出可能です
準備するデータ
メッシュコード(8桁)が含まれたデータ
緯度と経度算出用に2つ計算式を作成します
計算式1(緯度計算用 仮にcal_lat)
//緯度計算
//1次メッシュ
(int(mid(STR([メッシュコード]),1,2))*2/3)
+
//2次メッシュ
(int(mid(STR([メッシュコード]),5,1))*2/3/8)
+
//3次メッシュ
(int(mid(STR([メッシュコード]),7,1))*2/3/8/10)
計算式2(経度計算用 仮にcal_long)
//緯度計算
//1次メッシュ
(int(mid(STR([メッシュコード]),3,2))+100)
+
//2次メッシュ
(int(mid(STR([メッシュコード]),6,1))/8)
+
//3次メッシュ
(int(mid(STR([メッシュコード]),8,1))/8/10)
作成した計算式はそれぞれ地理的役割→緯度or経度を割り当てます
計算式1/計算式2をそれぞれ列と行に入れて平均に、メッシュコードを詳細に入れれば地図上に地域メッシュを配置できます。後は適当に色を付けたり形状を変えてMAPを完成させます。
まとめ
厳密に言うと今回算出した緯度経度はメッシュの中心ではなく角の座標なので若干ずれるため改良の余地はあります。あと日本は北半球かつ東半球なので今回の計算が使えますが、場所によって計算方法を変える必要があるのか?を調べきれていないので、海外のメッシュコードでも同様にTableauで表現できるかはいずれ検証してみたいと思っています。
最後までお読みいただきありがとうございます。
この記事が気に入ったらサポートをしてみませんか?