地图瓦片GIS+RS应用

WebGIS中的坐标系和瓦片地图

2018-10-01  本文已影响79人  涛O_O

本文主要介绍坐标系和瓦片地图的相关知识, 他们是进行WebGIS开发的基础。

1 坐标系

坐标系分为地理坐标系和投影坐标系,他们的定义如下:
地理坐标系(Geographic Coordinate System):
    是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。包括角度测量单位、本初子午线和参考椭球体三部分。

投影坐标系(Projection Coordinate System):
    是使用基于X,Y值的坐标系统来描述地球上某个点所处的位置。它由地理坐标系和投影方法两个要素所决定。

1.1 地理坐标系

旋转椭球体

    地球表面是崎岖不平的,人们为了精确表示地球表面的位置,引入了旋转椭球体的概念。即用一个规则的旋转椭球体去逼近真实的地球表面。一个旋转椭球体的参数主要有以下三个:长半轴、短半轴、扁率。定义了这三个参数,也就唯一确定了一个旋转椭球体。

旋转椭球体

大地基准面

    定义了椭球体的形状后,还需要确定椭球体的位置。椭球体表面与真实地球表面存在差异,并且在世界的不同地区,这种差异也不尽相同。因此椭球体的定位直接决定了地理坐标与真实位置的误差。椭球体定位就是需要确定大地基准面,从而确定椭球体与地球的相对位置。有以下两类大地基准面:

    确定了旋转椭球体的形状位置,那么地理坐标系的基础就确定了。接下来需要定义地球上任意一点的地理坐标表示方法。

地理坐标

    地理坐标,就是用经纬度表示地面点位的球面坐标。在大地测量学中,对于地理坐标系统中的经纬度有三种提法:天文经纬度、大地经纬度和地心经纬度。其中使用较多的是大地经纬度,其使用大地坐标(L,B,h)表示地面点在椭球面上的位置三个要素,他们的定义如下:

图示:


大地坐标.jpg

    这样就完成了地理坐标系的定义,地球上任意一点都能获得经纬度坐标了。

1.2 投影坐标系

    在椭球面上表示的地球上物体的坐标,会给实际使用带来一些麻烦。更多的时候我们希望将地物展现在平面上,这时就需要引入投影坐标系的概念。

地图投影

    在地球椭球面和平面之间建立点与点之间函数关系的数学方法,称为地图投影
    地图投影的一般公式为:x = F(λ,φ), y = G(λ,φ)
    确定了投影方法后,也就确定了函数F和G,只要知道地面点的经纬度(λ,φ),便可以在投影平面上找到相对应的平面位置(x,y)。

投影方法有以下几类:

投影

常用的投影方法

    以上两种方法都要进行分带投影。即按一定的间隔选取经线作为投影的中央经线,中央经线两侧一定范围内的地区按所选中央经线进行投影。这样做的目的是减小投影变形,方便在工程中使用。

具体的投影方法请点击小标题查看。

    选择一个地理坐标系,以及一个地图投影方法,就唯一确定了一个投影坐标系,从而可以使用平面坐标表示地球上物体的位置了。

1.3 WebGIS中常用的坐标系

    在Web地图领域,使用最为广泛的坐标系统就是WGS84 Web Mercator。谷歌地图、Virtual Earth、Bing Maps、百度地图、Mapabc、ArcGIS Online等都是采用这种坐标系。作为一个投影坐标系,需要两个基本的要素,一个是地理坐标系,还有一个是投影方法。我们分别来看:

WGS84 Web Mercator的地理坐标系

    从名字可以看出,WGS84 Web Mercator坐标系采用的地理坐标系是WGS84坐标系,它属于地心坐标系,坐标系的原点位于地球质心,其基本参数如下:

GCS_WGS_1984
WKID: 4326 Authority: EPSG
Angular Unit: Degree (0.0174532925199433)
Prime Meridian: Greenwich (0.0)
Datum: D_WGS_1984
Spheroid: WGS_1984
Semimajor Axis: 6378137.0
Semiminor Axis: 6356752.314245179
Inverse Flattening: 298.257223563

WGS84 Web Mercator的投影方法

    从名字上可以看出,WGS84 Web Mercator坐标系的投影方法和Mercator(墨卡托)投影有关,但是这个投影方法和不是标准的墨卡托投影。他们之间的区别在于,WGS84 Web Mercator在投影时将地球椭球当做圆球看待,这会导致本来是等角投影的墨卡托投影变得不再等角了,而是近似等角,也就是出现角度变形。

WGS84 Web Mercator的坐标范围

    以赤道为标准纬线,以本初子午线为中央经线,分别得到X轴和Y轴。两者的交点设为原点,规定纬度向北为正,向南为负;经度向东为正,向西为负。

对应于经纬度的范围就是:

1.4 EPSG

    讨论坐标系不得不提到EPSG,EPSG的英文全称是European Petroleum Survey Group,中文名称为欧洲石油调查组织。这个组织成立于1986年,2005年并入IOGP(International Association of Oil & Gas Producers),中文名称为国际油气生产者协会。EPSG对几乎所有常用的坐标系统都进行了编号,统一了坐标系的表示,于是我们经常会看到使用EPSG编号来指代某一坐标系。

以下是几个常用坐标系的EPSG编号和单位:

坐标系名 EPSG编号 单位
WGS 84 EPSG:4326
WGS84 Web Mercator EPSG:3857, EPSG:900913

    至于为何WGS84 Web Mercator有两个编号,这里面还是有一段故事的,可以去这里查看。

    查询全部的EPSG编号和详细信息请访问EPSG官网

2 瓦片地图

    互联网地图服务,常常通过采用构建瓦片地图的方式,加快用户的访问,减少数据传输量。具体而言,瓦片地图就是对投影后的地图在不同尺度(层)下进行切片,每个尺度得到的地图切片数量不同、表示范围不同、详细程度不同,但是图片的尺寸相同(一般为256*256),最终构成一个“瓦片金字塔“”。根据用户所浏览的区域范围,自动确定所要返回的切片层级,在满足用户查询需求的同时,保证了地图传输的效率。


瓦片金字塔.jpg

2.1 瓦片地图的编号

    在投影坐标系的选择上,目前主流的地图服务提供商基本都选择的是WGS84 Web Mercator坐标系。但是在如何对投影后的地图进行切片并编号时,不同厂商之间存在较大的差异。

谷歌地图,OpenStreetMap,WMTS

    以地图左上角为原点,X轴向右,Y轴向下,从0开始分别进行编号。Z的取值范围为[0, 18],在第z级别,x,y方向的瓦片个数均为:2z个,即x,y取值范围是[0 , 2z-1]。

    WMTS较为特殊,WMTS中的TileMatrix对应于z,TileRow对应于y,TileCol对应于x。编号方式和谷歌与OSM相同。

TMS

    以地图左下角为原点,X轴向右,Y轴向上,从0开始分别进行编号。Z的编码规则与谷歌地图相同。

z=1时,这两种瓦片的编号如下图所示。


谷歌和TMS地图切片 (z=1)
Bing地图

    微软Bing地图Z的编码规则与谷歌相同,同一层级的瓦片不用XY两个维度表示,而只用一个整数表示,该整数服从四叉树编码规则(QuadTree)。

Bing地图切片
百度地图

    百度地图的瓦片定义的方式比较独特,原点的位置在经纬度都为0的地方,X向左为正,向右为负;Y向上为正,向下为负。切分的方式不像上述3种方法在每一级进行二等分,而是通过定义每一级的地图分辨率,确定每一级应该划分的行列数。地图分辨率的表达式为:218-z,其含义是每个像素所对应的实际长度。由此,可得每一级应该划分的行列数为:2πR/(256*218-z),其中R为地球的半径,单位是米。

百度地图切片

2.2 瓦片编号与经纬度、投影坐标的转换

参考:https://blog.csdn.net/lxxlxx888/article/details/51897838

总结

    本文记录了与WebGIS相关的坐标系和瓦片地图的知识,说明了他们直接的相互关系。希望WebGIS开发者有所帮助。

参考资料

上一篇下一篇

猜你喜欢

热点阅读