Cesium 是一个JavaScript库,用于在没有插件的Web浏览器中创建3D地球仪和2D地图。 它使用WebGL进行硬件加速的图形,并且是跨平台、跨浏览器和调整动态数据可视化。
安装(use the npm module):
npm install cesium
Cesium 特性:
动态地理空间可视化
- 使用3D Tiles流式传输,风格化和与异构3D数据交互,包括摄影测量模型,3D建筑,CAD和BIM外部和内部和点云。
- 可视化高分辨率全球地形。可选地夸张地形。
- 来自多个来源的图层图像,包括WMS,TMS,具有时间动态图像的WMTS,Bing Maps,Mapbox,GEE,OpenStreetMap,ArcGIS MapServer,标准图像文件和自定义平铺方案。每个层可以与其下面的层进行alpha混合,其亮度,对比度,伽玛,色相和饱和度可以动态地改变。两层可以跨屏幕分割。
- 使用旧版Google Earth Enterprise地形和图像。
- 行业标准矢量格式,如KML,GeoJSON和TopoJSON,包括地形夹紧。
- 使用glTF绘制动画和皮肤的3D模型。将模型夹在地形上并突出显示其轮廓。使用在线转换器将COLLADA和OBJ转换为glTF。使用KHR_binary_glTF和WEB3D_quantized_attributes扩展来减少文件大小。
- 使用CZML创建数据驱动的时间动态场景。
- 绘制和绘制各种几何形状:
- 折线和折线
- 广告牌
- 标签
- 点
- 绘制,夹紧地形,拉伸多边形,多边形孔,矩形,圆形和椭圆形
- 盒子,球体,椭圆体和圆柱体
- 走廊,折线和墙壁
- 创建视觉效果,包括:
- 阴影,包括自阴影和软阴影的地形,3D模型和几何,基于太阳的位置。
- 大气,雾,太阳,太阳照明,月亮,星星和水。
- 颗粒系统的影响,如烟,火和火花。
- 单个物体的选择和地形的选择。
- 用鼠标和触摸处理器进行旋转、缩放、平移、惯性、飞行、自由外观和地形碰撞检测的摄像机导航。
- 针对性能进行批处理,剔除,JavaScript和GPU优化。
- 精确处理大视距(避免z战斗)和大世界坐标(避免抖动)。
- 具有相同API的3D地球仪,2D地图和哥伦布视图(2.5D)。 3D视图可以使用透视或正投影像。
- 显示军事符号系统,如MIL-STD-2525和STANAG APP6,通过与milsymbol集成。
- 集群点,标签和广告牌。
小工具
- 控制模拟时间的时间线和动画小部件。
- 用于选择图像和地形的基层选择器小部件。
- 选择和信息框小部件,用于突出显示对象和显示信息。
- 地理编码小部件,用于飞往地址和地标。
- 家庭视图小部件飞到默认相机视图。
- 3D模式,2D模式和哥伦布视野之间的场景模式选择器小部件。
- 全屏幕小部件用于切换全屏模式。
- 导航帮助小部件提供鼠标和触摸指令。
- 性能监视器用于监视帧速率。
- Inspector小部件用于高级图形调试。
- WebVR小部件用于使用VR卡,如Google Cardboard查看铯。
- 高精度数学和时间
- 参考框架,如世界大地测量系统(WGS84),国际天体参考框架(ICRF)和东北向上。
- 等距圆柱和墨卡托2D地图投影。
- 转换,如经度/纬度/高度到笛卡尔坐标。
- 快速笛卡尔,球形,制图,矩阵和四元数类型。
- 儒略历,闰秒,UTC和TAI时间标准。
灵活部署
- 使用Cesium作为单个.js文件(加上.css和web-workers .js文件)或异步模块定义(AMD)仅包括您使用的内容。
- 使用Cesium和电子创建跨平台桌面应用程序。
- 用Cesium和Cordova创建移动应用程序