将Cesium ion上的3D Tiles和Bing imagery应用到osgEarth

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

Pelican Mapping 激动的宣布支持加载Cesium ion上的3D Tiles和Bing图层到他们的osgEarth数字地球渲染工具上。

添加3D Tiles支持

image osgEarth 绘制来自Cesium ion中的数据Melbourne, Australia

在过去的一年中,我们一直在开发对osgEarth中3D Tiles的支持,事实证明这是一种令人兴奋和高效的运行格式。我们首先开发了一个基于TinyGLTF的OpenSceneGraph的glTF读写器。在此基础上,我们为osgEarth构建了一个3D Tiles Layer的插件,用于处理流式Tiles。osgEarth根据Cesium使用的相同屏幕空间误差指标来决定何时加载和显示tiles,因此3D Tiles layer在osgEarth中的外观应该与在Cesium中相同。开发了3D Tiles loader之后,我们可以通过添加基于授权的ion token到3D Tiles layer以快速添加对Cesium ion的支持。

Bing Maps

image osgEarth通过Cesium ion渲染带标记的Bing imagery

我们还增加了对Bing地图的支持,从Cesium ion到osgEarth。osgEarth已经有了一个Bing图像driver,所以我们可以使用Cesium ion的API来获取Bing的密钥和映射样式,然后在driver基础上创建一个osgEarth Bing图像层,证书由Cesium ion提供。我们希望在将来添加对更多外部图像类型的支持。

编码整合(Putting it all together)

下列是一个Earch文件的示例,用于表示如何从Cesium ion上加载内容到osgEarth。

<map name="Cesium ion"> 

    <CesiumIonImage name="Bing Maps Aerial With Labels">
        <asset_id>3</asset_id>
    </CesiumIonImage>

    <CesiumIon3DTiles name="Melbourne">
        <asset_id>69380</asset_id>
    </CesiumIon3DTiles>

</map>

可以将Cesium ion token设置为环境变量,然后使用任何基于osgEarth的应用程序加载earth文件。

export OSGEARTH_CESIUMION_KEY=YOUR_API_KEY
osgearth_viewer cesiumion.earth

作者:Jason Beverage

原文链接:https://cesium.com/blog/2020/04/02/osgearth-supports-cesium-ion-assets/

评语:osgEarch宣布支持Cesium ion。

Cesium中文网交流QQ群:807482793

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium加载本地的3D Tiles,你可以使用以下方法: 1. 首先,创建一个Cesium的Viewer对象,并将其绑定到HTML中的一个div容器上,用于显示地图。例如: ```javascript const viewer = new Cesium.Viewer("cesiumContainer"); ``` 2. 然后,创建一个Cesium3DTileset对象,并将其添加到场景的图元组中。你可以使用相对路径或绝对路径指定数据的来源。例如: ```javascript const tileset = viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ url: 'modeldata/3Dtilesdata' // 使用相对路径指定数据来源 // 或者使用绝对路径指定数据来源 // url: 'http://example.com/modeldata/3Dtilesdata' }) ); ``` 3. 最后,你可以根据需要对加载3D Tiles进行进一步的操作,比如缩放视图、设置样式等。例如: ```javascript (async () => { try { await tileset.readyPromise; await viewer.zoomTo(tileset); // 设置默认样式 tileset.style = new Cesium.Cesium3DTileStyle({ // 样式的具体设置 }); } catch (error) { console.log(error); } })(); ``` 请注意,以上代码只是一个示例,你需要根据你的实际情况进行相应的修改和调整。同时,确保你的本地3D Tiles数据的路径和文件名是正确的。 希望对你有所帮助! #### 引用[.reference_title] - *1* *2* *3* [【CesiumCesium加载3DTiles与问题总结(JS)](https://blog.csdn.net/m0_47420894/article/details/123718739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值