Stay organized with collectionsSave and categorize content based on your preferences.
Returns the minimum distance between two geometries.
Usage
Returns
Polygon.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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-23 UTC."],[[["\u003cp\u003eCalculates the minimum distance between two geometries, with one being a polygon.\u003c/p\u003e\n"],["\u003cp\u003eReturns the distance as a float value, representing the shortest distance between the geometries.\u003c/p\u003e\n"],["\u003cp\u003eOptionally allows specifying the projection and maximum error for reprojection during the calculation.\u003c/p\u003e\n"],["\u003cp\u003eIf a projection isn't specified, the calculation is performed using spherical coordinates, and distances are in meters on the sphere.\u003c/p\u003e\n"]]],["The `distance` method calculates the minimum distance between two geometries (`left` and `right`). It accepts optional arguments: `maxError` (tolerated error during reprojection), `proj` (projection for the operation), and `spherical` (spherical or elliptical calculation when `proj` is unspecified). The method returns a float value. The example shows how to use the function, by creating two geometries, one of type Polygon and the other Point, and obtain the minimum distance between them.\n"],null,["# ee.Geometry.Polygon.distance\n\nReturns the minimum distance between two geometries.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|--------------------------------------------------------------------|---------|\n| Polygon.distance`(right, `*maxError* `, `*proj* `, `*spherical*`)` | Float |\n\n| Argument | Type | Details |\n|--------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `left` | Geometry | The geometry used as the left operand of the operation. |\n| `right` | Geometry | The geometry used as the right operand of the operation. |\n| `maxError` | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |\n| `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. |\n| `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. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a Polygon object.\nvar polygon = ee.Geometry.Polygon(\n [[[-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423]]]);\n\n// Define other inputs.\nvar inputGeom = ee.Geometry.Point(-122.090, 37.423);\n\n// Apply the distance method to the Polygon object.\nvar polygonDistance = polygon.distance({'right': inputGeom, 'maxError': 1});\n\n// Print the result to the console.\nprint('polygon.distance(...) =', polygonDistance);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(polygon,\n {'color': 'black'},\n 'Geometry [black]: polygon');\nMap.addLayer(inputGeom,\n {'color': 'blue'},\n 'Parameter [blue]: inputGeom');\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# Define a Polygon object.\npolygon = ee.Geometry.Polygon([[\n [-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423],\n]])\n\n# Define other inputs.\ninput_geom = ee.Geometry.Point(-122.090, 37.423)\n\n# Apply the distance method to the Polygon object.\npolygon_distance = polygon.distance(right=input_geom, maxError=1)\n\n# Print the result.\ndisplay('polygon.distance(...) =', polygon_distance)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(polygon, {'color': 'black'}, 'Geometry [black]: polygon')\nm.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')\nm\n```"]]