坐标变换的七个参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了坐标变换的七个参数相关的知识,希望对你有一定的参考价值。
参考技术A坐标转换始终是测绘工作不可缺少的主题。坐标变换的方法很多,其中一些可以用相应的参数描述,其中使用最广泛的是七个参数。七个参数中的大多数用于不同坐标系之间的参考转换。
七个参数的由来
七个参数是什么,七个参数是什么?
七个参数的应用
参数的应用过程分为三个过程:旋转,缩放和平移。这三个过程的顺序是什么?让我们看一下公式:
减少到:
其中,X1是原始空间坐标,X2是目标空间坐标,K是比例,R是旋转,而dX是平移。
您可以看到顺序是旋转,缩放和平移。当然,相反的是平移,缩放和最终旋转,这是一个可逆的过程,有利于两个空间坐标的来回转换。为了方便起见,我们将旋转,缩放和平移定义为七个参数的正应用。平移,缩放和旋转定义为反应的七个参数。
我们可以看一下坐标系的EPSG定义:
七个参数的定义称为towgs84,字面意思是转换towgs84所需的七个参数。它还可以用作不同坐标系之间的参考转换。在基线转换之前,EPSG必须同时指定原始towgs84和目标towgs84七个参数。
这就是问题所在!
两个七参数参考如何转换?为什么与WGS84有关?与我们熟悉的工程明星和SGO坐标变换相反,通常只使用一个七参数的情况,如何理解?
首先,大多数工程星和SGO的转换方案都是从WGS84坐标转换为XIAN80,Beijing54,CGCS2000等坐标。这里使用的七个参数是直接从原始坐标系到目标坐标系的七个参数。EPSG定义的七个参数(参考)是将坐标系本身转换为WGS84坐标的七个参数。实际上,只要两个坐标系都知道如何转换为WGS84坐标,就可以间接知道两个坐标系之间的参考变换。
至于为什么是WGS84,则是历史原因造成的。由于WGS84是建立的第一个全局坐标系,因此卫星定位通常会获取WGS84的空间或地面坐标。为了在其自己定义的坐标系下转换为坐标,它需要与WGS84建立自己的关系。
最后,EPSG如何使用两个七个参数进行参考转换。回到先前应用七个参数的正负问题,原始坐标系的towgs84将原始坐标转换为WGS84的坐标(以下称为84坐标)。这是前向应用程序。因此,我们获得了84个坐标,并使用目标坐标系的towgs84获得了最终坐标,该坐标用于反应。实际上,我们工程星的原始坐标系和目标坐标系以及SGO坐标变换可以指定七个参数,但是低频常常被我们忽略。但是与上述过程相反,原始坐标系的七个参数用于反应,目标坐标系的七个参数用于应用。随着华南地区的发展壮大以及与国际市场的进一步融合,将有越来越多的场景使用这两个七个参数进行基准转换,例如我们的新软件GIStar。我们需要很好地了解其原理和过程,并了解现有功能和新功能之间的区别,以使坐标转换更加方便。
* 七个参数的详细信息
towgs84的对面是fromwgs84,在旋转和缩放较小的前提下彼此相对。Fromwgs84可以参考trimble的坐标转换工具。如何区分wwgs84和wwgs84?好了,很容易理解,正在使用七个参数将非84坐标转换为84坐标,因此这七个参数是towgs84; 使用七个参数将84坐标转换为非84坐标,因此此参数为fromwgs84。我们的工程明星和SGO将wgs84作为原始坐标系的转换场景,并且使用的所有七个参数都是fromwgs84。
返回到前面提到的公式,在这种情况下,X1是84坐标,X2是非84坐标,例如XIAN80。然后,由k,R和dX组成的七个参数是fromwgs84,而towgs84是X2与X1交换时。
七个参数的解
要求解7个参数,我们至少需要7个方程。一对空间坐标可以列出3个方程,这意味着我们至少需要3对点才能通过最小二乘法求解7个参数。当然,点数也要注意,不仅3点好,也不要点越多越好,具体需要参考实际情况。
作为参考转换的工具,这七个参数适用于大区域甚至整个世界。我们需要选择该区域中均匀分布的控制点来解决这七个参数。小区域的七个参数不适用。同样,这里的towgs84和fromwgs84是非84坐标,目标是84坐标,七个参数是fromwgs84和towgs84。
以上是坐标变换七个参数的介绍,希望对您有所帮助。
the seven parameters of coordinate transformation
Yesod:卡在“七周内的七个 Web 框架”一书中
【中文标题】Yesod:卡在“七周内的七个 Web 框架”一书中【英文标题】:Yesod: Stuck in book "Seven Web frameworks in seven weeks" 【发布时间】:2015-05-01 18:16:45 【问题描述】:我按照quick start guide安装了Yesod。
我买了《七周内的七个 Web 框架》这本书,我正在努力学习。我在第 204 页(第 1 天:使用模型)。当我进入
ghci Model.hs
为了将一些数据输入数据库,正如书中所说,我得到了这个:
GHCi,版本 7.8.3:http://www.haskell.org/ghc/ :?求助 加载包 ghc-prim ... 链接 ... 完成。 加载包 integer-gmp ... 链接 ... 完成。 正在加载包库...链接...完成。 模型.hs:3:8: 找不到模块“ClassyPrelude.Yesod” 使用 -v 查看搜索的文件列表。 模型.hs:4:8: 找不到模块“Database.Persist.Quasi” 使用 -v 查看搜索的文件列表。 失败,加载模块:无。我被困住了。我是 Haskell 的新手(但不是新手)和 Yesod,所以我不知道该怎么做。
提前致谢。
【问题讨论】:
你能给我们这些没有这本书的人提供更多的细节,那么我们也许可以帮助你...... 我认为将文本作为图像发布很烦人,但将文本作为视频发布,现在那很烦人。 我建议你在没有掌握 Haskell 的情况下避免学习 Yesod。 【参考方案1】:本快速入门指南中的说明引导您为项目创建沙箱,因此您安装的依赖项仅在此沙箱中可用(这是谨慎且可以说是正确的方法,避免冲突并简化清理)。 GHCi 是 GHC 的一部分,不知道沙箱(这是一个概念,仅适用于 cabal
)。
要在沙盒中启动交互式 shell,请从项目的根目录启动 cabal repl
,如果 Model.hs 在 src 中,则使用 :load src/Model.hs
。
【讨论】:
【参考方案2】:您似乎没有安装 classy-prelude-yesod 包。如果您安装了 cabal,您可以轻松安装任何缺少的软件包。为此,您可以在操作系统命令提示符下输入以下内容:
cabal install classy-prelude-yesod
如果您缺少任何其他包,您可以使用相同的方法。
【讨论】:
使用cabal install --only-dependencies
安装所有缺少的依赖项。
我做到了,它说一切都已安装。
你尝试安装classy-prelude-yesod吗?安装后是否出现同样的错误?以上是关于坐标变换的七个参数的主要内容,如果未能解决你的问题,请参考以下文章