--Je souhaite agréger les informations de latitude et de longitude en unités divisées en maillages.
Sur la base des informations contenues dans le site http://www.trail-note.net/tech/coordinate/ de TRAIL NOTE, j'ai essayé d'en faire une fonction qui convertit les coordonnées de latitude / longitude et du monde avec python.
Je viens de copier le contenu de ↑.
from math import pi
from math import tanh
from math import sin
from math import asin
from numpy import arctanh
# refer from http://www.trail-note.net/tech/coordinate/
def tile2latlon(x, y, z):
L = 85.05112878
lon = ((x / 2.0**(z+7) )-1) * 180
lat = 180/pi * (asin(tanh(-pi/2**(z+7)*y + arctanh(sin(pi/180*L)))))
return [lat, lon]
def latlon2tile2(lat, lon, z):
L = 85.05112878
x = int((lon/180 + 1) * 2**(z+7))
y = int( (2**(z+7) / pi * ( -arctanh(sin(pi*lat/180)) + arctanh(sin(pi*L/180)) ) ))
return [x,y]
Entrez une latitude et une longitude connues et vérifiez-les sur Cartes de l'Institut national de recherche foncière.
#simbashi
lat = 35.666280
lon = 139.758375
# lat = 30.335927
# lon = 130.504283
pix = 256
# lat/lon to tile
for z in range(15,19):
a,b = latlon2tile2(lat,lon,z)
print [a,b]
print 'http://cyberjapandata.gsi.go.jp/xyz/std/{0}/{1:d}/{2:d}.png'.format(z,a/pix,b/pix)
a,b = tile2latlon(a,b,z)
print [a,b]
Une fois exécuté, il sera affiché comme ceci, de sorte qu'il correspond à la lat / long d'origine, et la précision augmente à mesure que le niveau de zoom augmente. J'ai confirmé l'emplacement sur la carte réelle. (La carte de l'Institut national de recherche foncière est jusqu'au niveau de zoom 18)
[7450910, 3303678]
http://cyberjapandata.gsi.go.jp/xyz/std/15/29105/12904.png
[35.66629207402928, 139.75836753845215]
[14901820, 6607356]
http://cyberjapandata.gsi.go.jp/xyz/std/16/58210/25809.png
[35.66629207402928, 139.75836753845215]
[29803640, 13214713]
http://cyberjapandata.gsi.go.jp/xyz/std/17/116420/51619.png
[35.66628335763601, 139.75836753845215]
[59607281, 26429426]
http://cyberjapandata.gsi.go.jp/xyz/std/18/232840/103239.png
[35.66628335763601, 139.75837290287018]
――Je ne comprends pas vraiment le système de géographie --Il semble y avoir une bibliothèque telle que pyproj, il est donc préférable de l'utiliser. Si vous savez comment l'utiliser, faites-le moi savoir!