with one click
MineMap 三维量算业务规范。用于面积、贴地面积、辅助测量与规划校核。
npx skills add https://github.com/ming1zhou88/minemap-skills --skill minemap-business-measurementCopy and paste this command into Claude Code to install the skill
MineMap 三维量算业务规范。用于面积、贴地面积、辅助测量与规划校核。
npx skills add https://github.com/ming1zhou88/minemap-skills --skill minemap-business-measurementCopy and paste this command into Claude Code to install the skill
MineMap 二三维叠加规范。覆盖矢量贴地、贴模型、对象接受/拒绝贴合、symbol 自动赋高、以及 raster 深度测试与图层顺序控制。
MineMap 全局配置、key/solution、域名地址、sprite/fonts、minemapCDN 与启动前配置顺序。用于指导用户正确完成地图初始化前的配置,不再把 accessToken 作为主推荐路径。
MineMap 的 Marker 与 Popup 规范。涵盖 DOM 覆盖物、三维高度、distanceDisplayCondition、拖拽、内容 API、地形场景与常见失败场景。
MineMap 模型运行时调试规范。用于爆炸视图、材质/纹理更新、线框显示、属性外挂、运行时查看与距离可见性控制。
MineMap 三维场景组件体系:SceneModel、SceneTileset、SceneObject(Earth/Skybox/AirLine 等),重点补全 glTF/glb 与 3D Tiles 参数边界。
MineMap 样式规范(style v8)、source/layer 管理、图标资源、GeoJSON 更新与数据源组织,重点补全 VectorTileSource 参数与约束。
| name | minemap-business-measurement |
| description | MineMap 三维量算业务规范。用于面积、贴地面积、辅助测量与规划校核。 |
const area = minemap.Measurement3D.area([
new minemap.Math.Vector3(116.39, 39.9, 0),
new minemap.Math.Vector3(116.4, 39.9, 0),
new minemap.Math.Vector3(116.4, 39.91, 0),
new minemap.Math.Vector3(116.39, 39.91, 0)
]);
console.log(area);
Measurement3D 是静态工具类,不是可直接挂图的对象。真正的业务落地通常要分成两层:
Measurement3D.area()Measurement3D.distance()Measurement3D.height()Measurement3D.clampedArea()Measurement3D.clampedDistance()demo 已经完整体现了这个分层思路。
area(positions):空间面积distance(positions):空间距离height(startPoint, endPoint):三角高差,返回水平距、垂距、斜距clampedArea(positions, map, mostDetailed = false, sampleRatio = 400, minArea = 400):贴地面积clampedDistance(positions, map, mostDetailed = false, minDistance = 30):贴地距离对应 demo:demo/html/Measurement3D.html
这个 demo 给出了最标准的交互约束:
同时它还说明一个重要实践:
Measurement3D 本身只负责算值Primitive + PolygonGeometry + PolylineGeometry 自己画辅助图形对应 demo:demo/html/ClampedMeasurement.html
这个 demo 的要点比空间量算更重要:
adaptTerrainclampedArea() / clampedDistance()area / distance / heightclampedArea / clampedDistancearea / distance / height 主要吃 Vector3Vector2 | Vector3不要把 screen point、LngLat 对象、普通数组直接混进去。
源码里已有明确保护:
因此大范围复杂区域必须先裁剪。
height() 不是“地形高程查询”它算的是两个三维点之间的三角测量结果,不要和 DEM 高程读取混淆。
结果不可靠,甚至直接报错。贴地量算前必须先确认 terrain 可用。
会遇到采样点暴涨。正确做法是:
Measurement3D 不管理交互状态,也不负责界面提示。业务层必须自己实现开始、撤销、结束、重置。
demo/html/Measurement3D.htmldemo/html/ClampedMeasurement.htmlminemap-terrain-and-analysisminemap-business-admin-division