新闻详情

新闻详情

首页 / 资讯中心 / 详情

CesiumJS 导出指南:3 种方式保存 3D 场景为图片、视频和数据

发布时间:2026/9/11 18:48:38来源:尧图网络
CesiumJS 导出指南:3 种方式保存 3D 场景为图片、视频和数据
CesiumJS 导出指南3 种方式保存 3D 场景为图片、视频和数据【免费下载链接】cesiumAn open-source JavaScript library for world-class 3D globes and maps :earth_americas:项目地址: https://gitcode.com/GitHub_Trending/ce/cesium交付一个 3D 地球项目经常要把当前状态存下来截取一张视角图、录下相机运动的过程、把地图上的数据写成文件。CesiumJS 的截图、录像、数据导出三类导出能力正好对应这三个用途下面逐个讲清楚。 能力速览CesiumJS 截图、录像、数据导出能力输出格式典型用途关键 API截图PNGdata URL 或 Blob存档文档、对比渲染效果scene.canvas.toDataURL()录像WebM浏览器编码保存相机动画、演示过程canvas.captureStream(30)MediaRecorder数据导出GeoJSON/CZML/KML与 GIS 工具互通、归档时间动态数据Cesium.exportKml()、GeoJsonDataSource.toGeoJson()三者的入口都在同一个 Scene画面走 canvas数据走数据源。理解了这一点后面三个场景的写法就通了。 场景一定格视角截一张能用的图截图前的两个前置条件等待渲染完成。默认连续渲染模式下画面每帧自动更新但如果你为性能开启了scene.requestRenderModecanvas 只在显式请求时才出新帧。瓦片还在加载、或者画面还停在旧帧时截得到的就是一张残图。稳妥的做法是监听scene.postRender事件在帧真正绘制完之后取像素。相机到位。调用camera.flyTo之后立刻截图截到的是飞行途中的中间帧。需要特定视角时等camera.moveEnd事件触发再导出。从 Canvas 到图片文件画面数据怎么落地渲染结果就在scene.canvas这个 WebGL canvas 上。toDataURL(image/png)返回 base64 data URL适合直接预览或上传要控制文件大小用canvas.toBlob得到 PNG 二进制。注意 data URL 比原始文件大约大三分之一大图优先用 Blob。const url scene.canvas.toDataURL(image/png); 场景二留住过程录一段动态帧率与分辨率的取值建议帧率建议从30fps起步相机飞越足够流畅10 秒片段体积也可控。如果场景较重瓦片多、开阴影和后处理GPU 扛不住 30fps录出来会卡这时降到24fps或先减轻场景。分辨率不需要单独设置——它由 canvas 尺寸决定也就是容器大小乘以resolutionScale录制前先把容器尺寸定好。相机运动与实体动画哪些能录、哪些录不了录像采集的是 canvas 像素流画面上出现的都能录相机飞越、实体沿路径运动、时钟驱动的时间动态更新全部包含。录不到的是 canvas 之外的内容比如 HTML overlay、时间轴控件这类 Widget 界面。另外注意CesiumJS 本身没有内置录像 API需要浏览器配合canvas.captureStream(30)加MediaRecorder编码输出格式因浏览器而异Chrome 默认是 WebM。️ 场景三带走数据按用途选格式GeoJSON / CZML / KML 的适用边界GeoJSON静态几何与属性点、线、面生态最广几乎任何 GIS 工具都能读。从实体导出会丢掉时间动态属性只留当前状态。CZML可看作带时间的 GeoJSON 超集时间区间、逐样本变化是一等公民。要归档什么时间发生了什么只有它选。KML面向 Google Earth 生态支持样式和有限的时间段。CesiumJS 提供了Cesium.exportKml({ entities, kmz: true })可把实体集合导出为 KML/KMZ模型和贴图能一并打进 KMZ。三种后续用途对号入座给 WebGIS 前端、BI 系统消费选GeoJSON。要在另一个 CesiumJS 应用里、或需要时间轴回放选CZML。对方用 Google Earth 预览或企业 GIS 流程选KML/KMZ。❓ 高频问题与避坑截图发黑或画面不全先查requestRenderMode该模式下不调scene.requestRender()就不会渲染新帧要等帧画完再取像素。其次确认相机已到位flyTo后立刻导出拿到的是飞行中的画面。为什么找不到 CesiumJS 自带的录像 API录像依赖浏览器能力canvas.captureStream(30)拿到流MediaRecorder编码输出多为 WebM。需要 MP4 时用 ffmpeg 之类的工具转码。视频卡顿是帧率参数的问题吗不是。实际录制帧率受渲染帧率限制场景复杂时低于 30fps视频自然卡。降帧率或先关阴影、后处理比调参数有效。时间动态属性导出后还在吗CZML 完整保留时间区间和逐样本数据GeoJSON 与 KML 只导出静态状态KML 的时间支持有限。需要回放选 CZML只要几何快照选 GeoJSON。截图、录像、数据导出共用同一套地基canvas 存画面数据源存数据按用途选对格式交付链路就完整了。源码可看 Scene 与 canvas 渲染Scene.js 和 数据源加载与导出DataSources/KML 导出示例export-kml 里有完整的导出流程参考。【免费下载链接】cesiumAn open-source JavaScript library for world-class 3D globes and maps :earth_americas:项目地址: https://gitcode.com/GitHub_Trending/ce/cesium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

2026年Python零基础速成指南 2026/9/11 19:27:43

2026年Python零基础速成指南

是不是你也这般: 瞅见满屏幕的英文代码便觉头晕,购置了好多本《从入门至放弃》, 然而仅仅翻到了前言处?别慌,这不是你笨,而是你的学习姿势不对。于AI大模型四处皆是的2026年, 学已绝非“背语法”那般, 而是“练思维”之举。今日这一篇章, 我…

阅读更多 →
图灵星环:Python中的Lock-Free数据结构,原子操作加速多线程 2026/9/11 19:27:43

图灵星环:Python中的Lock-Free数据结构,原子操作加速多线程

在多线程数据处理的场景之中, 绝大多数的开发者用以解决线程安全问题的核心办法都是进行加锁, 借助Lock、RLock等同步工具去避免多线程数据出现竞争。然而在高并发、高频读写的业务场景之下, 传统的互斥锁会引发线程阻塞、上下文切换极为频繁、产生频繁的死锁、锁竞争耗时过高这…

阅读更多 →
fbo_ggs 实战:Oracle GoldenGate 19.1 安装与调优 2026/9/11 19:27:43

fbo_ggs 实战:Oracle GoldenGate 19.1 安装与调优

简介:Oracle热备工具FBO_GGS_Linux_x64_shiphome是针对Oracle数据库实时复制与灾备场景的完整安装包,面向DBA、运维工程师和需要搭建GoldenGate热备环境的技术人员,用于解决异地主备库数据同步与故障切换问题。压缩包共419个文件,…

阅读更多 →
Meetily GPU 加速完全指南:从 CUDA/Metal 自动检测到手动配置与跨平台构建 2026/9/11 19:27:43

Meetily GPU 加速完全指南:从 CUDA/Metal 自动检测到手动配置与跨平台构建

Meetily GPU 加速完全指南:从 CUDA/Metal 自动检测到手动配置与跨平台构建 【免费下载链接】meetily Privacy first, AI meeting assistant with 4x faster Parakeet/Whisper live transcription, speaker diarization, and Ollama summarization built on Rust. 10…

阅读更多 →
淘系普通234验证码滑块分析 2026/9/11 19:27:43

淘系普通234验证码滑块分析

声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口 等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间点击头像看简介或…

阅读更多 →
python循环中的break语句用法 2026/9/11 19:24:42

python循环中的break语句用法

循环中的break语句。通常情况下, 在循环结构里, 当中break这句语句被用于提前终止循环时, 这个循环结构不管是否循环, 也不管它是否是循环, 只要条件满足, 执行break语句后, 就会立即退出循环, 然后跳出循环体, 接着继续去执行循环后面的代码, 其语法结构一般是这样子的。有这样…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞