经纬度标定及大地坐标系相关概念(一)

一、背景

进行基站站点查勘、定点、设计的时候,经纬度的标定是很重要的一个环节。通常各地图或测绘厂家给出的经纬度与标准经纬度会有一定的误差和偏移,导致后期数据配准不上,部分依赖于经纬度和正北方位标定的物联网设备产生较大的测量误差,因此本篇文章主要梳理了当前常见的经纬度标定的依据及校准方法。

二、经纬度的概念

经纬度是经度与纬度组成的坐标系统,是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。但我们知道地球它并不是一个标准球体,而是一个椭球体,甚至它并不是一个标准的椭球体。因此我们就需要根据地球的球体数据去建立一个椭球体模型来建立经纬度坐标系——这里我们就要引入大地坐标系。

三、大地坐标系

大地坐标系是利用全球观测数据,以参考椭球面基准面,按综合法推算,建立的一种地球参考系和地心坐标系。地面点的位置用大地经度、大地纬度和大地高度表示。大地坐标系的确立包括选择一个椭球、对椭球进行定位和确定大地起算数据。

四、大地坐标系的分类

世界大地坐标系(World Geodetic System):

  • WGS60
  • WGS66
  • WGS72
  • WGS84
    设备包含的GPS芯片或者北斗芯片获取的经纬度一般都是为WGS84地理坐标系,目前谷歌地图采用的是WGS84坐标系

我国地理坐标系:

  • 2000国家大地坐标系
  • 1980西安80坐标系
  • 北京54坐标系

加密坐标系

  • GCJ-02坐标系(火星坐标系,国家标准要求所有商用民用经纬度坐标均要经过GCJ-02加密)

  • BD-09坐标系(百度地图提供的经纬度标尺)

投影坐标系:

地理坐标系说到底是个椭圆体,在曲面上进行空间数据的处理分析比较复杂,显然不如在一个平面上进行处理来的简单高效,所以在地图制图和线性量测时我们首先考虑把曲面转化成平面。

而这些需求诞生了投影坐标系。投影坐标系是将三维的地理坐标系投影到二维平面上,形成投影坐标系,就是地理坐标系+投影过程。投影坐标系是用距离单位表示的坐标系。

五、各类坐标系介绍

5.1 我国地理坐标系

5.1.1 北京54坐标系

北京54坐标系(BJZ54)是指北京54坐标系为参心大地坐标系,大地上的一点可用经度L54、纬度M54和大地高H54定位,它是以克拉索夫斯基椭球为基础,经局部平差后产生的坐标系。1954年北京坐标系可以认为是前苏联1942年坐标系的延伸。它的原点不在北京而是在前苏联的普尔科沃。

5.1.2 1980西安坐标系

1978年4月在西安召开全国天文大地网平差会议,确定重新定位,建立我国新的坐标系。为此有了1980国家大地坐标系。1980国家大地坐标系采用地球椭球基本参数为1975年国际大地测量与地球物理联合会第十六届大会推荐的数据。该坐标系的大地原点设在我国中部的陕西省泾阳县永乐镇,位于西安市西北方向约60公里,故称1980西安坐标系,又简称西安大地原点。它在中国经济建设、国防建设和科学研究中发挥了巨大作用。

5.1.3 2000国家大地坐标系

我国当前最新的国家大地坐标系。2018年,我国国土资源系统全面采用2000国家大地坐标系,并要求各类国土资源数据向2000国家大地坐标系进行转换。

5.2 世界大地坐标系

5.1.1 WGS84坐标系

WGS84坐标系是国际通用坐标系,也叫地球坐标系,大名鼎鼎的GPS系统就是采用的WGS84坐标系。WGS84坐标系对于具体地方的位置描述可能不如当地坐标系来的准确,但是它对全球范围内的位置估计更准确。谷歌地图(非中国境内)也是采用的WGS84坐标系。在进行不同坐标系之间转换的时候,一般以WGS84坐标系作为基准坐标。

5.3 加密坐标系

5.3.1 GCJ-02坐标系

在我国,出于安全考虑,所有的公开的电子地图、导航设备,都需要加入国家保密插件,它是对真实坐标系统进行人为的加偏处理,按照特殊的算法,将真实的坐标加密成虚假的坐标。GCJ-02是由中国国家测绘局(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。也称:火星坐标系。

目前我国常用的地图:高德地图、腾讯地图、中国谷歌都是用GCJ02坐标系。

5.3.2 BD-09坐标系

BD-09即百度坐标系,GCJ-02坐标系经百度算法加密后的坐标系。

六、分析

根据上述论述,由于目前商用,即我们可见的坐标系信息,均是经过加密的,并且大都以GCJ-02坐标系为基准,因此对基站进行查勘、查询及踩点时候,建议统一使用GCJ-02坐标系,可以通过国家保密SDK插件反演为真实坐标系进行数据的真实计算。并不建议使用BD-09百度坐标系进行经纬度标定,也尽量减少非国标的坐标系标定软件进行使用。(后续需要什么分析还会继续)

参考网址

http://www.dg-survey.com/page10?article_id=81

https://blog.csdn.net/weixin_55366265/article/details/122206875

https://zhuanlan.zhihu.com/p/45725943(介绍天地图等一些未进行偏移的坐标系)

https://kongxz.com/2013/10/wgs-cgj/(WGS转GCJ的详细分析)

https://zhuanlan.zhihu.com/p/385183668(坐标系与经纬度概念定义)

https://blog.csdn.net/weixin_41399650/article/details/124182920(坐标系反演python代码)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Python中,可以使用一些库和算法将经纬度坐标转换为大地坐标。 首先,需要安装pyproj这个库,它是一个地理坐标转换库。可以使用以下命令来安装: ``` pip install pyproj ``` 安装完成后,我们可以使用pyproj来进行经纬度大地坐标的转换。下面是一个简单的示例代码: ```python from pyproj import Proj # 定义坐标系 wgs84 = Proj(proj='latlong', datum='WGS84') # 经纬度坐标 lon = 120 lat = 30 # 将经纬度坐标转换为大地坐标 x, y = wgs84(lon, lat) # 输出大地坐标 print("大地坐标 x:", x) print("大地坐标 y:", y) ``` 在上面的代码中,我们首先定义一个wgs84对象,它代表了WGS84坐标系,也就是常见的经纬度坐标系。 然后,我们给出一个经度和纬度的值,通过调用wgs84对象并传入经纬度值,就可以得到对应的大地坐标。最后,我们可以通过打印语句来输出大地坐标。 这样,你就可以使用Python将经纬度坐标转换为大地坐标了。当然,pyproj库还支持多的坐标系转换方式,你可以根据具体需求来进行调整。 ### 回答2: 在Python中,可以使用第三方库pyproj来实现经纬度大地坐标之间的转换。 首先,需要安装pyproj库。可以通过在终端或命令提示符中运行以下命令来安装: ``` pip install pyproj ``` 安装完毕后,就可以在Python中使用该库来进行转换了。 下面是一个简单的示例,演示如何将经纬度转换为大地坐标: ```python from pyproj import CRS, Transformer def lat_lon_to_geodetic(lat, lon): # 定义输入坐标的参考系统为WGS84的经纬度 wgs84 = CRS.from_epsg(4326) # 定义输出坐标的参考系统为WGS84的大地坐标 geodetic = CRS.from_epsg(4978) # 创建一个转换器 transformer = Transformer.from_crs(wgs84, geodetic) # 执行转换 x, y, z = transformer.transform(lon, lat, 0) # 返回大地坐标 return x, y, z # 输入经纬度的值 lat = 40.7128 lon = -74.0060 # 调用函数进行转换 x, y, z = lat_lon_to_geodetic(lat, lon) print("大地坐标:") print("X:", x) print("Y:", y) print("Z:", z) ``` 上述代码中,我们创建了一个转换器对象,将WGS84的经纬度坐标系定义为输入参考系统,将WGS84的大地坐标系定义为输出参考系统。然后,我们使用转换器的transform方法将经纬度转换为大地坐标。最后,打印输出转换后的大地坐标。 ### 回答3: Python可以使用第三方库pyproj来实现经纬度大地坐标的转换。 首先,您需要在Python中安装pyproj库。您可以使用pip命令来进行安装,如下所示: ```python pip install pyproj ``` 安装完成后,您可以在Python脚本中导入pyproj库,并使用其Proj类来定义坐标系转换对象。以下是一个示例代码,展示如何将经纬度转换为大地坐标: ```python from pyproj import Proj def convert_geodetic_to_geocentric(latitude, longitude): # 定义WGS84大地坐标系 geodetic = Proj('+proj=latlong +datum=WGS84') # 定义大地坐标的投影 geocentric = Proj('+proj=geocent +datum=WGS84') # 将经纬度转换为大地坐标 x, y, z = transform(geodetic, geocentric, longitude, latitude, 0, radians=False) return x, y, z # 示例:将纬度40°N、经度100°E转换为大地坐标 latitude = 40 longitude = 100 x, y, z = convert_geodetic_to_geocentric(latitude, longitude) print('大地坐标(X,Y,Z):', x, y, z) ``` 在上述代码中,我们首先定义了WGS84大地坐标系大地坐标的投影。然后,使用transform函数将经纬度转换为大地坐标,并返回转换后的坐标值。 请注意,此示例仅展示了将经纬度转换为大地坐标的过程。如果您需要具体的坐标系转换方案,请根据您所使用的大地坐标系,在Proj类初始化时传入具体的参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值