FxSceneObject::SceneObjectNode* objNode = m_objectManager->getObjectNode("JiuQuanSatelliteLaunchCenter", m_earthScene);
// 确保场景是一个GIS场景
FxGIS::GISContext* context = dynamic_cast<FxGIS::GISContext*>(m_sceneManager->getScene(m_earthScene)->getSceneContext());
// 获取节点的世界坐标
osg::Vec3d worldCoords = objNode->getBound().center();
// 将世界坐标转换为地理坐标(经纬度)
osg::Vec3d geographicCoords;
// 本地经纬坐标转换为世界坐标系
FxGISUtil::CoordConverter::xyz2DegreeLLH(context->getMapNode(), worldCoords, geographicCoords);
// 定位
FxCore::SceneBase* scene = m_sceneManager->getScene(m_earthScene);
FxCore::ViewPoint viewpoint;
viewpoint.distance = 1000.0;
viewpoint.attitude = osg::Vec3d(-45.0, 0.0, 0.0);
viewpoint.viewPoint = geographicCoords;
if (scene)
{
scene->locate(viewpoint, 0.0);
}
chapter 7 坐标转换
最新推荐文章于 2025-08-11 22:10:22 发布