在我的Android项目中使用mapquest数据和OSMdroid。我想知道缩放级别提供的地图比例(例如1:10000等)。我刚刚找到zoomlevel to scale depending on DPI(地图的比例是否也取决于地图视图的宽度和高度,我正在展示?)。如果我使用the mapquest map site,我只会在左下角看到一个地图比例,但不是比例为1:10000,我实际上需要它。
什么是1:x在zoomlevel 16,15,14?
答案 0 :(得分:5)
这里有一些事情发生。让我按照我的理解逐步完成它。
首先,我相信您在Mapquest链接中看到的是比率。所以对于zoomlevel 16,15,14:
14 = 1:27083
15 = 1:13541
16 = 1:6770
虽然链接未指定,但应以米为单位。因此,在缩放级别14中,每个像素代表27083米。
此外,Bing地图比率为here。它们非常接近Mapquest报告的数字,但它们并不相同。
那么,为什么数字不同?因为每像素米的比例会根据您所处的纬度而变化。由于墨卡托投影产生的失真,当你改变纬度时,每像素的米数不是恒定的。 Bing贴图值是赤道上的值。我不知道Mapquest值的来源。
最后 - 要计算osmdroid中的每像素米数,您可以调用:
TileSystem.GroundResolution(latitude, zoomLevel);
这将为您提供特定纬度的每像素米数。我建议您查看osmdroid的ScaleBarOverlay
,了解如何应用此信息。
答案 1 :(得分:0)
保持在0°纬度或赤道线(地球地球模型的地球半径为6372.7982km,赤道环形近似为40041.472km):
比例尺(总是在赤道线上说话)取决于你的窗户的大小,如果它是1公里宽,它是:
如果窗口宽1英寸:
如果窗口宽度为200px(对于180 DPI屏幕):
这只是在赤道线(纬度0°)。在北方或南方,有一个应用的修正系数,即cos(纬度)。