前端实现坐标系转换

一、地理坐标系和投影坐标系

地理坐标系和投影坐标系是地理信息系统(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:4326WGS84地理坐标系(国际标准)
EPSG:4490CGCS2000地理坐标系(中国标准)
EPSG:4527CGCS2000 / 3-degree Gauss-Kruger zone 27地理坐标系
EPSG:4548ETRS89地理坐标系
EPSG:3857Web墨卡托投影(Web Mercator)投影坐标系

可以在:https://epsg.io/  网站(需要加速器可以)查看EPSG有关的坐标系信息,坐标系使用的范围,以及使用proj4转换坐标系的参数

三、常用地图框架默认使用的坐标系

作为专业的GISer来说,我们开发中最常用的都是国外的地图框架,一般都采用WGS84标准。 

前端框架坐标系代码
MapboxWGS84坐标系EPSG:4326
LeafletWGS84坐标系EPSG:4326
CesiumWGS84坐标系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

  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进阶的疯狗der

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值