简介:Cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎。Cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区域,并提供良好的触摸支持,且支持绝大多数的浏览器和mobile。

主要功能

1.使用3d tiles格式流式加载各种不同的3d数据,包含倾斜摄影模型、三维建筑物、CAD和BIM的外部和内部,点云数据。并支持样式配置和用户交互操作。

2.全球高精度地形数据可视化,支持地形夸张效果、以及可编程实现的等高线和坡度分析效果。

3.支持多种资源的图像图层,包括WMS, TMS.WMTS以及时序图像。图像支持透明度叠加、亮度、对比度、GAMMA、色调、饱和度都可以动态调整,支持图像的卷帘对比。

4.支持标准的矢量格式KML、 GeoJSON, TopoJSON.以及矢量的贴地效果。

5.三维模型支持gltf2.0标准的PBR材质、动画、蒙皮和变形效果。贴地以及高亮效果。

6.使用CZML支持动态时序数据的展示。

7.支持各种几何体:点、线、面、标注、公告牌、立方体、球体、椭球体、圆柱体、走廊(corridors)、管径、墙体

8.可视化效果包括:基于太阳位置的阴影、自身阴影、柔和阴影。

9.大气、雾、太阳、阳光、月亮、星星、水面。

10.粒子特效:烟、火、火花。

11.地形、模型、3d tiles模型的面裁剪。

12.对象点选和地形点选。

13.支持鼠标和触摸操作的缩放、渲染、惯性平移、飞行、任意视角、

地形碰撞检测。

14.支持3d地球、2d地图、2.5d哥伦布模式。3d视图可以使用透视和正

视两种投影方式。

15.支持点、标注、公告牌的聚集效果。

3d tiles得特点

协议完全开放:任何组织机构都可以用此标准来定义自己的数据。

渐进加载和渲染:这是3dtiles的主要目的,采用HLOD技术,保证只加载和渲染和当前精度匹配的数据。面向三维空间:定义在三维空间中,不仅仅是点、线、面等常规二维数据

可交互:支持鼠标选择和高亮

样式可配置:根据对象属性修改对象的显示样式。

更强的适应性:空间索引不仅仅支持常规四叉树,可以根据数据内容动态构建索引树。更强的灵活性:动态调整数据加载精度

更广泛的数据支持:点云(pnts)、三维模型(b3dm,13dm)、甚至地形、矢量(vctr)都可以用3d tiles格式定义。精度:使用矩阵偏移解决大坐标值的漂移问题

实时的:支持动态数据

使用cesium

下载cesium得目录:版本1.9

使用node.js运行起来 http-server -c -1

打开运行窗体

此时cesium就运行起来了。 详细搭建过程参考:cesium编程入门(二)环境搭建 | cesium中文网

 第一个项目:

1.创建一个文件夹First-cesium-helloworld

2.将Cesium目录下的Build文件拷贝进来,将Apps下的HelloWorld拷贝进来

3.使用Node.js发布

3.1. 添加Server.js文件

var http = require("http");
var express = require("express");
const path = require('path');

var app = express();
app.use(express.static(path.join(__dirname, '')));

app.listen(4111, () => {
  console.log(`App listening at port 4111`)
})

 3.2

D:\test\Cesium-test> yarn add express
//或者
D:\test\Cesium-test> cnpm install express --save

此时你将得到

运行node server.js

打开网页http://127.0.0.1:4111/index.html

 此时,一个demo发布完毕

更多推荐

cesium自学记录(一)