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

Cesium快速入门26:加载渲染GeoJson数据

用 Cesium 做地理信息可视化,最常见的数据来源就是GeoJSON
今天带你把“四川地图”整个搬进来,一行代码加载,一行代码上色,比用 Three.js 自己解析省十倍功夫。


一、GeoJSON 长啥样?

GeoJSON 里存的是“经纬度 + 属性”,可以是省界、道路、点位,甚至航拍区域。
阿里 DataV 免费提供了全国省市区数据,今天拿“四川省”练手:
地址:https://datav.aliyun.com/portal/school/atlas/area_selector
(想换广东、江苏、道路网,同理复制链接即可)


二、最简加载:两步到位

  1. 把下载好的四川省.geojson扔进项目/geojson/文件夹;

  2. 两行代码直接渲染:

/* 1. 加载 GeoJSON(返回 Promise) */ const scGeoJson = Cesium.GeoJsonDataSource.load('./geojson/四川省.geojson'); /* 2. 添加到场景 */ viewer.dataSources.add(scGeoJson);

刷新地球——四川省


三、等加载完成?用 await 更直观

load本质是 Ajax,想等数据就位后再统一处理,可以顺手 await:

const scGeoJson = await Cesium.GeoJsonDataSource.load('./geojson/四川省.geojson'); viewer.dataSources.add(scGeoJson);

这样后续想缩放、染色、弹窗,都能立刻拿到完整对象。


四、一次配好色:stroke、fill、线宽都能传

Cesium 把 GeoJSON 所有样式参数都包成配置项,加载时一起丢进去即可:

const scGeoJson = Cesium.GeoJsonDataSource.load('./geojson/四川省.geojson', { stroke: Cesium.Color.HOTPINK, // 边线颜色 fill: Cesium.Color.PINK.withAlpha(0.2), // 填充颜色 strokeWidth: 3, // 边线像素宽 markerSymbol: '?' // 如果是点,就显示问号图标 }); viewer.dataSources.add(scGeoJson);

效果:粉红边 + 半透明桃心填充,比默认好看一百倍。


五、跟 Three.js 比,快在哪里?

步骤Three.jsCesium
解析文件手写 JSON 遍历一行load自动完成
坐标转换自己转经纬度→世界内部自动转
面/线生成手动搭 Geometry自动根据类型生成
渲染自己写材质可选默认或自定义

一句话:Cesium 把“解析→转换→生成→渲染”全链路封装好,我们只需把 GeoJSON 文件喂给它。


六、小结与拓展

  • 任何 GeoJSON(省界、道路、楼栋)都用同一套路:load→add

  • 样式在加载时一次配完,后期也可通过entities数组再细调。

  • 数据更新?dataSources.removeAll()清掉旧数据,重新load新文件即可。

下节课,我们给这些行政区做“悬浮高亮 + 点击弹窗”,让地图真正“活”起来。

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

相关文章:

  • Day 42 复习日
  • 大模型Memory模块深度解析:从基础实现到高级应用!
  • 53.自定义工作队列传参
  • 安全VR:靠谱的VR安全体验馆厂商品牌榜,技术实力与落地案例
  • 灵遁者:我对于探索的热爱,从来没有减少过
  • 右值引用和移动语义
  • 基于PLC的智能路灯控制系统的设计
  • N-乙酰神经氨酸——连接生命与健康的“智慧糖链”核心组分 CAS:131-48-6
  • ZooKeeper:enableACL和requireClientSASLAuth
  • 为什么K8s 1.24 的容器时间调整会影响宿主机的时间啊?
  • AI时代核心竞争力:手写多智能体系统,不依赖LangChain/LlamaIndex
  • WebSocket 对比 MQTT通信优势
  • 基于springboot面料花型试衣系统
  • 域名被污染是什么意思?还能不能继续使用?
  • Python大数据基于深度学习的音乐推荐系统-250326--论文
  • Python大数据影评情感分析可视化及推荐系统的设计与实现_u5ck1y17_论文
  • AI Agent设计模式大揭秘:9种架构让你从编程小白变身架构师!
  • Python大数据基于Spark的南昌房价数据分析系统的设计与实现_45i0b357_论文
  • 9 个降AI率工具,自考人必备的降重神器!
  • 9 个降AI率工具,自考人必备!
  • 旅行记录应用新建旅行 - Cordova OpenHarmony 混合开发实战
  • 9 个降AI率工具推荐,继续教育学生必备
  • Java八股文(Java基础面试题)
  • 邦芒忠告:职场中没有好人缘的10种人
  • 基于Spring Boot人才招聘管理系统
  • 拒绝“魔法值”注入:手把手教你实现 Spring Boot 高性能枚举校验注解 @InEnum
  • 国内容易上手的claudecode一键配置指南
  • 复原IP地址
  • Redis 发布订阅
  • JQuery支持WebUploader完成百万文件断点续传的原理?