题
我需要为指定区域下载瓷砖。我有一个带有LAT/长坐标的Bbox,但是如何将它们转换为X/Y,这是URL所要求的
解决方案
要确定给定纬度和经度需要哪个瓷砖,您首先需要选择一个您感兴趣的缩放级别。然后计算:
n = 2 ^ zoom
xtile = ((lon_deg + 180) / 360) * n
ytile = (1 - (ln(tan(lat_rad) + sec(lat_rad)) / Pi)) / 2 * n
注意:LN代表自然对数圆形XTILE和YTILE,以获取整数瓷砖数。如果您需要以其他方式走:
n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh( Pi * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / Pi
那应该足以让您启动并运行。要获得Cloudmade的任何API的帮助,并与我们的最新版本保持最新状态,请查看开发人员邮件列表。
不隶属于 StackOverflow