首页 > 其他分享 >(工程)坐标转换类别和方法

(工程)坐标转换类别和方法

时间:2022-12-03 22:35:05浏览次数:62  
标签:高程 转换 Delta 参数 坐标 拟合 类别

目录

1. 绪论

在上一篇文章中,讲到了经纬度坐标转换为工程坐标,其中不可避免的涉及到坐标系之间转换参数的求解。在工程中时常使用不同的坐标转换方法。武汉大学张晓东课题组的此篇文章,空间坐标与投影系统系列(三):坐标转换,详细阐述了坐标转换的定义和一般方法。

但在实际的工程中,我们使用的方法有以下几种:

  1. 三参数转换法
  2. 七参数转换法
  3. 四参数转换+高程拟合
  4. 一步法
  5. 校正参数

他们本质上是两种类型,

  1. 两个三维直角坐标系之间的转换 ——>7个参数
  2. 两个平面直角坐标系之间的转换 ——>4个参数

image

结合工程中使用条件,他们被简化、组合,从而形成了以上5种不同的坐标系转换方法(叫法)。接下来对5种方法坐标转换的原理、使用条件做出总结和资料聚合。

image


2. 三参数法

三参数,是指坐标系的 X、Y、Z三个轴的平移参数\(\Delta x, \Delta y, \Delta z\)。是七参数方法的简化。
要求已知一个国家坐标点即可。因此,这一个点的坐标对应值相减,即可得到这三个参数\(\Delta x, \Delta y, \Delta z\)。

这种转换方式多运用于信标,SBAS,固定差改正以及精度要求不高的地方即最远点间的距离不大于30Km[1]。在RTK模式下,作用距离在5km范围较平坦的地方(基站开机模式)。随着移动站离基准站距离的增加,精度越来越低,一般3km精度能在5cm以内


3. 七参数法

七参数法,是指坐标系X、Y、Z三个轴的平移参数\(\Delta x, \Delta y, \Delta z\),加上三个轴的旋转\(\theta_x, \theta_y, \theta_z\),再加上尺度参数\(m\)。
至少三个已知坐标点,已知点可以是国家坐标系下的坐标,或着是与WGS-84坐标系之间存在很小旋转坐标系下的坐标,4个点时,可以检验已知点的正确性。此方法解算模型严谨,因此要求已知点的坐标精度高,一般在大范围作业时使用,当已知点精度不高时,不推荐使用七参数

3.1 布尔莎模型

七参数法,本质上是两个三维直角坐标系之间的转换。当两个直角坐标系的三个轴旋转变换很小时,才能够使用[2]。公式如下:

\[\left[\begin{array}{l} X \\ Y \\ Z \end{array}\right]=\left[\begin{array}{l} \Delta x \\ \Delta y \\ \Delta z \end{array}\right]+(1+m)\left[\begin{array}{ccc} 1 & \theta_z & -\theta_y \\ -\theta_z & 1 & \theta_x \\ \theta_y & -\theta_x & 1 \end{array}\right]\left[\begin{array}{l} X_0 \\ Y_0 \\ Z_0 \end{array}\right] \]

3.2 代码实现

关于布尔莎模型的代码实现,网上很多例子,pythonC++都有实现,不在赘述。

3.3 大角度坐标系七参数计算

当两个直角坐标系三个轴旋转变换\(\theta_x, \theta_y, \theta_z\)不在是微小量时,上述布尔莎模型模型就失效了,一般工程中并不会设计此问题。但也不排除一些特殊情况下,需要计算大角度坐标系转换七参数,多在学术研究中体现。知网上能检索到一大把,但一般都需要迭代实现[3]


4. 四参数+高程拟合

4.1 四参数

四参数,是指 两个平面直角坐标系之间的参数,X、Y轴平移参数\(\Delta x, \Delta y\),加上坐标轴旋转参数\(\theta\),再加上尺度因子\(K\)。
要求两个任意坐标点,精度在小范围内可靠。

四参数求解,相对简单,很多博客也做出很好的解答,同时也有代码实现:

4.2 高程拟合

上述四参数求解后,对于高程,没有继续深入的讲解,因为四参数本质上是平面的坐标转换。但工程中不可缺少高程的求解。对于不同的条件,也就是不同数量的已知点,我们可以使用不同的高程拟合方式。
这里,我并不会详细的讲述测量中高程的定义,因为它包含正高和正常高,是高程系统之间的转换。只需要知道需要高程转换这么一个步骤。

4.3 高程拟合方法

高程拟合常用方法有以下四种:

  1. 固定差改正:接收机测到的高程加上固定常数作为使用高程,常数可以为负数。
  2. 平面拟合:对应于多个水准点处的高程异常,生成一个最佳的拟合平面,当此平面平行于水平面时,平面拟合等同于固定差改正。
  3. 曲面拟合:对应于多个水准点处的高程异常,生成一个最佳的拟合抛物面。曲面拟合对起算数据要求比较高,如果拟合程度太差,可能造成工作区域中的高程改正值发散。
  4. 带状拟合:已知两个水准点,虚拟出一个水准点,变成3个水准点后再进行平面拟合。

求解他们的所需点数如下表所示:

高程拟合方法 所需点数
固定改正差 1
平面拟合 3
曲面拟合 6
带状拟合 3

他们之间的关系可以使用下图展示:
image

5. 一步法

所谓“一步法”,其实是测量中常见的术语,适合中小区域(一般为10km*10km的范围内)。参数形式和标准七参数一样,还有“两步法”的叫法,与之相应的也有“经典三维”。他们都是在测绘时,手簿的内置坐标转换方法,其本质上是不转换形式下,七参数、四参数、高程拟合的不同组合

知乎大佬三维地图技术社区对此有过详细解释:坐标转换与参数计算介绍,测绘人必备知识点!现在总结如下,此小节图片来源于这位大佬的文章

  1. “一步法”,忽略源椭球和目标椭球之间的差异,在投影坐标转地方坐标时,使用四参数+高程拟合
    image

  2. “两步法”,考虑源椭球和目标椭球之间的差异,在椭球的空间直角坐标系转换时使用7参数,且在投影坐标转地方坐标时,使用四参数+高程拟合
    image

6. 校正参数

校正参数,用于计算两坐标系统之间的平面、高程平移参数。它是在上述方法计算完成后,输入一个已知点,计算校正,调整参数的一个过程。通常在以下两种情况,可以使用校正参数。

  1. 只有一个BJ-54、国家-80坐标或只有一个和WGS-84坐标系旋转很小的坐标系下的坐标,基准站架设好后,移动站可以直接到一个已知点,当前点的WGS-84坐标,并已知点的当地坐标,计算得出已知坐标和当前坐标的改正量dx、dy、dz,根据此,校验参数。
  2. 假设已建好一个项目,参数计算完以后,正常工作了一段时间,由于客观原因,第二次作业不想把基准站架设在和第一次同样的位置,此时,可以用到点校正功能,只需要将基准站任意架设,打开第一次使用的项目,到一个已知点上校正坐标即可。校正方法和第一种情况相同。

7. 总结

综上所述,关于工程坐标系的转换方法、类别过程可以用如下图示,不同的方法组合成了不同的工程叫法。
image


  1. 空间坐标与投影系统系列(四):七参数转换实例 ↩︎

  2. 误差理论与测量平差基础 ↩︎

  3. 知网检索:'大角度' and '七参数' ↩︎

标签:高程,转换,Delta,参数,坐标,拟合,类别
From: https://www.cnblogs.com/AidanLee/p/16948926.html

相关文章

  • 结构体的强制类型转换
    陈浩师兄03年的一篇博客《用C写有面向对象特点的程序》描述了用C语言来实现类似C++类继承的方法,这样方法的核心要点就是结构体的强制类型转换,让我来简单分析分析C语言中的......
  • c语言怎么进行强制类型转换
    在c语言中,可以通过“(新类型名称)数据或表达式”语句来进行强制类型转换;例如“(float)100”就是将数值100(默认为int类型)转换为float类型,“(int)(x+y)”就是将表达式“x+......
  • JS数据类型转换,转数值,转字符串,转布尔
    ​1.转数值number        parseInt(‘内容‘/变量名)可以强制把字符串转整数数值,隐式转换        Parsefloat(‘内容‘/变量名)可以强制把有小数的字符串......
  • 5-针对数据类型的说明和转换
    1-intfloatstrbool 1.1-intint:表示的是所有整数int(x)将x转化成一个整数1.2-floatfloat:表示所有的浮点数注:浮点......
  • c# 反射+类型转换
    方法一:typeConverter数据转换这个方法还没测试过,留作备用C#TypeConverter数据转换-顺风车-博客园(cnblogs.com)https://www.cnblogs.com/i-blog/p/3548359.html......
  • 将html字符串转换成html标签显示到页面上(转)
    转自:将html字符串转换成html标签显示到页面上当我们将html字符串放到页面上时,是无法直接显示出我们想要的内容,这时我们需要将字符串转化成为html标签(必须保证html字符串的......
  • .Net中的DataTime类型 和 time_t类型转换
    今天碰到一个问题:数据库表中一个记录时间的FIELD是用time_t类型,也就是long类型存储的,需要转换为yyyy-MM-ddHH:mm:ss格式显示到界面上。当初用time_t类型大概是为了提高存取......
  • (各种数组之间的互相转换)int 数组与List互相转换,object数组转换int数组
    Stream流之List、Integer[]、int[]相互转化一、int[]1.1、int[]转Integer[]publicstaticvoidmain(String[]args){ int[]arr={1,2,3,4,5}; List<......
  • ansible彩色输出转换为html格式
    实现目标:将在后台运行(非tty终端环境)的ansible输出结果作为日志转换为html在浏览器显示:技术背景:我司使用的运维平台,使用flask框架搭建。对各个操控主机使用ansible进行操作,......
  • MXD文件版本批量转换
    ArcGIS不同版本的mxd文件不兼容,例如我这里本地使用的是10.1的版本,无法打开10.5版本创建的mxd文件。如果是较少的mxd文件,可以通过在10.5版本的arcgis中打开,选择FILE—SAVEA......