我想知道如何获取给定地理位置(纬度,经度)和缩放级别的WMTS瓦片的索引(x,y)。例如,我的POI位于(48.675 ,2.7),我想获取对应的开放街道地图图块以进行缩放10。我需要Web服务吗?
精度:我必须以编程方式执行此操作。

评论

在这里,您可以前往:wiki.openstreetmap.org/wiki/…

关于Bing地图切片方案的有用的MSDN文章也提供了很好的入门。本文和OSM文章均假定使用Web Mercator投影,但是其他投影坐标系统的原理相同。

#1 楼

OSM Wiki页面是完美的:http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Lon..2Flat._to_tile_numbers_2

这里是提取的答案(伪代码),用于快速参考。

将经度/纬度/缩放赋予图块编号:

n = 2 ^ zoom
xtile = n * ((lon_deg + 180) / 360)
ytile = n * (1 - (log(tan(lat_rad) + sec(lat_rad)) / π)) / 2


请注意,此伪代码中的log()指自然对数(通常为“ )”,但在许多编程语言中通常是“ log()”。)

将图块编号赋予经度/纬度:

评论


等待,OSM滑动格式是WMTS切片格式吗?

–间谍
16/12/15在1:52



请注意,上面的链接具有多种语言的实现! (目前27)

–西里尔
17 Mar 13 '17 at 10:40