ee.Geometry.MultiPolygon.simplify

将几何图形简化到给定的误差范围内。请注意,除非明确将 maxError 指定为 null,否则此方法不会考虑相应算法的使用者请求的误差边际。

这会替换用于传播误差边际的默认 Earth Engine 政策,因此无论从输出中请求的几何图形精度如何,系统都会根据此算法的实参中指定的误差边际来请求输入。这样一来,渲染的矢量地图在所有缩放级别都能保持一致的渲染效果,但在较低的缩放级别(即缩小)下,几何图形不会简化,这可能会影响性能。

用法返回
MultiPolygon.simplify(maxError, proj)几何图形
参数类型详细信息
此:geometry几何图形要简化的几何图形。
maxErrorErrorMargin结果与输入之间可能存在的最大误差。
proj投影,默认值:null如果指定了此参数,结果将采用此投影。否则,它将与输入处于同一投影中。如果误差边际采用的是预测单位,则边际将解读为相应预测的单位。

示例

代码编辑器 (JavaScript)

// Define a MultiPolygon object.
var multiPolygon = ee.Geometry.MultiPolygon(
    [[[[-122.092, 37.424],
       [-122.086, 37.418],
       [-122.079, 37.425],
       [-122.085, 37.423]]],
     [[[-122.081, 37.417],
       [-122.086, 37.421],
       [-122.089, 37.416]]]]);

// Apply the simplify method to the MultiPolygon object.
var multiPolygonSimplify = multiPolygon.simplify({'maxError': 1});

// Print the result to the console.
print('multiPolygon.simplify(...) =', multiPolygonSimplify);

// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(multiPolygon,
             {'color': 'black'},
             'Geometry [black]: multiPolygon');
Map.addLayer(multiPolygonSimplify,
             {'color': 'red'},
             'Result [red]: multiPolygon.simplify');

Python 设置

如需了解 Python API 和如何使用 geemap 进行交互式开发,请参阅 Python 环境页面。

import ee
import geemap.core as geemap

Colab (Python)

# Define a MultiPolygon object.
multipolygon = ee.Geometry.MultiPolygon([
    [[
        [-122.092, 37.424],
        [-122.086, 37.418],
        [-122.079, 37.425],
        [-122.085, 37.423],
    ]],
    [[[-122.081, 37.417], [-122.086, 37.421], [-122.089, 37.416]]],
])

# Apply the simplify method to the MultiPolygon object.
multipolygon_simplify = multipolygon.simplify(maxError=1)

# Print the result.
display('multipolygon.simplify(...) =', multipolygon_simplify)

# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(
    multipolygon, {'color': 'black'}, 'Geometry [black]: multipolygon'
)
m.add_layer(
    multipolygon_simplify,
    {'color': 'red'},
    'Result [red]: multipolygon.simplify',
)
m