ee.Geometry.MultiPolygon.difference

Returns the result of subtracting the 'right' geometry from the 'left' geometry.

UsageReturns
MultiPolygon.difference(right, maxError, proj)Geometry
ArgumentTypeDetails
this: leftGeometry

The geometry used as the left operand of the operation.

rightGeometry

The geometry used as the right operand of the operation.

maxErrorErrorMargin, default: null

The maximum amount of error tolerated when performing any necessary reprojection.

projProjection, default: null

The projection in which to perform the operation. If not specified, the operation will be performed in a spherical coordinate system, and linear distances will be in meters on the sphere.

Examples

Code Editor (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]]]]);

// Define other inputs.
var inputGeom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425);

// Apply the difference method to the MultiPolygon object.
var multiPolygonDifference = multiPolygon.difference({'right': inputGeom, 'maxError': 1});

// Print the result to the console.
print('multiPolygon.difference(...) =', multiPolygonDifference);

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