我有一张山区地图,http://skimap.org/data/989/60/1218033025.jpg。它包含许多已知点,使用谷歌地图可以很容易地找到这些点的经纬度。我希望能够在地图上固定任何纬度经度坐标,当然是在景观范围内。
为此,我尝试了一种似乎在很大程度上失败的方法。我假设这张地图相当于一张瑞士风景的航拍照片,没有任何关于相机的高度或其他坐标的信息。因此,我假设垂直于相机镜头法线的平面为 Ax+By+Cz-d=0。
我尝试使用已知点找到平面常数。我将我的原点固定在一个点上,海平面上的 z=0。我在景观中取两个已知点,并使用 3D 线的方程,我找到了连接两个已知点的线段在平面上的投影长度。我将它乘以另一个常数 K 以说明在此 3D 图像的静态 2d 表示上调整此长度的大小。可以很容易地找到此屏幕上此图像的 2d 静态表示中两点之间的长度(以像素为单位),并且可以轻松找到连接两点的线的实际长度,因为我可以计算两者之间的距离点及其经纬度和海拔高度。
所以,我最终得到了一个方程,它与屏幕 2d 表示上两点之间的距离直接相关,我们称之为 Ls,以及景观中的实际长度 L。我还有许多其他已知点,所以将它们代入方程应该给我 4 个常量的值。为此,我需要 8 个已知点(已知参数是它们的名称、经纬度和海拔高度),一个是我的原点,第二个是固定参考点。其余 6 个点在 A^2、B^2、C^2、AB、BC 和 CA 中生成 6 个线性方程组。使用在线工具求解系统,我得到的结果是系统有一个唯一的解决方案,所有 6 个常数都为 0。
因此,将地图等同于从飞机上拍摄的航拍照片的假设似乎是错误的。有人可以给我一些指示或任何其他想法来让它工作吗?开放街道地图是否有墨卡托投影?