【发布时间】:2019-12-07 15:54:54
【问题描述】:
我有一个问题,我需要确定给定的纬度、经度 GPS 点是否位于具有已知真实世界方向和 GPS 位置(对应于图像中心)的给定正射影像(约 1 公顷区域)中)。
也就是说,给定一个 GPS 点 P,我需要确定:
- 点P是否位于正射影像中,如果是,
- 正射影像中点 P 的像素位置是什么。
我的问题总结如下图:
正如您在图像中看到的,我知道图像的 GPS 坐标(中心)以及北相对于图像的位置。另外,我知道每个像素对应的地面有多少厘米。
我的问题是:什么是实现我的问题目标的有效而聪明的方法?
我想到的一种方法是解决 GPS 点和像素点之间的线性映射,然后使用此映射来回答问题 1-2。我认为这可能是一种合理的方法,即使地球有曲率并且 GPS 坐标(我会说)更像像素坐标的抛物线函数,因为距离非常小(一个图像大约是 1公顷面积)我可以假设 GPS 坐标在像素坐标上局部线性变化而不会显着损失精度。
你怎么看?谢谢你。
更新:
正射影像是使用配备云台相机系统的 Phantom 4 Pro 无人机拍摄的。
【问题讨论】:
-
回答第二个问题将清楚地回答第一个假设没有溢出,但如果您知道图像每个角落的 GPS 位置,那么回答第一个问题可能会容易得多 - 一个简单的矩形抛出-out。
-
@GemTaylor 谢谢你的帮助,是的,我不知道角坐标,这些必须从给定的信息中计算出来。
-
在公顷尺度上,地球曲率是无关紧要的,任何地形都会有更强的影响。鉴于您有中心的位置,以及像素大小和像素数,计算角落的位置是微不足道的而且非常快。您在实施时遇到了什么问题?
-
诚然,如果正射影像是以任何角度拍摄的,高度是影像区域内更大的问题。你是否也有原型制作者的 GPS 位置来制作金字塔?
-
@GemTaylor 是的,我愿意。 Adriaan,我没有问题,只是想知道如何实现这一点的更好的想法,以及我的方法是否有效。如果可以的话,如果您能提供一个高级伪代码,我将不胜感激。
标签: image matlab gps coordinates gis