如何在GEE中向空geometry图层添加用户绘制的几何要素
几何要素分类存储图层实现方案
- 功能目标:创建2个独立空图层,分别自动存储用户绘制的点要素、面要素
- 实现逻辑:初始化目标图层后,监听绘制事件,按要素类型分发到对应图层
// 初始化空几何图层 // 点图层,红色标识 var pointLayer = ui.Map.GeometryLayer({geometries: null, name: 'points', color: '#ff0000'}); // 面图层,绿色标识 var polygonLayer = ui.Map.GeometryLayer({geometries: null, name: 'polygons', color: '#3b8b00'}); // 将两个自定义图层添加到地图图层面板 Map.layers().add(pointLayer); Map.layers().add(polygonLayer); // 绑定绘制完成事件监听 Map.onDraw(function (newGeometry) { var geometryType = newGeometry.type(); // 按类型分配图层,支持单部件、多部件要素 if (geometryType === 'Point' || geometryType === 'MultiPoint') { pointLayer.geometries().add(newGeometry); } else if (geometryType === 'Polygon' || geometryType === 'MultiPolygon') { polygonLayer.geometries().add(newGeometry); } // 清除默认绘制工具生成的临时几何要素 Map.drawingTools().clear(); });
如果你需要支持线要素的分类存储,新增对应图层和类型判断分支即可。
内容的提问来源于stack exchange,提问作者farhat
相关产品推荐
相关产品推荐

