CIMCube SDK 文档
CIMCube是一个用于在Web浏览器中创建3D地球和2D地图的JavaScript库,无需插件支持。本文档详细介绍了CIMCube SDK的所有导出模块和类。
核心类
Glodon.CIMCube
主要的CIMCube类,用于创建3D地球和2D地图实例。
主要属性:
viewer- 视图对象scene- 场景对象globe- 地球对象camera- 相机对象
主要方法:
flyTo()- 飞行定位dispose()- 释放资源
Glodon.CIMCube.Scene
场景管理类,包含以下子类:
- ReflectBox - 反射盒
- PointLight - 点光源
- SpotLight - 聚光灯
- DirectionalLight - 方向光
- Globe - 地球
- GroundSkyBox - 地面天空盒
Glodon.CIMCube.Camera
相机控制类
主要方法:
flyTo()- 飞行定位flyToBoundingSphere()- 飞行定位到包围球getCaptureImg()- 获取试图快照
主要模块
1. Glodon.CIMCube.Analysis - 空间分析模块
提供各种地理空间分析功能:
1.1 基础分析类
- CalculateSlope - 坡度计算分析
- SlopeAnalysis - 坡度分析
- ElevationHeatMap - 高程热力图分析
- TerrainSectionAnalysis - 地形剖面分析
- TerrainTINAnalysis - 地形TIN分析
1.2 填挖方分析类
- CutFill - 填挖方分析,计算指定区域的填挖方量
- ModelFlat - 模型平整分析
1.3 视域分析类
- Visibility - 通视分析
- ViewShed - 视域分析
- ViewCorridor - 视廊分析
- ViewDome - 视穹分析
- SkylineAnalysis - 天际线分析
1.4 环境分析类
- FloodAnalysis - 洪水淹没分析
- Sunlight - 日照分析
- WaterPollutionAnalysis - 水污染分析
1.5 剖面分析类
- SectionAnalysis - 剖面分析
- ModelSectionAnalysis - 模型剖面分析
- PipeLineCrossSection - 管线横断面分析
- Facade - 立面分析
1.6 其他分析类
- LimitHeight - 限高分析
- NearestPointAnalysis - 最近点分析
- BackLine - 背景线分析
2. Glodon.CIMCube.Simulation - 仿真模块
包含实时路径仿真等功能:
- RealTimePath - 实时路径仿真
3. Glodon.CIMCube.Animation - 动画模块
包含各种特效和动画功能:
3.1 Effect - 动画特效子模块
- CameraRoaming - 相机漫游
- FirstPersonRoaming - 第一人称漫游
- TrackRoaming - 轨迹漫游
- ThirdPersonRoaming - 第三人称漫游
- BillboardRoaming - 广告牌漫游
- BillboardEntity - 广告牌实体
- PrismPoint - 棱镜点
- Metaptosis - 变形效果
- Radar - 雷达效果
- CameraShooting - 相机拍摄
- Wall - 墙体效果
- VideoEntity - 视频实体
- PolylineVolumeFlow - 管线体积流动
- AmbientOcclusion - 环境光遮蔽
- DynamicLines - 动态线条(即将删除)
- RoadLine - 道路线条(即将删除)
3.2 WeatherEffect - 天气特效子模块
- Snow - 雪花效果
- Rain - 雨滴效果
- Fog - 雾气效果
3.3 PlaneEffect - 面特效子模块
- Dynamic - 动态面效果
- Radar - 雷达扫描面
- RingScan - 环形扫描
- StaticsRingScan - 静态环形扫描
- Moire - 波纹效果
- Statics - 静态面效果
- Sequence - 序列面效果
- DiffuseWall - 扩散墙效果
3.4 PointEffect - 点特效子模块
- Dynamic - 动态点效果
- Twinkle - 闪烁点效果
- Scatter - 散射点效果
- InstanceBillboard - 实例化广告牌
3.5 ParticleEffect - 粒子特效子模块
- Water - 水粒子效果
- Fire - 火焰粒子效果
- Smoke - 烟雾粒子效果
3.6 LineEffect - 线特效子模块
- TrailLines - 轨迹线条
- DynamicLines - 动态线条
- RopeLines - 绳索线条
- RoadLine - 道路线条
- FlyLines - 飞行线条
3.7 ModelEffect - 模型特效子模块
- UVTexture - UV纹理效果
- ModelExplode - 模型爆炸效果
- ModelInteroperation - 模型互操作
4. Glodon.CIMCube.Layer - 图层模块
包含各种类型的图层管理功能:
4.1 图层管理
- LayerManager - 图层管理器
4.2 基础图层类
- ImageryLayer - 影像图层,支持多种影像服务
- TerrainLayer - 地形图层
- GroupLayer - 图层组
4.3 3D数据图层
- Tiles3DLayer - 3D Tiles图层
- GltfLayer - GLTF模型图层
- S3MTilesLayer - S3M瓦片图层
- I3STilesLayer - I3S瓦片图层
4.4 矢量数据图层
- GeoJsonLayer - GeoJSON图层
- KmlLayer - KML图层
- GmlLayer - GML图层
- VectorTileLayer - 矢量瓦片图层
4.5 特殊图层
- GraphicLayer - 图形图层
- ClusterLayer - 聚合图层
- DivLayer - DIV图层
- InstanceLayer - 实例图层
- GSMMLayer - GSMM图层
5. Glodon.CIMCube.Graphic - 图形模块
包含各种几何图形和标注功能:
5.1 基础图形类
- BoxGraphic - 盒子图形
- PolygonGraphic - 多边形图形
- PolylineGraphic - 折线图形
- PointGraphic - 点图形
- EllipseGraphic - 椭圆图形
- RectangleGraphic - 矩形图形
- CorridorGraphic - 走廊图形
5.2 3D图形类
- CylinderGraphic - 圆柱体图形
- EllipsoidGraphic - 椭球体图形
- PlaneGraphic - 平面图形
- WallGraphic - 墙体图形
- PolylineVolumeGraphic - 折线体积图形
5.3 标注图形类
- BillboardGraphic - 广告牌图形
- LabelGraphic - 标签图形
5.4 辅助类和枚举
- HeightReference - 高度参考枚举
- CornerType - 角点类型枚举
- HorizontalOrigin - 水平原点枚举
- VerticalOrigin - 垂直原点枚举
- LabelStyle - 标签样式枚举
- GeoPoint - 地理点类
6. Glodon.CIMCube.Utils - 工具模块
包含各种实用工具和服务:
6.1 裁剪工具
- ModelClip - 模型裁剪
- TerrainClip - 地形裁剪
- SceneClip - 场景裁剪
- BoxClip - 盒子裁剪
- ClipBase - 裁剪基类
6.2 测量工具
- Measure - 测量工具
- MeasureUtils - 测量工具集
- MeasureFormula - 测量公式
- MeasurementUtils - 测量实用工具
6.3 分析工具
- VolumeCalculation - 体积计算
- HeatMap - 热力图
- ContourLine - 等高线
- BufferTool - 缓冲区工具
- SightLimitCalculate - 视距限制计算
6.4 服务工具
- DistanceLegendService - 距离图例服务
- CompassService - 指南针服务
- POISearchService - POI搜索服务
- StatusBarService - 状态栏服务
- MapLegendService - 地图图例服务
6.5 其他工具
- MultiViewPort - 多视口
- PerformanceListening - 性能监听
- MapSplit - 地图分屏
- BoxDragger - 盒子拖拽器
- ModelCut - 模型切割
- ModelExcavation - 模型挖掘
- CoordinateTransform - 坐标转换
- Snap - 捕捉工具
7. Glodon.CIMCube.Widgets - 组件模块
包含各种UI组件和控件:
7.1 图层控制组件
- LayerControlWidget - 图层控制组件
- MapOptionsWidget - 地图选项组件
7.2 导航组件
- CompassWidget - 指南针组件
- GeocoderWidget - 地理编码组件
7.3 信息显示组件
- StatusBar - 状态栏
- DistanceLegend - 距离图例
- MapLegendWidget - 地图图例组件
7.4 漫游组件
- CameraRoam - 相机漫游组件
- GroundRoam - 地面漫游组件
7.5 其他组件
- MapSplitWidget - 地图分屏组件
- DragModel - 拖拽模型组件
8. Glodon.CIMCube.Controls - 控制模块
包含各种交互控制功能:
- TakeCoordinates - 坐标拾取控制器
- PickEventHandler - 拾取事件处理器
9. Glodon.CIMCube.Global - 全局模块
包含全局配置、数据和工具:
9.1 Defines - 全局定义子模块
包含各种常量和枚举定义
9.2 Data - 全局数据子模块
包含全局数据管理
9.3 Logger - 日志子模块
- logger - 日志记录器
- LogLevels - 日志级别枚举
9.4 Math - 数学工具子模块
包含各种数学计算和坐标转换函数:
角度转换:
toRadians()- 角度转弧度toDegrees()- 弧度转角度
坐标转换:
cartesianToLlh()- 笛卡尔坐标转经纬高llhToCartesian()- 经纬高转笛卡尔坐标cartesianToCoordinates()- 笛卡尔坐标转坐标coordinatesToCartesian()- 坐标转笛卡尔坐标cartesianArrayToCoordinatesArray()- 笛卡尔坐标数组转坐标数组coordinatesArrayToCartesianArray()- 坐标数组转笛卡尔坐标数组cartesianToCartographic()- 笛卡尔坐标转制图坐标cartographicToCartesian()- 制图坐标转笛卡尔坐标
其他工具:
modelToWorldCoordinates()- 模型坐标转世界坐标toCesiumColor()- 转换为Cesium颜色caluateMatrix()- 计算矩阵coordinateTranslate()- 坐标平移getWorldPositionByLocalPosition()- 通过本地位置获取世界位置offsetToLongLat()- 偏移转经纬度roundingByBezier()- 贝塞尔圆角computeSVDMatrix()- 计算SVD矩阵
快速开始
基本初始化
// 创建CIMCube实例
const map = new Glodon.CIMCube({
id: "cesiumContainer",
gisResourceUrl: "../CIMCubeRender/",
baseMap: {
show: true,
name: "高德影像",
imageryType: Glodon.CIMCube.Global.Defines.ImageryLayerType.GAODE_IMG
},
params: {
debugShowFramesPerSecond: true,
shadows: true,
layerControl: true,
useDefaultTerrain: false,
depthTestAgainstTerrain: true
}
});
添加图层
// 添加影像图层
const imageryLayer = new Glodon.CIMCube.Layer.ImageryLayer({
imageryType: Glodon.CIMCube.Global.Defines.ImageryLayerType.TDT_IMG,
name: "天地图影像"
});
// 添加3D Tiles图层
const tiles3DLayer = new Glodon.CIMCube.Layer.Tiles3DLayer({
url: "path/to/tileset.json",
name: "3D建筑模型"
});
创建图形
// 创建多边形图形
const polygon = new Glodon.CIMCube.Graphic.PolygonGraphic({
positions: [
[116.1, 39.5, 0],
[116.2, 39.5, 0],
[116.2, 39.6, 0],
[116.1, 39.6, 0]
],
material: "red",
outline: true,
outlineColor: "yellow"
});
进行空间分析
// 创建填挖方分析
const cutFillAnalysis = new Glodon.CIMCube.Analysis.CutFill(map, {
boundary: [
{lon: 116.1, lat: 39.5, height: 0},
{lon: 116.2, lat: 39.5, height: 0},
{lon: 116.2, lat: 39.6, height: 0},
{lon: 116.1, lat: 39.6, height: 0}
],
level: 100,
showVisualization: true
});
添加动画效果
// 创建相机漫游
const cameraRoaming = new Glodon.CIMCube.Animation.Effect.CameraRoaming(map, {
positions: [
{lon: 116.1, lat: 39.5, height: 1000},
{lon: 116.2, lat: 39.6, height: 1000}
],
duration: 10000
});
// 开始漫游
cameraRoaming.start();
使用工具
// 创建测量工具
const measure = new Glodon.CIMCube.Utils.Measure(map, measureMode, options);
// 开始距离测量
measure.activate();
事件处理
// 监听分析完成事件
cutFillAnalysis.on("finish", function(result) {
console.log("填挖方分析完成", result);
});
资源管理
// 释放资源
map.dispose();
cutFillAnalysis.dispose();
cameraRoaming.dispose();
本文档涵盖了CIMCube SDK的所有导出模块和主要功能。更详细的API文档请参考自动生成的JSDoc文档。