在滑雪地图上固定纬度经度

时间:2013-02-19 08:21:35

标签: map latitude-longitude coordinate-systems openstreetmap coordinate-transformation

我有一张山地景观地图http://skimap.org/data/989/60/1218033025.jpg。它包含许多已知点,可以使用Google地图轻松找到其中的长点。我希望能够在地图上固定任何纬度经度坐标,当然也可以在景观的范围内。

为此,我尝试了一种似乎很大程度上失败的方法。我假设地图相当于瑞士风景的航空照片,没有关于相机的高度或其他坐标的任何信息。因此,我假设垂直于相机镜头的平面法线为Ax + By + Cz-d = 0。

我尝试使用已知点找到平面常数。我把我的原点固定在一个点上,在海平面上z = 0。我在景观中采用了两个已知点,并使用3D中的线的等式,我找到了该线段的投影长度,它连接了平面上的两个已知点。我将它乘以另一个常数K,以考虑在该3D图像的静态2d表示上调整该长度的大小。在这个屏幕上的这个图像的2d静态表示上的两个点之间的长度可以很容易地找到像素,并且可以很容易地找到连接这两个点的线的实际长度,因为我可以计算两者之间的距离他们的长纬度以及高于海平面的高度。

所以,我最终得到一个直接关联屏幕2d表示上两点之间距离的方程式,让我们称之为Ls,以及景观中的实际长度,L。我有很多其他已知点,所以堵塞它们进入等式应该给我4个常数的值。为此,我需要8个已知点(已知参数是它们的名称,lat-long和海拔高度),一个是我的orogin,第二个是固定参考点。其余6个点在A ^ 2,B ^ 2,C ^ 2,AB,BC和CA中生成6个线性方程组。使用在线工具解决系统,我得到的结果是系统有一个唯一的解决方案,所有6个常数都是0。

因此,似乎地图相当于从飞机上拍摄的航空照片的假设是错误的。有人可以给我一些指示或任何其他想法让这个工作?开放街道地图有墨卡托投影吗?

2 个答案:

答案 0 :(得分:1)

我想说这不可能以自动方式进行。 skimap应该被视为一个图像而不是一个地图,一个地图是一个现实世界投影到一个平面,因为它不适合skimaps它们被绘制而不是。

最好的方法可能是使用已知或估计的坐标手动定义skimap中的许多点,并使用它们来估计它们之间的点。要获得可接受的结果,您可能必须为skimap中的每个像素指定坐标。

答案 1 :(得分:0)

您可以执行以下操作:http://magazin.unic.com/en/2012/02/16/making-of-interactive-mobile-piste-map-by-laax/

我正在解决完全相同的问题。这很难和很多数学。带我几个星期来解决它。插值是关键以及大量的手动映射。我想说,对于一个滑雪山,它至少需要1000/1500点才能得到最基本的。所以,除非你能自动收集这些要点(我正在做的事情!),否则不是一项微不足道的任务;)