CesiumJS

用于世界级3D地球仪和地图的开源JavaScript库。(An open-source JavaScript library for world-class 3D globes and maps. )

Github stars Tracking Chart

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创建移动应用程序

Overview

Name With OwnerCesiumGS/cesium
Primary LanguageJavaScript
Program languageCSS (Language Count: 8)
PlatformLinux, Mac, Windows
License:Apache License 2.0
Release Count177
Last Release Name1.116 (Posted on 2024-04-01 14:04:35)
First Release Nameb5 (Posted on 2012-05-17 14:45:30)
Created At2012-03-02 22:27:14
Pushed At2024-04-26 20:26:22
Last Commit At2022-04-25 09:59:18
Stargazers Count11.8k
Watchers Count467
Fork Count3.3k
Commits Count40.2k
Has Issues Enabled
Issues Count5748
Issue Open Count1333
Pull Requests Count5389
Pull Requests Open Count17
Pull Requests Close Count734
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

Build Status 
Docs Greenkeeper badge

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization.

CesiumJS Homepage

CesiumJS Features Checklist

:rocket: Get Started

Visit the Downloads page or use the npm module:

npm install cesium

Have questions? Ask them on the forum.

Interested in contributing? See CONTRIBUTING.md. :heart:

:snowflake: Mission

Our mission is to create the leading 3D globe and map for static and time-dynamic content, with the best possible performance, precision, visual quality, platform support, community, and ease of use.

:green_book: License

Apache 2.0. CesiumJS is free for both commercial and non-commercial use.

:earth_americas: Where Does the 3D Content Come From?

CesiumJS can stream 3D content such as terrain, imagery, and 3D Tiles from the commercial Cesium ion
platform and other content sources. You are free to use any combination of content sources with CesiumJS that you please.
Using Cesium ion helps support CesiumJS development. :heart:

To the top