/** * DMap3D 主类 - 统一功能入口(静态命名空间) * * 使用方式: * const areaTool = new DMap3D.measurement.area(viewer) * const viewshedTool = new DMap3D.analysis.viewshed(viewer) * const pointTool = new DMap3D.drawing.point(viewer) */ import * as MeasurementTools from './modules/measurement'; import * as AnalysisTools from './modules/analysis'; import * as DrawingTools from './modules/drawing'; import * as MilitaryTools from './modules/military'; import * as BasemapTools from './modules/basemap'; import * as Tiles3DTools from './modules/tiles3d'; import * as TerrainTools from './modules/terrain'; /** * DMap3D 主类 - 提供静态命名空间访问各功能模块 */ export declare class DMap3D { /** * 测量模块 - 包含长度、面积、高度、角度等测量工具 * @example * const areaTool = new DMap3D.measurement.area(viewer) * areaTool.activate() */ static readonly measurement: { area: typeof MeasurementTools.Area; height: typeof MeasurementTools.Height; spaceDistance: typeof MeasurementTools.SpaceDistance; surfaceDistance: typeof MeasurementTools.SurfaceDistance; horizontalDistance: typeof MeasurementTools.HorizontalDistance; surfaceArea: typeof MeasurementTools.SurfaceArea; verticalArea: typeof MeasurementTools.VerticalArea; angle: typeof MeasurementTools.Angle; slope: typeof MeasurementTools.Slope; azimuth: typeof MeasurementTools.Azimuth; }; /** * 分析模块 - 包含通视分析、可视域分析、等高线分析、剖面分析、天际线分析、缓冲区分析等分析工具 * @example * // 通视分析(两点之间的射线检测) * const viewshedTool = new DMap3D.analysis.viewshed(viewer) * viewshedTool.activate() * * // 可视域分析(基于视锥体的区域可见性分析) * const viewshedAreaTool = new DMap3D.analysis.viewshedArea(viewer) * viewshedAreaTool.startAnalysis() * * // 等高线分析(地形等高线显示) * const contourTool = new DMap3D.analysis.contour(viewer) * contourTool.show() * * // 剖面分析(地形剖面线分析) * const profileTool = new DMap3D.analysis.profile(viewer) * const result = await profileTool.startAnalysis(coords, distances) * * // 天际线分析(场景轮廓线分析) * const skylineTool = new DMap3D.analysis.skyline(viewer) * skylineTool.init() * const skylineData = await skylineTool.getSkyline2D() * * // 缓冲区分析(在指定图形周围创建缓冲区域) * const bufferTool = new DMap3D.analysis.bufferAnalysis(viewer) * bufferTool.activate() */ static readonly analysis: { viewshed: typeof AnalysisTools.Viewshed; viewshedArea: typeof AnalysisTools.ViewshedArea; contour: typeof AnalysisTools.Contour; profile: typeof AnalysisTools.Profile; skyline: typeof AnalysisTools.Skyline; bufferAnalysis: typeof AnalysisTools.BufferAnalysis; elevationExtremum: typeof AnalysisTools.ElevationExtremum; aspectAnalyse: typeof AnalysisTools.AspectAnalyse; slopAnalyse: typeof AnalysisTools.SlopAnalyse; cutFill: typeof AnalysisTools.CutFill; flattenAnalysis: typeof AnalysisTools.Flatten; }; /** * 标绘模块 - 包含点、线、面、圆等标绘工具 * @example * // 点标绘 * const pointTool = new DMap3D.drawing.point({ viewer }) * pointTool.draw() * * // 线标绘 * const polylineTool = new DMap3D.drawing.polyline({ viewer }) * polylineTool.draw() * * // 面标绘 * const polygonTool = new DMap3D.drawing.polygon({ viewer }) * polygonTool.draw() * * // 圆标绘 * const circleTool = new DMap3D.drawing.circle({ viewer }) * circleTool.draw() */ static readonly drawing: { point: typeof DrawingTools.DrawPoint; polyline: typeof DrawingTools.DrawPolyline; polygon: typeof DrawingTools.DrawPolygon; circle: typeof DrawingTools.DrawCircle; }; static readonly military: { FineArrow: typeof MilitaryTools.FineArrow; StraightArrow: typeof MilitaryTools.StraightArrow; AssaultDirection: typeof MilitaryTools.AssaultDirection; AttackArrow: typeof MilitaryTools.AttackArrow; DoubleArrow: typeof MilitaryTools.DoubleArrow; TailedAttackArrow: typeof MilitaryTools.TailedAttackArrow; SquadCombat: typeof MilitaryTools.SquadCombat; TailedSquadCombat: typeof MilitaryTools.TailedSquadCombat; CurveFlag: typeof MilitaryTools.CurveFlag; RectFlag: typeof MilitaryTools.RectFlag; TriangleFlag: typeof MilitaryTools.TriangleFlag; Lune: typeof MilitaryTools.Lune; ClosedCurve: typeof MilitaryTools.ClosedCurve; GatheringPlace: typeof MilitaryTools.GatheringPlace; }; /** * 底图模块 - 包含影像、矢量、三维瓦片等底图服务 * @example * const tiles3D = new DMap3D.basemap.tiles3D(viewer) * tiles3D.load(url) * * 注意:当前模块尚未实现,待实现后启用 */ static readonly basemap: { XYZLayer: typeof BasemapTools.XYZLayer; WMTSLayer: typeof BasemapTools.WMTSLayer; WMSLayer: typeof BasemapTools.WMSLayer; GeoJsonLayer: typeof BasemapTools.GeoJsonLayer; }; static readonly tiles3d: { Tiles3DLayer: typeof Tiles3DTools.Tiles3DLayer; }; /** * 地形模块 - 包含各种地形数据加载功能 * @example * // 使用 Cesium Ion 世界地形(推荐) * const terrainLayer = new DMap3D.terrain.WorldTerrainLayer({ * requestWaterMask: true, * requestVertexNormals: true * }); * viewer.terrainProvider = await terrainLayer.getTerrainProviderAsync(); * * @example * // 使用 Cesium 地形服务 * const terrainLayer = new DMap3D.terrain.CesiumTerrainLayer({ * url: 'https://assets.cesium.com/1/', * requestWaterMask: true * }); * viewer.terrainProvider = await terrainLayer.getTerrainProviderAsync(); * * @example * // 使用椭球体地形(默认) * const terrainLayer = new DMap3D.terrain.EllipsoidTerrainLayer(); * viewer.terrainProvider = terrainLayer.getTerrainProvider(); * * @example * // 使用多地形组合加载 * const multiTerrain = new DMap3D.terrain.MultiTerrainLayer(); * const localTerrain = await Cesium.CesiumTerrainProvider.fromUrl('http://localhost/terrain'); * multiTerrain.addTerrainProvider(localTerrain, 0); * const globalTerrain = await Cesium.createWorldTerrainAsync(); * multiTerrain.addTerrainProvider(globalTerrain); * viewer.terrainProvider = multiTerrain.getTerrainProvider(); */ static readonly terrain: { EllipsoidTerrainLayer: typeof TerrainTools.EllipsoidTerrainLayer; CesiumTerrainLayer: typeof TerrainTools.CesiumTerrainLayer; ArcGisTerrainLayer: typeof TerrainTools.ArcGisTerrainLayer; WorldTerrainLayer: typeof TerrainTools.WorldTerrainLayer; TerrainCollectionLayer: typeof TerrainTools.TerrainCollectionLayer; DefaultGlobeTerrainProvider: typeof TerrainTools.DefaultGlobeTerrainProvider; }; }