地域メッシュコードの仕組みと計算
日本全国を緯度経度で区切る地域メッシュ。1次・2次・3次の大きさと、緯度経度からコードを求める計算を、例とともに説明します。
目次
- 地域メッシュは、緯度経度で全国を格子に区切り、番号を付けたものです。
- 1次は約80km、2次は約10km、3次は約1km の四方です。
- コードは、緯度経度から整数の計算だけで求められます。
地域メッシュは、日本全国を、緯度と経度の線で格子に区切り、一つ一つに番号を付けたものです。国の統計や防災の分析で、位置を一つのコードにそろえるために使われています。
3つの段
総務省統計局の説明では、次のとおりです。
| 区画 | 緯度の幅 | 経度の幅 | 1辺の目安 | コード |
|---|---|---|---|---|
| 第1次 | 40分 | 1度 | 約80km | 4桁 |
| 第2次 | 5分 | 7分30秒 | 約10km | 6桁 |
| 第3次(基準地域メッシュ) | 30秒 | 45秒 | 約1km | 8桁 |
- 第1次4桁 · 約80km
- 第2次6桁 · 約10km · 第1次を8×8に分割
- 第3次8桁 · 約1km · 第2次を10×10に分割
第1次を縦横に8等分したものが第2次、第2次を縦横に10等分したものが第3次です。
コードの求め方
緯度を lat、経度を lon とします。
第1次 p = floor(lat × 1.5) u = floor(lon − 100)
コード = p × 100 + u (4桁)
第2次 q = floor((lat × 1.5 − p) × 8)
v = floor(((lon − 100) − u) × 8)
コード = 第1次 × 100 + q × 10 + v (6桁)
第3次 r = floor(((lat × 1.5 − p) × 8 − q) × 10)
w = floor((((lon − 100) − u) × 8 − v) × 10)
コード = 第2次 × 100 + r × 10 + w (8桁)
東京駅付近(緯度 35.68、経度 139.77)を例にします。
lat × 1.5 = 53.52→p = 53lon − 100 = 39.77→u = 39- 第1次コード:
5339 (53.52 − 53) × 8 = 4.16→q = 4、(39.77 − 39) × 8 = 6.16→v = 6- 第2次コード:
533946 (4.16 − 4) × 10 = 1.6→r = 1、(6.16 − 6) × 10 = 1.6→w = 1- 第3次コード:
53394611
使いどころ
- 位置を、緯度経度ではなく、一つのコードで扱う。
- 統計の格子(人口・事業所など)と、住所の位置を結びつける。
- 位置の概略を、細かい座標を持たずに共有する。
注意
- メッシュは位置の区切りで、行政区画とは一致しません。
- 元の座標が粗いとき(町字の重心など)は、メッシュも概略になります。
- 計算は、切り捨て(floor)で行います。小数の誤差で境界の近くの結果が変わることがあるため、境界付近の点は、公的なツールでも確かめてください。
Kiten の Playground のデモで、住所から3次メッシュを確認できます(デモであり、実際の API の応答ではありません)。詳しくは 地域メッシュ(ドキュメント) を参照してください。
例の計算は、式をプログラムで実行して確かめました。公的なツールの結果との照合は、公開前に行います。
内容に誤りや不足があれば、お知らせください。