Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.Geometry.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 | Geometry.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 Geometry object.
var geometry = ee.Geometry({
'type': 'Polygon',
'coordinates':
[[[-122.081, 37.417],
[-122.086, 37.421],
[-122.084, 37.418],
[-122.089, 37.416]]]
});
// Apply the buffer method to the Geometry object.
var geometryBuffer = geometry.buffer({'distance': 100});
// Print the result to the console.
print('geometry.buffer(...) =', geometryBuffer);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(geometry,
{'color': 'black'},
'Geometry [black]: geometry');
Map.addLayer(geometryBuffer,
{'color': 'red'},
'Result [red]: geometry.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 Geometry object.
geometry = ee.Geometry({
'type': 'Polygon',
'coordinates': [[
[-122.081, 37.417],
[-122.086, 37.421],
[-122.084, 37.418],
[-122.089, 37.416],
]],
})
# Apply the buffer method to the Geometry object.
geometry_buffer = geometry.buffer(distance=100)
# Print the result.
display('geometry.buffer(...) =', geometry_buffer)
# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(geometry, {'color': 'black'}, 'Geometry [black]: geometry')
m.add_layer(
geometry_buffer, {'color': 'red'}, 'Result [red]: geometry.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 that is expanded or contracted by a specified distance.\u003c/p\u003e\n"],["\u003cp\u003ePositive distances expand the geometry outwards, while negative distances contract it inwards.\u003c/p\u003e\n"],["\u003cp\u003eThe buffering can be performed using meters or a projected coordinate system by specifying the \u003ccode\u003eproj\u003c/code\u003e parameter.\u003c/p\u003e\n"],["\u003cp\u003eAn optional \u003ccode\u003emaxError\u003c/code\u003e parameter controls the accuracy of the buffer approximation.\u003c/p\u003e\n"]]],[],null,["# ee.Geometry.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| Geometry.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 Geometry object.\nvar geometry = ee.Geometry({\n 'type': 'Polygon',\n 'coordinates':\n [[[-122.081, 37.417],\n [-122.086, 37.421],\n [-122.084, 37.418],\n [-122.089, 37.416]]]\n});\n\n// Apply the buffer method to the Geometry object.\nvar geometryBuffer = geometry.buffer({'distance': 100});\n\n// Print the result to the console.\nprint('geometry.buffer(...) =', geometryBuffer);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(geometry,\n {'color': 'black'},\n 'Geometry [black]: geometry');\nMap.addLayer(geometryBuffer,\n {'color': 'red'},\n 'Result [red]: geometry.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 Geometry object.\ngeometry = ee.Geometry({\n 'type': 'Polygon',\n 'coordinates': [[\n [-122.081, 37.417],\n [-122.086, 37.421],\n [-122.084, 37.418],\n [-122.089, 37.416],\n ]],\n})\n\n# Apply the buffer method to the Geometry object.\ngeometry_buffer = geometry.buffer(distance=100)\n\n# Print the result.\ndisplay('geometry.buffer(...) =', geometry_buffer)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(geometry, {'color': 'black'}, 'Geometry [black]: geometry')\nm.add_layer(\n geometry_buffer, {'color': 'red'}, 'Result [red]: geometry.buffer'\n)\nm\n```"]]