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.js Cesium
解析文件 手写 JSON 遍历 一行 load 自动完成
坐标转换 自己转经纬度→世界 内部自动转
面/线生成 手动搭 Geometry 自动根据类型生成
渲染 自己写材质 可选默认或自定义

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


六、小结与拓展

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

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

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

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

相关推荐
GoldenSpider.AI4 小时前
一张户型图做成浏览器 3D 漫游:house.json 统一模型、1.2 m 剖切图纸与分阶段验收
ai编程·webgl·three.js·3d漫游·claude code
Solange__4 小时前
AI世界模型、3D场景生成和游戏引擎怎么选?按5类任务比较交互、物理与导出
开发语言·人工智能·游戏·平面·3d·自然语言处理·游戏引擎
Solange__4 小时前
物流园区怎么用AI生成3D调度预演?从道路底图、车辆转弯到网页评审
图像处理·人工智能·游戏·3d·ai·自然语言处理·关卡设计
言乐61 天前
通过 3D 动画直观演示球形瓶内可滑动半圆机构在倾倒时防粘盖、回正时刮膏体的运动学过程
python·3d·django·virtualenv·pygame
苏州福兰克1 天前
没有3D内容,裸眼3D显示器还能用吗?
3d·计算机外设
慧都CAD开发笔记1 天前
汽车零部件检测软件如何用统一接口直读多种 CAD:3D InterOp 的三类数据接入
3d·汽车
苏州福兰克1 天前
长期看裸眼3D显示器容易视觉疲劳吗?
3d·计算机外设
苏州福兰克1 天前
商用裸眼3D显示器和家用款主要差别在哪里?
3d·计算机外设
天树星智源1 天前
静态物理满分、交互 11.54%:3D 场景生成系统的幻觉
论文阅读·人工智能·3d·机器人
Wanda12141 天前
机器人与机电一体化3D数字孪生机器-Day9
人工智能·3d·unity·机器人·数字孪生