Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.Geometry.MultiPolygon.buffer
Stay organized with collections
Save and categorize content based on your preferences.
Returns the input buffered by a given distance. If the distance is positive, the geometry is expanded, and if the distance is negative, the geometry is contracted.
Usage | Returns | MultiPolygon.buffer(distance, maxError, proj) | Geometry |
Argument | Type | Details | this: geometry | Geometry | The geometry being buffered. |
distance | Float | The distance of the buffering, which may be negative. If no projection is specified, the unit is meters. Otherwise the unit is in the coordinate system of the projection. |
maxError | ErrorMargin, default: null | The maximum amount of error tolerated when approximating the buffering circle and performing any necessary reprojection. If unspecified, defaults to 1% of the distance. |
proj | Projection, default: null | If specified, the buffering will be performed in this projection and the distance will be interpreted as units of the coordinate system of this projection. Otherwise the distance is interpereted as meters and the buffering is performed in a spherical coordinate system. |
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]]]]);
// Apply the buffer method to the MultiPolygon object.
var multiPolygonBuffer = multiPolygon.buffer({'distance': 100});
// Print the result to the console.
print('multiPolygon.buffer(...) =', multiPolygonBuffer);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(multiPolygon,
{'color': 'black'},
'Geometry [black]: multiPolygon');
Map.addLayer(multiPolygonBuffer,
{'color': 'red'},
'Result [red]: multiPolygon.buffer');
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
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 buffer method to the MultiPolygon object.
multipolygon_buffer = multipolygon.buffer(distance=100)
# Print the result.
display('multipolygon.buffer(...) =', multipolygon_buffer)
# 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_buffer, {'color': 'red'}, 'Result [red]: multipolygon.buffer'
)
m
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["\u003cp\u003e\u003ccode\u003ebuffer()\u003c/code\u003e returns a modified Geometry by expanding or contracting the input MultiPolygon based on a specified distance.\u003c/p\u003e\n"],["\u003cp\u003eA positive distance expands the geometry while a negative distance contracts it.\u003c/p\u003e\n"],["\u003cp\u003eThe buffering can be performed using either meters (default) or a projected coordinate system if \u003ccode\u003eproj\u003c/code\u003e is specified.\u003c/p\u003e\n"],["\u003cp\u003eAn optional \u003ccode\u003emaxError\u003c/code\u003e parameter controls the accuracy of the buffering operation.\u003c/p\u003e\n"]]],[],null,["# ee.Geometry.MultiPolygon.buffer\n\nReturns the input buffered by a given distance. If the distance is positive, the geometry is expanded, and if the distance is negative, the geometry is contracted.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------|----------|\n| MultiPolygon.buffer`(distance, `*maxError* `, `*proj*`)` | Geometry |\n\n| Argument | Type | Details |\n|------------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `geometry` | Geometry | The geometry being buffered. |\n| `distance` | Float | The distance of the buffering, which may be negative. If no projection is specified, the unit is meters. Otherwise the unit is in the coordinate system of the projection. |\n| `maxError` | ErrorMargin, default: null | The maximum amount of error tolerated when approximating the buffering circle and performing any necessary reprojection. If unspecified, defaults to 1% of the distance. |\n| `proj` | Projection, default: null | If specified, the buffering will be performed in this projection and the distance will be interpreted as units of the coordinate system of this projection. Otherwise the distance is interpereted as meters and the buffering is performed in a spherical coordinate system. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a MultiPolygon object.\nvar multiPolygon = ee.Geometry.MultiPolygon(\n [[[[-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423]]],\n [[[-122.081, 37.417],\n [-122.086, 37.421],\n [-122.089, 37.416]]]]);\n\n// Apply the buffer method to the MultiPolygon object.\nvar multiPolygonBuffer = multiPolygon.buffer({'distance': 100});\n\n// Print the result to the console.\nprint('multiPolygon.buffer(...) =', multiPolygonBuffer);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(multiPolygon,\n {'color': 'black'},\n 'Geometry [black]: multiPolygon');\nMap.addLayer(multiPolygonBuffer,\n {'color': 'red'},\n 'Result [red]: multiPolygon.buffer');\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 MultiPolygon object.\nmultipolygon = ee.Geometry.MultiPolygon([\n [[\n [-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423],\n ]],\n [[[-122.081, 37.417], [-122.086, 37.421], [-122.089, 37.416]]],\n])\n\n# Apply the buffer method to the MultiPolygon object.\nmultipolygon_buffer = multipolygon.buffer(distance=100)\n\n# Print the result.\ndisplay('multipolygon.buffer(...) =', multipolygon_buffer)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(\n multipolygon, {'color': 'black'}, 'Geometry [black]: multipolygon'\n)\nm.add_layer(\n multipolygon_buffer, {'color': 'red'}, 'Result [red]: multipolygon.buffer'\n)\nm\n```"]]