七参数坐标转换的几种解法
七参数坐标转换的几种解法
- 1.简介
- 2.七参数模型
- 3.最小二乘的多种解法
- 3.1参数平差
- 3.2 布尔沙解法
- 3.3 符有限制条件的间接平差
- 3.4 罗德里格矩阵
- 3.5四元数
1.简介
坐标转换是测量领域中数据处理的基础性工作。目前,广为接收的三维坐标转换模型是七参数模型,即1个缩放参数、3个旋转角度参数和3个平移参数。理论上9参数模型更加完善,但使用场景很少。
2.七参数模型
七参数的数学模型为:
[XYZ]s=k∗[1000cosa−sina0sinacosa][cosb0sinb010−sinb0cosb][cosc−sinc0sinccosc0001][XYZ]o+[TxTyTz](1)\begin{bmatrix}X \\Y \\ Z\end{bmatrix} _s=k*\begin{bmatrix}1&0 &0 \\0&cosa&-sina \\ 0&sina&cosa\end{bmatrix}\begin{bmatrix}cosb&0 &sinb\\0&1&0 \\ -sinb&0&cosb\end{bmatrix}\begin{bmatrix}cosc& -sinc&0 \\sinc&cosc&0 \\ 0&0&1\end{bmatrix}\begin{bmatrix}X \\ Y \\Z \end{bmatrix}_o+\begin{bmatrix} Tx \\ Ty \\Tz \end{bmatrix}\tag{1} ⎣⎡XYZ⎦⎤s=k∗⎣⎡1000cosasina0−sinacosa⎦⎤⎣⎡cosb0−sinb010sinb0cosb⎦⎤⎣⎡coscsinc0−sinccosc0001⎦⎤⎣⎡XYZ⎦⎤o+⎣⎡TxTyTz⎦⎤(1)
式(1)中具体可概括为:
[XYZ]s=k∗[a1a2a3b1b2b3c1c2c3][XYZ]o+[TxTyTz](2)\begin{bmatrix}X \\Y \\ Z\end{bmatrix} _s=k*\begin{bmatrix}a1& a2 &a3 \\b1&b2&b3 \\ c1&c2&c3\end{bmatrix}\begin{bmatrix} X \\ Y \\Z \end{bmatrix}_o+\begin{bmatrix} Tx \\ Ty \\Tz \end{bmatrix}\tag{2} ⎣⎡XYZ⎦⎤s=k∗⎣⎡a1b1c1a2b2c2a3b3c3⎦⎤⎣⎡XYZ⎦⎤o+⎣⎡TxTyTz⎦⎤(2)
根据公共点的两套坐标,对式(2)的求解具体可概括为两类:最小二乘与整体最小二乘。本文主要简述最小二乘的几种解法。
3.最小二乘的多种解法
直接来看,对式(1)的求解很难。所以根据式(1)中旋转矩阵的转化与求解,目前的解法主要有以下几种:
3.1参数平差
式(1)不易求解,但不是不能求解。硬刚这7个参数有点难,但通过矩阵的合并,泰勒一阶展开,也可以写出来。将式(1)对7个参数进行泰勒一阶展开,然后罗列参数方程求解。
3.2 布尔沙解法
布尔沙模型是针对3个旋转角都是小角度的坐标转换模型,使用场景单一。小角度是多小呢,目前我的认知是不超过5度,这个关键是看我们的转换精度的预期控制。
3.3 符有限制条件的间接平差
硬刚这7个参数有点难,将式(1)化为式(2),对13个参数进行泰勒一阶展开,罗列参数方程。因为参数(2)旋转的参数见有约束,所以还要罗列6个条件方程。
3.4 罗德里格矩阵
比较巧妙的将式(1)中的旋转矩阵进行转换,最后仍然是一共有7个参数,所以还可以归结为间接平差的一种,只不过相比3.2法,求解简单一点。
3.5四元数
同样是将旋转矩阵进行了转换,但是感觉很复杂,比硬刚还硬刚,所以之后不写这个东西了。
这是第一篇,之后会详细阐述这几种解法的过程,包括代码和数据,敬请期待与点赞。
七参数坐标转换的几种解法相关推荐
- oracle七参数坐标转换,MapGIS国土空间数据2000大地坐标系转换系统
丰富的坐标转换模型 ❈ 三维七参数坐标转换模型 通过控制点/坐标重合点计算七参数,或利用已有七参数,对全国和省级范围的大地坐标或空间直角坐标系的数据进行投影变换. ❈ 平面四参数坐标转换模型 通过控制 ...
- 四参数与七参数坐标转换含义及区别
目录 一.前言 二.四参数转换 三.七参数转换 四.区别 一.前言 不同坐标系,其椭球体的长半径,短半径和扁率是不同的.比如我们常用的四种坐标系北京54.西安80.WGS84.CGCS2000所对应的 ...
- 四参数坐标转换c++_写给测绘新手,四参数与七参数坐标转换含义及区别
坐标转换时RTK技术里不可缺少的重要部分.不同坐标系,其椭球体的长半径,短半径和扁率是不同的.比如我们常用的四种坐标系北京54.西安80.WGS84.CGCS2000所对应的椭球体,它们的椭球体参数就 ...
- c++七参数坐标转换_深度 | 扒一扒坐标转换之七参数
坐标转换永远是测绘工作离不开的一个话题.坐标转换的方法很多,有的方法可以用相应的参数来描述,其中使用较广的一个是七参数.七参数大多用于不同坐标系统间的基准变换. 七参数的由来 对于非测绘的专业人士可能 ...
- python实现四参数七参数坐标转换
四参和七参转换,转换坐标没有什么问题,我附录了一些坐标信息检验,不过七参数的数值有些问题,不知道是哪里有些错误,希望大家指正,下面是完整代码: 在这里插入代码片 ```import numpy as ...
- 七参数坐标转换 matlab,利用三点法求解空间坐标系转换所需的七参数
同一个物体的点云在不同坐标系中的坐标表示不同,有时候需要将其进行转换到同一坐标系中进行处理,经典的方法为七参数法(7-parameters),用matlab实现如下: %PS.好久不用matlab了, ...
- 坐标转换 四参数/七参数/正形变换 ∈ C# 编程笔记
更新日期:2020/4/7 文章目录 2.平面坐标转换 四参数/正形变换 2.1 直接法 2.2 平差法 2.3 正形变换法 附 简化版正形变换法 代码 2.4 七参数坐标转换 [注1]其中的代码也许 ...
- 坐标转换三参数和七参数问题探讨
前段时间,碰到一个陆海项目,我们提供的成果都是CGCS2000坐标.施工单位要求提供当地控制点,用来放样.按道理来说,我们不需要提供,因为项目是CGCS2000坐标,施工方只需要拿千寻CORS进行放样 ...
- arcgis根据7参转坐标_ArcGIS坐标转换操作实战(反算七参数)
原标题:ArcGIS坐标转换操作实战(反算七参数) 坐标转换一直是空间数据处理里面一个非常重要的内容,特别是目前我国已经全面启用了CGCS2000坐标系统,以往那些54和80的坐标,未来都要统一转换到 ...
最新文章
- 基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序
- 皮一皮:有这样的妈妈挺有趣的...
- Fiddler抓包原理解析
- 事务管理:事务的状态相关知识笔记
- Cus系统beta1.2发布
- nobelking 3 js 数字和数字相加 字符串连接 数字和字符串连接1
- Spring in Action 3 (翻译)
- python 处理异常_Python异常处理– Python尝试除外
- 【翻译】InterlockedIncrement内部是如何实现的?
- js的tree数组对象扁平化思否_JavaScript数组_二维数组_三维数组(二十五)
- Kubernetes 学习笔记---RESTClient 详解
- fb2 android,FBReader PDF plugin app
- 交通信号管理服务器,矿下交通信号控制系统
- 从银行、保险到证券,揭开大数据在金融行业的应用
- 知道创宇区块链安全实验室|Deus Finance预言机攻击事件分析
- 【数据结构】 树与二叉树的基本概念、结构特点及性质
- 领域驱动设计(DDD)
- esxi 服务器上登陆系统,实战:添加ESX/ESXi服务器到vCenter Server
- android 高德地图移动卡顿_使用高德SDK开发安卓地图应用软件
- 基于 Kubernetes 部署 Zookeeper,太有意思了!