news 2026/6/10 0:50:55

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:11:25

企业客服数字化转型新选择:Linly-Talker构建智能数字坐席

企业客服数字化转型新选择&#xff1a;Linly-Talker构建智能数字坐席 在客户体验成为核心竞争力的今天&#xff0c;企业服务正面临前所未有的压力——用户不再满足于“能接通”&#xff0c;而是要求“秒响应”、“懂我意”、“像真人”。尤其在金融、电信、电商等行业&#xff…

作者头像 李华
网站建设 2026/6/10 16:54:48

【Open-AutoGLM模型微调终极指南】:揭秘高效优化路径与性能跃迁核心技术

第一章&#xff1a;Open-AutoGLM模型微调优化路径概述Open-AutoGLM作为一款面向自动化任务生成的开源大语言模型&#xff0c;其微调优化路径在实际应用中至关重要。通过合理的策略设计与资源配置&#xff0c;可显著提升模型在特定领域下的推理准确性与响应效率。数据预处理与格…

作者头像 李华
网站建设 2026/6/10 6:03:04

Linly-Talker实现语音合成缓存加快响应速度

Linly-Talker实现语音合成缓存加快响应速度 在数字人系统日益普及的今天&#xff0c;用户不再满足于“能说话”的虚拟形象&#xff0c;而是期待更自然、更即时的交互体验。尤其是在智能客服、在线教育、虚拟主播等高频对话场景中&#xff0c;哪怕几百毫秒的延迟&#xff0c;都可…

作者头像 李华
网站建设 2026/6/10 8:58:30

Linly-Talker与腾讯会议集成打造虚拟发言人

Linly-Talker与腾讯会议集成打造虚拟发言人 在一场重要的线上战略发布会上&#xff0c;主讲人并未出现在镜头前&#xff0c;取而代之的是一位表情自然、口型精准同步的数字人。她流畅地介绍着最新产品&#xff0c;回应观众提问&#xff0c;仿佛真人亲临——而这背后&#xff0c…

作者头像 李华
网站建设 2026/6/10 16:58:48

我发现工业分类长尾数据不准,后来才知道加Focal Loss平衡样本

&#x1f493; 博客主页&#xff1a;借口的CSDN主页 ⏩ 文章专栏&#xff1a;《热点资讯》 目录当AI开始学泡咖啡&#xff1a;一个普通打工人眼中的智能革命 一、咖啡店里的AI哲学 二、当AI开始学人类的破事 三、工业机器人&#xff1a;从拧螺丝到弹钢琴的职场逆袭 四、智能家居…

作者头像 李华
网站建设 2026/6/10 16:57:19

Lua 的 Math(数学) 模块

Lua 的 Math&#xff08;数学&#xff09;模块 是 Lua 标准库中提供数学运算功能的核心模块。该模块包含了一系列常用的数学函数和常量&#xff0c;主要用于执行各种数值计算。以下是关于 Lua Math 模块的详细说明&#xff1a; 基本功能 提供基本的数学运算函数包含常用的数学…

作者头像 李华