使用任何投影在地图上绘制圆弧

时间:2016-04-13 21:40:48

标签: algorithm math geo

我希望最小化投影函数的使用以在平面上绘制弧。

作为算法的输入我有:

  • 中心C
  • 的纬度和经度
  • radius R(顺向距离)
  • 根据中心A1
  • 开始弧的方位角
  • 根据中心A2
  • 的弧末方位角
  • 投影函数proj,取纬度经度并在平面上给出x和y, 这个函数是连续的,具有导数,其导数是连续的
  • proj^-1反函数proj

输出:平面上的点x,y的数组,例如它们的原始lat, lon = proj^-1(x, y)具有顺向距离〜R,方位角位于A1A2之间。

在这种算法中,我希望减少对proj的调用。

现在我只能想象这种缓慢且不准确的算法:

P1 = direct geodetic problem(C, R, A1)
P1_plane = proj(P1)
P1_plane_shift = P1_plane.x + 1, P1_plane.y + 1
P1_shift = proj^-1(P1_plane_shift)
A1_shift = inverse geodetic problem(P1_shift)
dA = A - A1_shift

之后,我使用A1帮助函数,使用A2步骤从dAdirect geodetic problem循环。

这种算法有这样的缺点:

  1. 不准确,因为proj的角度误差可能会从P1附近的区域变为P2 = direct geodetic problem(C, R, A2)附近的区域[永远不会在现实地图投影中看到此问题R< 100公里]

  2. 经常致电proj,因此绘图对我来说很慢

  3. 有关此算法改进的想法吗?

    更新这里是可能的输入图: enter image description here

0 个答案:

没有答案