【问题标题】:Relative position of latlon points纬度点的相对位置
【发布时间】:2012-02-11 17:35:02
【问题描述】:

我目前参与了一个项目,在该项目中,将地理点显示为 VIDEO 元素(大小为 512x288)顶部的叠加层会很有用。

VIDEO 元素包含一个现场直播,我还有一个实时的方位、纬度、经度和高度信息,这些信息作为 JavaScript 变量输入到网站中。

我还有一系列 POI(兴趣点)包含在网站中。 POI 的格式如下:

var points = [['Landmark name', 'latitude', 'longitude'], […]];

每隔五秒左右,我想循环遍历 POI 数组,并检查它们中的任何一个是否在视频的当前视口内 - 如果是,则将它们覆盖在 VIDEO 元素的顶部。

有人能指出我应该看什么的正确方向吗?我假设我必须使用例如将点映射到 2D 平面。墨卡托投影。

但是在将 POI 的相对像素位置映射到视频时,我有点迷茫。

期待获得一些提示!

【问题讨论】:

    标签: javascript latitude-longitude geo bearing


    【解决方案1】:

    之前已经完成了这项工作,最关键的因素是在垂直或水平方向上准确地确定相机的视野(至少百分之一度)。然后,使用视频的纵横比 (512/288 = 1.78) 使用 atan 公式确定另一个角度(如果需要)(不要犯将垂直视野乘以纵横比得到水平的常见错误)视野。视野是角度的,纵横比是线性的)。考虑一下设置相机,例如,在 OpenGL 中,除了您的相机在现实世界中。您无需选择视野和相机方向,而是必须对其进行测量。

    您需要知道相机的姿态(平移/倾斜或俯仰/滚动/偏航)才能正确叠加图形。

    您不需要墨卡托投影。我假设相机的视场相对较小(即 40 度 H 左右),因此您通常可以假设投影表面是一个矩形(从技术上讲,它是一个球体的小块)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多