当前位置: 首页 > news >正文

Cesium快速入门28:KML数据格式加载

上一节我们用GeoJSON把“四川”搬进了地球;今天换另一张王牌——KML(Keyhole Markup Language)。
它本质上是“Google 版”的地理标注格式,功能与 GeoJSON 类似,只是套了层 XML 外衣。
额外福利:KML 还有压缩版KMZ(就是个 ZIP 包),体积更小,网络传输更友好。


一、KML 长啥样?

打开.kml文件,你会看到满屏标签,其实就是 XML:

  • <Placemark>表示一个要素(点 / 线 / 面);

  • <coordinates>存经纬度高程;

  • <style>还能自带颜色、图标、线宽。
    (KMZ 只是把同内容再打一次 ZIP,后缀改成.kmz即可)


二、最简加载:与 GeoJSON 如出一辙

把准备好的USA.kml扔进/kmls/目录,两行代码直接渲染:

/* 1. 加载 KML(返回 Promise) */ const kmlDataSource = Cesium.KmlDataSource.load('./kmls/USA.kml'); /* 2. 添加到场景 */ viewer.dataSources.add(kmlDataSource);

地球立刻飞到美国,边界、州块、标签一次呈现,无需任何解析。


三、一步到位:加载 + 染色 + 缩放

Cesium 同样支持“边加载边配色”,和 GeoJSON 用法一模一样:

const kmlDataSource = Cesium.KmlDataSource.load('./kmls/USA.kml', { stroke: Cesium.Color.HOTPINK, // 边线颜色 fill: Cesium.Color.PINK.withAlpha(0.2), // 填充颜色 strokeWidth: 3, // 边线像素宽 }); /* 加载完再飞过去 */ viewer.zoomTo(kmlDataSource); /* 也可以用 then 等加载结束 */ kmlDataSource.then((dataSource) => { viewer.dataSources.add(dataSource); });

效果:美国各州瞬间变成“粉红边 + 半透明桃心填充”,而且镜头自动缩放到位。


四、KML vs KMZ 怎么选?

格式本质优点适用场景
KML纯 XML可读性好,直接编辑小数据、调试阶段
KMZZIP 压缩包体积小,含贴图/模型网络发布、大型项目

用法完全一样,只要把.kmz当路径扔给KmlDataSource.load即可,Cesium 会自动解包。


五、小结

  • KML/KMZ 加载套路 =loadadd,和 GeoJSON 一字不差。

  • 样式参数(stroke、fill、strokeWidth)同样支持“加载时一次配完”。

  • 后端若想动态生成,只要按 KML 规范吐 XML 或打 ZIP 即可。

http://www.cnnetsun.cn/news/163834.html

相关文章:

  • 揭秘Open-AutoGLM自定义脚本编写难点:5大关键规范你必须知道
  • Linly-Talker支持MQTT协议用于物联网通信
  • Linly-Talker语音活跃度检测避免无效唤醒
  • Linly-Talker结合SLAM技术实现空间定位交互
  • 2025-12-20 全国各地响应最快的 BT Tracker 服务器(电信版)
  • Linly-Talker在养老院陪伴机器人的落地案例
  • php.ini的庖丁解牛
  • Linly-Talker与主流大模型对比:优势在哪里?
  • Linly-Talker语音中断检测机制提升交互自然度
  • Linly-Talker支持API调用,便于系统集成
  • Linly-Talker在金融投顾中的实际应用效果评估
  • Linly-Talker智谱AI GLM模型融合实验
  • 我发现自监督学习修复基因-影像缺损 罕见病早筛准确率翻倍
  • Linly-Talker MiniMax语音接口对接进展
  • 零基础也能做数字人?Linly-Talker全栈技术详解
  • 海外代理IP购买选哪家?海外动态住宅代理服务器供应商
  • Linly-Talker百度飞桨PaddlePaddle兼容性验证完成
  • PredictorsGPT:一个非预测系统的工程设计取舍与伦理边界
  • 如何避免 MySQL 死锁?——从原理到实战的系统性解决方案
  • Linly-Talker开发者激励计划上线:提交插件赢取奖励
  • 专业固液混合电容怎么选?这份指南告诉你哪个好
  • Linly-Talker驱动的AI心理陪伴机器人设想
  • Langchain-Chatchat能否支持文档加密上传解密?
  • 跨平台兼容性测试:Linly-Talker在Windows/Linux表现一致
  • Linly-Talker背后的技术栈:Transformer+Diffusion组合应用
  • Langchain-Chatchat OpenTelemetry统一观测知识平台
  • Linly-Talker支持多语言吗?中文语音合成表现实测
  • 25、Windows 容器与服务器维护全解析
  • Langchain-Chatchat新人培训知识问答系统
  • Langchain-Chatchat Consul服务发现知识库