从瓦片编号导出瓦片坐标
Derive tile coordinates from tile number
我觉得这个问题以前有人回答过,但我不知何故偏离了正轨。我有一个图块的 URL(见下文):我看到缩放级别为 6,第 33 个图块向东,第 20 个图块向南。我的问题是,我可以使用所述数字 (33 / 20) 扣除此图块的 lat/long(网络墨卡托)坐标吗?
https://heatmap-external-c.strava.com/tiles/all/hot/6/33/20@2x.png?v=19
正如问题标签中所述,链接地图是通过 mapbox GL 呈现的。在mapbox docs, I found a reference to the OSM Slippy Map Tilenames specification which in turn provides the method with which to transform tilenames to lat long coordinates and vice versa. The following pseudocode回答问题。
将数字 (xtile
、ytile
) 平铺到给定缩放级别 (zoom
) 的经/纬度
n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh(π * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / π
顺便说一句:此类问题更常见于 gis.stackexchange.com
我觉得这个问题以前有人回答过,但我不知何故偏离了正轨。我有一个图块的 URL(见下文):我看到缩放级别为 6,第 33 个图块向东,第 20 个图块向南。我的问题是,我可以使用所述数字 (33 / 20) 扣除此图块的 lat/long(网络墨卡托)坐标吗?
https://heatmap-external-c.strava.com/tiles/all/hot/6/33/20@2x.png?v=19
正如问题标签中所述,链接地图是通过 mapbox GL 呈现的。在mapbox docs, I found a reference to the OSM Slippy Map Tilenames specification which in turn provides the method with which to transform tilenames to lat long coordinates and vice versa. The following pseudocode回答问题。
将数字 (xtile
、ytile
) 平铺到给定缩放级别 (zoom
) 的经/纬度
n = 2 ^ zoom
lon_deg = xtile / n * 360.0 - 180.0
lat_rad = arctan(sinh(π * (1 - 2 * ytile / n)))
lat_deg = lat_rad * 180.0 / π
顺便说一句:此类问题更常见于 gis.stackexchange.com