一、地理坐标系和投影坐标系
地理坐标系和投影坐标系是地理信息系统(GIS)中常见的两种坐标系统,它们用于描述和定位地球表面上的点和区域,但在实现方式和应用场景上有所不同。
1. 地理坐标系(Geographic Coordinate System,GCS)
地理坐标系使用经度(Longitude)和纬度(Latitude)来定义地球表面上的位置。这些坐标是以角度为单位表示的,通常使用度(°)、分(′)、秒(″)或十进制度(decimal degrees)来表示。地理坐标系通常基于地球的几何形状,如椭球体或椭球体修正模型(如WGS84),以及基准点(如赤道或某个标准子午线)。
特点:
- 使用角度来表示位置,经度和纬度分别表示东西方向和南北方向。
- 地理坐标系适合全球范围内的位置描述和数据交换,如GPS定位等。
常见的地理坐标系包括:
- WGS84(World Geodetic System 1984)是一种广泛使用的地理坐标系统,用于描述全球范围内地球表面上的位置。全球定位系统使用的地理坐标系。
- CGCS2000(China Geodetic Coordinate System 2000)代码(EPSG:4490):是中国采用的地理坐标系。它基于国际标准WGS84(EPSG:4326),但做了一些本地化的适应和调整,以更好地反映中国地区的地理信息。
- GCJ-02 (火星坐标系):由中国国家测绘地理信息局(National Administration of Surveying, Mapping and Geoinformation)制定的加密坐标系统,用于限制在中国国内的地图和位置服务的精确度。需要注意的是,GCJ-02是一种加密坐标系,因此其坐标不能直接用于国际标准WGS84坐标系的数据交换。
- BD-09 (百度坐标系):百度地图使用的坐标系,基于GCJ-02坐标系。BD-09坐标系通常用于百度地图API和相关应用中,但在WebGIS开发中,如果需要与其他数据源或标准坐标系交互,可能需要进行坐标转换。
在中国的WebGIS开发中,通常会根据具体需求和数据来源选择合适的地理坐标系。WGS84和CGCS2000是最常见和广泛使用的两种地理坐标系,特别是在涉及到全球位置信息和国内地图数据的处理时。
2. 投影坐标系(Projected Coordinate System,PCS)
投影坐标系是将地球的三维表面投影到平面上的方法。由于地球是一个三维椭球体,为了在平面地图上更准确地表示地球表面的形状和特征,需要使用投影坐标系进行投影转换。投影坐标系使用投影方法(如墨卡托投影、克吕格投影等)将地理坐标转换为平面坐标,通常以米或英尺为单位。
特点:
- 使用平面坐标来表示位置,通常以米或英尺为单位。
- 投影坐标系适合于局部地图的制图、测量和空间分析。
常见的投影坐标系包括:
- 墨卡托投影(EPSG:3857):用于Web地图的常见投影。
- UTM坐标系(通用横轴墨卡托投影):全球划分为60个纵向带,用于局部地区的精确制图和测量。
- 高斯-克吕格投影:在某些国家和地区中使用的平面投影,如EPSG:27700(British National Grid)。
3. 总结
地理坐标系和投影坐标系在GIS中扮演着不同的角色:地理坐标系提供了全球范围内位置的标准描述,而投影坐标系则将地球表面的曲面投影到平面上,以便于地图制图和分析。选择合适的坐标系取决于数据的来源、使用的地图投影以及需要进行的空间分析和测量任务。
二、开发中常见的坐标系及其代码
EPSG(http://www.epsg.org):European Petroleum Survey Group,欧洲石油调查组织(你没看错),该组织负责专门维护地球上所有的测量坐标系统(找石油),并且给每组坐标系统都赋予了一个编号和一组描述(WKT),比如大家常用的WGS84坐标系编号就是EPSG:4326,再比如互联网地图(谷歌、高德等)常用的伪墨卡托投影编号就是EPSG:3857。(关于常用的坐标系统以后的文章会单讲)可以理解成EPSG给大家维护了无数把尺子,并且给每把尺子搞了个编号,还标明了这把尺子适合什么条件下用。
坐标系代码 | 坐标系 | 备注 |
EPSG:4326 | WGS84 | 地理坐标系(国际标准) |
EPSG:4490 | CGCS2000 | 地理坐标系(中国标准) |
EPSG:4527 | CGCS2000 / 3-degree Gauss-Kruger zone 27 | 地理坐标系 |
EPSG:4548 | ETRS89 | 地理坐标系 |
EPSG:3857 | Web墨卡托投影(Web Mercator) | 投影坐标系 |
可以在:https://epsg.io/ 网站(需要加速器可以)查看EPSG有关的坐标系信息,坐标系使用的范围,以及使用proj4转换坐标系的参数
三、常用地图框架默认使用的坐标系
作为专业的GISer来说,我们开发中最常用的都是国外的地图框架,一般都采用WGS84标准。
前端框架 | 坐标系 | 代码 |
Mapbox | WGS84坐标系 | EPSG:4326 |
Leaflet | WGS84坐标系 | EPSG:4326 |
Cesium | WGS84坐标系 | EPSG:4326 |
高德地图 | 火星坐标系(GCJ-02坐标系) | 无EPSG代码 |
百度地图 |
四、Vue前端实现坐标系转换
当前开发常遇到的两个问题:
- 在我国的坐标系标准为CGCS2000(EPSG:4490)坐标系,在开发任务中使用的地图框架几乎都是国外的,而国外的标准坐标系为EPSG:4326,因此CGCS2000和WGS84坐标系之间的转换是首要的工作。
- 移动端开发通常使用高德地图的API,移动端火星坐标系(GCJ-02)和WGS84坐标系之间的转换。
前端常用的坐标系转换工具proj4 npm地址:https://www.npmjs.com/package/proj4
安装proj4
npm i proj4
在代码中使用proj4
参考文章:
https://www.cnblogs.com/haolb123/p/16553010.html