将2D坐标映射到变形的3D地图上

时间:2020-04-07 12:35:49

标签: javascript maps coordinate-systems coordinate-transformation spatial-interpolation

我想尝试显示滑雪地图的地理位置。想一想像this这样扭曲的侧视图。

  • 图像地图具有1600x1000像素的简单坐标系。
  • 我有很多纬度/经度坐标,可以与图像中的位置进行匹配(例如,升降台)。我所有的人都有真正的2D坐标。

虽然它可能不是非常准确,但我认为必须有某种方法将2D坐标映射到图像上,说我知道

  • lat / lang 46°35'06.2"N 7°57'38.9"E-> 1200px/400px

  • lat / lang 46°35'10.5"N 7°56'49.7"E-> 1000px/550px

    等...

问题当然是,绘制的地图变形并且比例远非现实。但是拥有足够的映射点,是否有可能克服这一点?

虽然我可能缺乏数学基础,但我正在考虑在最近的点之间进行插值。我还认为“冯·罗伊图/算法”可以发挥作用吗?这是一个10公里x 10公里的区域,所以我希望可以忽略整个墨卡托投影的事情?

我发现了关于同一主题的this问题,但是在编码方面可能需要更多帮助。最好使用javascript。

我的想法是,我首先创建一个小工具,可以在视觉上将2D地图中的点(很多!)映射到图像坐标。

更新:我创建了“工具”:https://jsfiddle.net/exophunk/32kr49ag/

如果将鼠标移到左侧的地图上,我已经可以计算到三个最近点的距离。每个点都映射到右侧的一个点。现在如何将这一点转换为正确的呢?我知道这在数学上是“不可能的”,因为右边的点可以不同地放置。但是如何获得考虑距离的最接近结果?

0 个答案:

没有答案