仲灏小栈 仲灏小栈
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

仲灏

诚意, 正心, 格物, 致知
首页
大前端
后端&运维
其他技术
生活
关于我
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 《前端项目基础建设》
  • HTML&CSS

  • JavaScript&TypeScript

  • Node

  • 构建

  • Vue

  • React

  • 小程序

  • 跨端

  • Electron

  • WebGL&GIS

    • GIS前端开发常用网站收录
    • Cesium 学习
    • Cesium 应用各类型地理数据
      • 加载GEOJSON数据
      • KML数据
      • CZML数据
        • 案例: 追踪航班飞行
      • 3DTiles与性能监控
  • 浏览器

  • 面经

  • 其他

  • 大前端
  • WebGL&GIS
仲灏
2023-02-06
目录

Cesium 应用各类型地理数据

# 加载GEOJSON数据

# KML数据

# CZML数据

const czml = [
	{
		id: "document",
		name: "CZML Point - Time Dynamic",
		version: "1.0"
	},
	{
		id: "point",
		availability: "2012-08-04****/****", // 物体在什么时间范围可用
		position: {
			eoch: "2012-08-04****", // 设置物体起始时间
			cartographicDegrees: [***], // 设置四个维度, 1维是时间, 2维是精度, 3纬度, 4高度
		},		
		point: {
			color: {**},
			outlineColor: {rgb***},
			outlineWidth: 3,
			pixelSize: 15
		}
	}
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  • 加载czml数据

    ...
    const viewer = new Cesium.Viewer('cesiumContainer', {
      // 是否显示信息窗口
      infoBox: false,
      shouldAnimate: true
    })
    ...
    let promiseData = Cesium.CzmlDataSource.load(czml);
    promiseData.then((dataSource) => {
      viewer.dataSources.add(dataSource);
    })
    ...
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

# 案例: 追踪航班飞行

# 3DTiles与性能监控

3D Tiles: 使用 3D Tiles 将建筑 CAD 模型与摄影测量数据融合,数据由 Bentley Systems 提供。

https://github.com/CesiumGS/3d-tiles

...
// 添加3D 建筑
let tiles3d = new Cesium.createOsmBuildings()
const osmBuildings = viewer.scene.primitives.add(tiles3d)
1
2
3
4

数据解析: tileset.json

{
  root: { // 主物体
    "refine": "ADD", // 对物体的处理  是添加或者替换
    "content": {
      "uri": "parent.b3dm", // 物体贴图文件
      "boundingVolume": {
        "regon": [****] // 物体范围
      }
    }
  },
  "children": [ // 子物体 如多个瓦片
    
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const tileset = new Cesium.Cesium3DTileset({
  url: './tileset.json',
})
viewer.scene.primitives.add(tileset);
tileset.readyPromise.then(tileset => {
  viewer.zoomTo(tileset)
})
1
2
3
4
5
6
7
上次更新: 2023/06/10, 12:06:41
Cesium 学习
在浏览器中直接使用npm包

← Cesium 学习 在浏览器中直接使用npm包→

最近更新
01
vim日常使用记录
04-02
02
滑动窗口最大值
04-02
03
有效的字母异位词
04-02
更多文章>
Theme by Vdoing | Copyright © 2021-2025 izhaong | github | 蜀ICP备2021031194号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式