首页 > 解决方案 > 使用 Autodesk Forge Viewer Geolocation Extension 的结果不正确

问题描述

这与我之前的问题有关。我发布了一个新问题,试图更好地解释这种情况。

我正在使用从无人机调查中获取的数据将标记对象放置在模型上。我可以访问高精度 GPS 数据以及 omega/phi/kappa 旋转数据。

我正在尝试使用Autodesk.Geolocation扩展将 lon/lat/alt 数据转换为查看器空间。

所有模型最初都是在 Revit 中创建的。

当我使用Geolocation扩展程序时,似乎refPointLMVGlobalOffset没有正确考虑。

这是一个例子:

在此处输入图像描述

如您所见,模型上的选定点 [0] 与真正的 GPS 坐标相去甚远。此外,它refPointLMV具有巨大的价值。

当我从无人机照片中获取一些 lon/lat/alt 数据时,也会发生类似的情况。无人机 GPS 数据将接近模型positionLL84,例如 (4.586577106, 51.626037158, 49.095)。但是,当我这样做时,Geolocation.lonLatToLMV(4.586577106, 51.626037158, 49.095)我会得到一个远离屏幕的结果。

两个多月以来,我们已经与 Autodesk 进行了与此相关的支持查询,但在那里没有取得太大的成功。他们说工程团队太忙了,无法解决这个问题,并建议尝试修复我们这边的错误。支持参考 LMV-5261。

我已经能够Geolocation.lonLatToLMV使用以下代码将结果带入查看器空间:

const gpsPosition = new THREE.Vector3(
  longitude,
  latitude,
  altitude,
);

const position = viewer
  .getExtension('Autodesk.Geolocation')
  .lonLatToLmv(gpsPosition);

const data = viewer.model.getData();

const globalOffset = data.globalOffset;
const refPointTransform = data.refPointTransform;

// applying the transform

position.add(globalOffset)
position.applyMatrix4(refPointTransform);

// HACK: after applying the above transforms, a final
// rotation of -45 degrees is required to move the points into position
// once this has been done, the locations match up exactly to photos. 
// Seems like a weird hack, but I've tested with over 20 drone photos, they all match up. 

const quaterion = new THREE.Quaternion().setFromEuler(
  new THREE.Euler(0, 0, -Math.PI / 4),
);

position.applyQuaternion(quaterion);

这里的问题是我们正在使用单个模型进行测试,这显然不是一个强大的解决方案,我们可以期望它可以与我们投入的所有未来模型和无人机数据一起使用。

工程团队可能需要多长时间才能解决此问题?还是他们可能会解决这个问题?

标签: autodesk-forgeautodesk-viewer

解决方案


很抱歉由于农历新年而耽搁了。在与我们的工程团队核实后,目前的解决方案是执行以下操作:

  1. 将项目基点移至 N0 E0,但保持正北角度
  2. 将 LAT LONG 复制到测量点

之后,应该可以预期 GEO 转换的结果。

这是上述设置和结果的快照 在此处输入图像描述 在此处输入图像描述


推荐阅读