【読了時間:5分】
地理院地図やGoogle mapで用いられているタイルマップ。
今回はPython言語を用いて、タイル座標からタイル北西端の緯度経度を取得するプログラムおよび緯度経度からタイル座標を取得するプラグラムを作成します。
(参考URL:http://standardization.at.webry.info/201401/article_1.html)
・タイル座標からタイル北西端の緯度経度を出すコード
ex)
x = 116409 # x座標
y = 51620 # y座標
z = 17 # ズームレベル
# -*- coding:utf-8 -*- from math import pi from math import e from math import atan def tile2latlon(x, y, z): lon = (x / 2.0**z) * 360 - 180 # 経度(東経) mapy = (y / 2.0**z) * 2 * pi - pi lat = 2 * atan(e ** (- mapy)) * 180 / pi - 90 # 緯度(北緯) print [lon,lat]
・緯度経度からタイル座標を出すコード
ex)
x = 139.727808 # 経度(東経)
y = 35.664927 # 緯度(北緯)
z = 17 # ズームレベル
# -*- coding:utf-8 -*- from math import log from math import tan from math import pi def latlon2tile(lon, lat, z): x = int((lon / 180 + 1) * 2**z / 2) # x座標 y = int(((-log(tan((45 + lat / 2) * pi / 180)) + pi) * 2**z / (2 * pi))) # y座標 print [y,x]
【執筆:桜町律】