简介: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自学记录(一)
发布评论