在有关此主题的文档中 posted here它提到 this 256x256 pixel Mercator world map 的左上角坐标为 180° 经度 y aprox。 85° 纬度。
我正在开发一个 Unity3D 应用程序(使用 C#),我需要在其中在 map 上叠加不同的项目,我使用简单的 GET HTTP 请求检索到 Google map API (maps.googleapis.com/maps/api/staticmap),所以我需要知道基本比例是哪个,这样我就可以用提到的每个缩放值的 base-2 大小推断所有其他比例。
最佳答案
最好的资源在这里:http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Resolution_and_Scale
分辨率和比例
赤道的精确长度(根据 wikipedia )在 WGS-84 中为 40075.016686 公里。缩放为 0 时的水平图 block 大小为 156543.03 米:
40075.016686 * 1000 / 256 ≈ 6378137.0 * 2 * pi / 256 ≈ 156543.03
这给了我们一个计算任何给定缩放分辨率的公式:
resolution = 156543.03 meters/pixel * cos(latitude) / (2 ^ zoomlevel)
一些应用程序需要知道 map 比例尺,即屏幕上的 1 厘米如何转换为 map 上的 1 厘米。
scale = 1 : (screen_dpi * 39.37 in/m * resolution)
这是让您摆脱这些计算的表格。所有值都针对赤道显示,您必须将它们乘以 cos(纬度)才能调整到给定的纬度。例如,将纬度 60(奥斯陆、赫尔辛基、圣彼得堡)除以 2。
这里是制表符分隔的(方便复制粘贴)
zoom resolution, m/px scale 96 dpi 1 screen cm is scale 120 dpi
0 156543.03 1 : 554 678 932 5547 km 1 : 739 571 909
1 78271.52 1 : 277 339 466 2773 km 1 : 369 785 954
2 39135.76 1 : 138 669 733 1337 km 1 : 184 892 977
3 19567.88 1 : 69 334 866 693 km 1 : 92 446 488
4 9783.94 1 : 34 667 433 347 km 1 : 46 223 244
5 4891.97 1 : 17 333 716 173 km 1 : 23 111 622
6 2445.98 1 : 8 666 858 86.7 km 1 : 11 555 811
7 1222.99 1 : 4 333 429 43.3 km 1 : 5 777 905
8 611.50 1 : 2 166 714 21.7 km 1 : 2 888 952
9 305.75 1 : 1 083 357 10.8 km 1 : 1 444 476
10 152.87 1 : 541 678 5.4 km 1 : 722 238
11 76.437 1 : 270 839 2.7 km 1 : 361 119
12 38.219 1 : 135 419 1.35 km 1 : 180 559
13 19.109 1 : 67 709 677 m 1 : 90 279
14 9.5546 1 : 33 854 339 m 1 : 45 139
15 4.7773 1 : 16 927 169 m 1 : 22 569
16 2.3887 1 : 8 463 84.6 m 1 : 11 284
17 1.1943 1 : 4 231 42.3 m 1 : 5 642
18 0.5972 1 : 2 115 21.2 m 1 : 2 821
其他资源:
关于c# - 在零缩放的谷歌地图中,一个像素代表多少经度和纬度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44223387/