我有一组点从(0,0,0)开始绘制车辆在3D中所采用的路径,每个点是在其各自维度上行进的距离。我需要做两件事

  1. 设(0,0,0)表示纬度和经度。如何将3D中的点集转换为纬度和经度上的等值?
  2. 在Google地图/地球/任何
  3. 上逐帧绘制(延迟以便可用于视频)

    有什么建议吗?

    编辑:现在绘图是可行的,转换不是由于大卫

有帮助吗?

解决方案

使用JavaScript动画在浏览器中移动Google地图上的点是很容易的。不过,我不确定你想要什么样的视频。

Google地图甚至还有一种API方法可以渲染地图,并在地图上绘制路径。您可以在页面底部看到有关此此处的信息。

其他提示

对于Google地球,此处就是一个很好的例子:向下滚动到“示例:沿路径显示点的移动”

对于Google Maps API,此示例位于 Google地图演示库。这有点粗糙,但你知道你能做些什么。

因此,您在一个(任意)坐标系中有一个起点(0,0),在另一个(地心)坐标系中有一个相应的(纬度,经度)点。你的问题是,从你的原点得到一组已知的(x,y)偏移量,你如何找到相应的(纬度,经度)点? (到目前为止,我能理解你的问题吗?)

简单的答案就是使用公式:

lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))
lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2))
d/R is the angular distance (in radians), where d is the distance travelled and R is the earth’s radius

取自以下链接: http://www.movable-type。 co.uk/scripts/latlong.html

编辑2 :(哦,我忘了提到:这个公式假设你有极坐标(R,θ)而不是笛卡尔坐标(x,y)。但是在它们之间转换是不太难。)

稍微长一点的答案是,如果你在足够大的空间内进行此操作,数学会变得非常复杂,因为测量高度的方式以及地球表面的形状。您可能想要阅读地理坐标系; 这篇维基百科文章是一个很好的起点。您还可以找到有用的 PROJ.4库

编辑:

如果您需要考虑高度(z)测量,数学会变得更加复杂。简单(ier)解决方案是进行2.5维数学运算 - 也就是说,用一组公式计算(x,y)坐标,然后分别进行(z)坐标。这仅适用于足够小的区域,因为您基本上假设地球表面对于您正在工作的空间是平坦的。但是,这对您的应用来说可能已经足够了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top