AI-generated Key Takeaways
-
distance()
calculates the minimum distance between a MultiPolygon and another geometry. -
The function returns the distance as a float, potentially in meters on the sphere depending on the projection used.
-
Optional parameters include
maxError
for reprojection tolerance andproj
to specify the projection for the calculation. -
The distance is computed from the boundary of the MultiPolygon to the nearest point on the other geometry.
Usage | Returns |
---|---|
MultiPolygon.distance(right, maxError, proj, spherical) | Float |
Argument | Type | Details |
---|---|---|
this: left | Geometry | The geometry used as the left operand of the operation. |
right | Geometry | The geometry used as the right operand of the operation. |
maxError | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |
proj | Projection, 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. |
spherical | Boolean, default: false | If true, the calculation will be done on the unit sphere. If false, the calculation will be elliptical, taking earth flattening into account. Ignored if proj is specified. Default is false. |
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.Point(-122.090, 37.423); // Apply the distance method to the MultiPolygon object. var multiPolygonDistance = multiPolygon.distance({'right': inputGeom, 'maxError': 1}); // Print the result to the console. print('multiPolygon.distance(...) =', multiPolygonDistance); // 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');
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]]], ]) # Define other inputs. input_geom = ee.Geometry.Point(-122.090, 37.423) # Apply the distance method to the MultiPolygon object. multipolygon_distance = multipolygon.distance(right=input_geom, maxError=1) # Print the result. display('multipolygon.distance(...) =', multipolygon_distance) # 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(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom') m