什么是比例尺 举例说,当一条高速公路长1000米,为了研究方便,我们通常在纸上画了一条长为1米线段来代表它,那么此时的比例尺为1:1000;即比例尺 = 图上距离:实际距离。

地面分辨率 地图比例尺比其它比例尺要特殊一些,在说到地图比例尺之前,先说下什么是地面分辨率。

地面分辨率,即地图上一像素点所代表地球上的长度。

以open-street-map(开放街道地图,墨卡托投影)为例,当地图为0级时,它用一张256*256(像素)的图片来表示世界地图,那么我们就可以算出它的地面分辨率大小。由于赤道半径为6378137米,则赤道周长为2*π*r。

那么0级时赤道地面分辨率为: 2*π*r/256。

那么n级时赤道地面分辨率为: 2*π*r/(256*2^n)。

那么其它纬度的分辨率为: 2*π*cos(latitude)*r/(256*2^n)。

当纬度为latitude时,赤道半径为6378137,得出地面分辨率公式为,单位:米/像素:

地面分辨率 = 2*π*cos(latitude)* 6378137/(256*2^n)。

将纬度转换为弧度:

地面分辨率 = 2*π*cos(latitude*π/180)*6378137/(256*2^n)。

最低地图放大级别(0级),地图是256 x256像素。每下一个放大级别,地图的高度和宽度分别乘于2:2级是512 x 512像素,3级是1024 x 1024像素,等等。通常而言,地图的宽度和高度可以由以下式子计算得到:map width = map height = 256 * 2^level pixels。

地图比例尺 我们知道了地面分辨率,就是知道了每个像素点代表实际多少米,当我们知道在显示器中每个像素占多少米时,咱们就可以求出比例尺多少了。

以手机为例,我们知道,由于手机硬件的差异,每部手机的每英寸像素的个数DPI(dot per inch)是不一样的;英寸和米的换算公式如下:

1英寸=0.0254米。

那么地图比例尺为:

比例尺 = 1:地面分辨率*DPI/0.0254。

代入前面得出的地面分辨率公式,得出地图比例尺公式:

比例尺=1:2*π*cos(latitude*π/180)* 6378137/(256*2^n)*DPI/0.0254。

从这个公式可以看出,比例尺的值与纬度和DPI有关。

例如,当每英寸含有96个像素时,即DPI=96,赤道的各级分辨率如下:

GIS——天地图、谷歌地图、OSM地图各层级比例尺和分辨率 地图比例尺类型 地图比例尺一般有三种表现形式:

1. 数字式。如:1∶100000,表示图上1米比实际距离100000米。

2. 说明式。如:图上1厘米等于实地1000米。

3. 图解式(分为直线比例尺、斜分比例尺和复式比例尺)。所谓的直线比例尺就是在图上比例尺线段的长度与地面上相应线段的水平距离之比。

为了简化方便,一般WEB上百度、Google、高德地图采用的均是直线比例尺,他们的衡量单位是比例尺线段。如下图所示。

GIS——天地图、谷歌地图、OSM地图各层级比例尺和分辨率 文章出处:http://www.voidcn.com/article/p-tviyesau-baw.html

编写WMTS服务核心工作:瓦片图地址模板、比例尺与分辨率、WGS84与瓦片图坐标的换算算法。

天地图WGS84比例尺与分辨率,注意天地图WGS84地图已应用GCJ-02国家火星坐标系,坐标有偏移:

18:5.36441802978515E-06,//街道

17:1.07288360595703E-05,

16:2.1457672119140625E-05,

15:4.29153442382814E-05,

14:8.58306884765629E-05,

13:0.000171661376953125,

12:0.00034332275390625,

11:0.0006866455078125,

10:0.001373291015625,

9:0.00274658203125,

8:0.0054931640625,

7:0.010986328125,

6:0.02197265625,

5:0.0439453125,

4:0.087890625,

3:0.17578125,

2:0.3515625,

1:0.703125 //全球

天地图的投影地图与OSM地图、谷歌地图的比例尺与分辨率实际上是相同的,如下所示:

GIS——天地图、谷歌地图、OSM地图各层级比例尺和分辨率 还有一个用天地图跳过国家火星GCJ-02的捷径,就是把WGS84坐标换算成为WebMecator坐标,代码如下:

void wgs84_to_webmercator(double xy[2])

{

xy[0] = xy[0] * 20037508.3427892 / 180;

xy[1] = log(tan((90 + xy[1])*PI / 360)) / (PI / 180);

xy[1] = xy[1] * 20037508.3427892 / 180;

}

天地图WebMecator投影与谷歌、OSM地图能够重合。

原文出处:https://blog.csdn.net/caoshiying/article/details/51918302