JSAPIThree 加载 Cesium 数据学习笔记:使用 Cesium 地形和影像服务

news/2025/12/4 11:05:47/文章来源:https://www.cnblogs.com/map-3d-vis/p/19305996

作为一个刚开始学习 mapvthree 的小白,今天要学习加载 Cesium 数据了!听说这个功能可以加载真实的地形数据,还能使用 Cesium 的影像服务!想想就期待!

第一次听说 Cesium 数据加载

今天在文档里看到了"Cesium"这个词。文档说 Cesium 数据加载可以:

  • 加载真实的地形数据
  • 使用 Cesium 的影像服务
  • 支持 Cesium Ion 服务
  • 需要配置 AccessToken

我的理解:简单说就是"用 Cesium 的地形和影像服务",让场景有真实的地形起伏!

第一步:配置 Cesium Ion AccessToken

作为一个初学者,我习惯先看看需要什么配置。文档说使用 Cesium 服务需要配置 Cesium Ion AccessToken!

我的发现:Cesium 需要 AccessToken 才能使用,这是必须的配置!

获取 Cesium Ion AccessToken

  1. 访问 Cesium ion 获取 accessToken
  2. 在项目中配置

全局配置 AccessToken

获取 AccessToken 后,在项目的入口处进行配置,全局执行一次即可:

import * as mapvthree from '@baidumap/mapv-three';// 配置 Cesium accessToken
mapvthree.CesiumConfig.accessToken = '您的accessToken';

我的理解:全局配置后,使用 Cesium 的所有服务都不需要再配置了!

临时配置 AccessToken

如果没有全局配置,可以在构造函数参数中临时配置:

const mapView = engine.add(new mapvthree.MapView({terrainProvider: new mapvthree.CesiumTerrainTileProvider({accessToken: '您的accessToken', // 临时配置 Cesium accessToken}),
}));

我的发现:可以全局配置,也可以临时配置,根据需求选择!

第二步:加载 Cesium 地形

看到需要配置 AccessToken 后,我想:怎么加载地形?

文档说可以用 CesiumTerrainTileProvider 来加载 Cesium 地形!

import * as mapvthree from '@baidumap/mapv-three';const container = document.getElementById('container');const engine = new mapvthree.Engine(container, {map: {center: [94.09, 30.64],range: 50000,pitch: 50,provider: null, // 设置为 null,稍后手动添加},
});// 添加 Cesium 地形
const mapView = engine.add(new mapvthree.MapView({terrainProvider: new mapvthree.CesiumTerrainTileProvider({// accessToken: '您的accessToken', // 如果没有全局配置,可以在这里直接传入}),imageryProvider: new mapvthree.BingImageryTileProvider(),
}));

我的发现:地形数据会让场景有真实的起伏,看起来更真实!

我的理解

  • 优点:真实的地形数据,场景更立体
  • 缺点:需要网络请求,加载时间较长
  • 适用场景:需要真实地形展示的场景

自定义地形服务

如果不提供 url 自定义地形服务,默认使用 Cesium 官方服务。如果需要使用自定义地形服务:

const mapView = engine.add(new mapvthree.MapView({terrainProvider: new mapvthree.CesiumTerrainTileProvider({url: '您的自定义地形服务地址',accessToken: '您的accessToken',}),
}));

我的发现:可以使用自定义地形服务,也可以使用 Cesium 官方服务!

第三步:配合影像图层使用

看到可以加载地形后,我想:地形是灰色的,能不能加上影像?

文档说可以配合影像图层使用,比如 BingImageryTileProvider

const mapView = engine.add(new mapvthree.MapView({terrainProvider: new mapvthree.CesiumTerrainTileProvider({// 地形数据}),imageryProvider: new mapvthree.BingImageryTileProvider({// 影像数据}),
}));

我的发现:地形提供高度信息,影像提供颜色信息,两者配合才能看到完整的地图!

我的理解

  • terrainProvider:提供地形高度数据
  • imageryProvider:提供影像颜色数据
  • 两者配合使用,效果最好

第四步:理解 MapView 结构

看到可以加载地形和影像后,我想:它们是怎么组织的?

文档说 MapView 是引擎中底图的容器,包含 RasterSurfaceVectorSurface

我的理解

  • terrainProvider:地形数据,属于 RasterSurface
  • imageryProvider:影像数据,属于 RasterSurface
  • 多个 ImageryTileProvider 可以叠加渲染

我的发现

  • RasterSurface 能保证图层之间叠加顺序的正确性
  • 适合二维地图的渲染
  • 多个影像图层可以叠加,并分层设置透明度

第五步:完整示例

我想写一个完整的示例,把学到的都用上:

import * as mapvthree from '@baidumap/mapv-three';// 全局配置 Cesium accessToken
mapvthree.CesiumConfig.accessToken = '您的accessToken';const container = document.getElementById('container');const engine = new mapvthree.Engine(container, {map: {center: [94.09, 30.64],range: 50000,pitch: 50,provider: null, // 设置为 null,稍后手动添加},
});// 添加 Cesium 地形和影像
const mapView = engine.add(new mapvthree.MapView({terrainProvider: new mapvthree.CesiumTerrainTileProvider({// 使用默认的 Cesium 官方服务}),imageryProvider: new mapvthree.BingImageryTileProvider({// 使用 Bing 影像服务}),
}));

我的感受:写一个完整的示例,把学到的都用上,感觉很有成就感!

第六步:踩过的坑

作为一个初学者,我踩了不少坑,记录下来避免再犯:

坑 1:地形不显示

原因:没有配置 Cesium Ion AccessToken,或者 AccessToken 配置错误。

解决:确保正确配置了 Cesium Ion AccessToken,可以全局配置或临时配置。

坑 2:地形显示为灰色

原因:只加载了地形,没有加载影像图层。

解决:同时配置 terrainProviderimageryProvider

坑 3:地形加载很慢

原因:地形数据量大,网络请求需要时间。

解决:这是正常现象,地形数据需要从服务器加载,请耐心等待。

坑 4:AccessToken 过期

原因:Cesium Ion AccessToken 可能过期。

解决:重新获取 AccessToken 并更新配置。

坑 5:自定义地形服务不工作

原因:地形服务地址错误,或者格式不对。

解决:确保地形服务地址正确,格式符合 Cesium Terrain 规范。

我的学习总结

经过这一天的学习,我掌握了:

  1. 配置 Cesium Ion AccessToken:全局配置或临时配置
  2. 加载 Cesium 地形:使用 CesiumTerrainTileProvider
  3. 配合影像图层:使用 imageryProvider 提供影像数据
  4. 自定义地形服务:可以使用自定义地形服务地址
  5. MapView 结构:理解地形和影像在 MapView 中的组织方式

我的感受:Cesium 数据加载功能真的很强大!虽然配置有点复杂,但是用起来其实不难。关键是要理解地形和影像的关系,然后正确配置 AccessToken!

下一步计划

  1. 学习更多地形和影像的配置选项
  2. 尝试使用自定义地形服务
  3. 做一个完整的地形展示项目

学习笔记就到这里啦!作为一个初学者,我觉得 Cesium 数据加载虽然配置有点复杂,但是用起来其实不难。关键是要理解地形和影像的关系,然后正确配置 AccessToken!希望我的笔记能帮到其他初学者!大家一起加油!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/986566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从不足到精进:H5即开并行加载方案的演进之路

并行加载是 H5 即开 SDK 的加速技术,通过 native 层在用户打开页面时并行请求关键资源(如 index.html 和 CSR 模式 API),利用 webview 初始化时间窗口提前发起请求,减少加载耗时。其核心挑战是解决 webview 与并行…

2025年汽车托运物流平台口碑排行榜TOP10,异地专业的汽车托运物流推荐榜单精选优质厂家

随着汽车消费市场的持续活跃与跨区域流动的日益频繁,汽车托运服务已成为连接车主与目的地的重要桥梁。面对市场上众多的汽车托运平台,如何选择一家安全、可靠、高效的服务商,成为广大车主关注的焦点。本文基于公开市…

2025国内最好的出国留学中介公司

2025国内最好的出国留学中介公司一、如何选择2025年的出国留学中介许多学生和家长在搜索“2025国内最好的出国留学中介公司”时,核心关注点在于如何找到可靠、透明且结果有保障的服务机构。根据《2025中国留学中介行业…

基于 STM32 的老人摔倒报警装置项目【源码分享】

基于 STM32 的老人摔倒报警装置(短信提醒)【源码分享】 一、项目背景 在我国逐步迈入老龄化社会的背景下,独居老人摔倒事故频发且救援不及时的情况越来越受到关注。摔倒后无法及时呼救,是老年人伤亡的重要原因之一…

2025出国留学中介哪个最好

2025出国留学中介哪个最好一、2025年如何选择留学中介作为从事国际教育规划工作超过十年的资深规划师,我经常被学生和家长询问:“2025年出国留学,哪个中介机构最值得信赖?”这个问题没有绝对答案,因为留学中介的选…

2025年12月东莞律师服务排名:基于真实数据与用户反馈的详细解析

在东莞这座制造业与创新经济交织的城市,企业及个人面临的法律需求日益复杂。无论是初创企业的股权架构设计,还是重大商事纠纷的化解,选择一位专业匹配、经验丰富的本地律师至关重要。本文基于国家司法部门公开的律师…

2025成都出国留学中介公司有哪些

2025成都出国留学中介公司有哪些一、2025年成都出国留学中介公司概览作为从业12年的国际教育规划师,我经常遇到成都学生和家长询问:“2025年成都地区有哪些可靠的出国留学中介?”根据《2025中国留学服务行业白皮书》…

2025北京留学中介机构哪个好

2025北京留学中介机构哪个好一、2025北京留学中介机构哪个好?作为从业15年的国际教育规划师,我经常被学生和家长问及北京留学中介机构的选择问题。2025年,随着留学政策趋于稳定和人工智能技术的普及,留学申请更注重…

2025年越野高尔夫球车供货厂家权威推荐榜单:4座高尔夫球车‌/定制高尔夫球车‌/电动高尔夫球车‌源头厂家精选

随着户外休闲、景区观光及高端营地等场景的多元化发展,传统的场地高尔夫球车正逐步向具备更强通过性、适应性与功能性的越野型高尔夫球车演变。这类车辆不仅需要满足平坦草坪的舒适行驶,更需具备应对沙地、泥泞缓坡等…

2025澳大利亚留学中介前十名

2025澳大利亚留学中介前十名一、如何选择2025年澳大利亚留学中介:高频问题解答许多计划赴澳大利亚留学的学生和家长在搜索引擎上常询问:"2025年澳大利亚留学中介哪家靠谱?"、"如何辨别中介机构的专业…

2025年领先品牌认证机构推荐:哪家性价比最优?深度实测与案例验证分析

随着品牌经济时代的到来,企业对于第三方认证的需求呈现爆发式增长。根据中国品牌研究院2025年发布的数据显示,领先品牌认证服务市场规模已突破百亿元,年复合增长率达到18.3%。然而市场快速发展的同时,认证机构水平…

详细介绍:相平面控制:深入解析一种经典的非线性控制系统设计方法

详细介绍:相平面控制:深入解析一种经典的非线性控制系统设计方法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

2025年销量领先认证机构推荐:哪家性价比更高?权威数据与案例比对

随着市场竞争日益激烈,企业对于证明自身市场地位的需求不断增长。根据中国广告协会2025年发布的行业报告显示,超过80%的企业在营销传播中需要第三方数据背书,其中销量领先认证成为最受关注的认证类型之一。然而,企…

2025年,国内外最火的10款降AI率工具亲测!(持续更新)

​ 写论文最怕什么?不是查重,而是那句——“AI率过高”。 现在越来越多学校开始严查论文降aigc报告。我当时AI率高达98%,整个人快崩溃。 为了救回这篇论文,我实测了市面上十几款降ai率工具,从中精选了这12款,有免…

BindingSource绑定

1 BindingSource bindingSource = new BindingSource(); 2 3 List<MyClass> list=new List<MyClass>(); 4 5 bindingSource.DataSource=list; 6 7 //刷新 8 9 bindingSource.ResetBindings(true);

2025年晃香油机器直销厂家权威推荐榜单:水代法晃油机‌/香油墩油机‌/香油晃油机‌源头厂家精选

在传统香油(芝麻油)生产领域,“水代法”工艺以其物理取油、无化学添加的特点,能最大程度保留芝麻的原香与营养,备受市场青睐。其中,作为核心设备的晃(墩)香油机,其性能直接决定了出油率、香气浓郁度与生产效率…

完整教程:SpringAI1.0.1实战教程:避坑指南25年8月最新版

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年导热油加热器厂家实力推荐,看看哪家品牌的质量好

为帮工业企业高效锁定适配生产需求的导热油加热器供应商,避免选型走弯路导致设备故障、能耗超标等问题,我们从产品质量稳定性(如加热均匀性、运行故障率)、定制化能力(含非标场景适配、快速出样效率)、全周期服务…

jenkins上执行某个python代码,日志没有打印,如何处理

在Jenkins中执行Python脚本时日志不显示,通常是因为Jenkins的默认行为中断了进程和输出管道。你可以按照以下流程进行排查和解决。 主要问题解决方案详解 1. 防止Jenkins终止后台进程 这是最常见的原因。Jenkins为每…

沉浸式雨天海岸:用A-Frame打造WebXR互动场景 - 实践

沉浸式雨天海岸:用A-Frame打造WebXR互动场景 - 实践2025-12-04 10:46 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; dis…