Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
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
Feature.buffer(distance, maxError, proj)
Feature
Argument
Type
Details
this: feature
Element
The feature the geometry of which is 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.
[[["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 2023-10-06 UTC."],[[["\u003cp\u003eReturns a Feature with geometry buffered by a specified distance.\u003c/p\u003e\n"],["\u003cp\u003ePositive distance expands the geometry; negative distance contracts it.\u003c/p\u003e\n"],["\u003cp\u003eBuffering can be performed using meters or a projected coordinate system.\u003c/p\u003e\n"],["\u003cp\u003eAn optional error margin controls the approximation accuracy.\u003c/p\u003e\n"]]],["The `buffer()` method expands or contracts a feature's geometry by a specified distance. A positive distance expands the geometry, while a negative distance contracts it. The `distance` is in meters unless a `proj` projection is given, in which case the units are in the projection's coordinate system. An optional `maxError` sets tolerance. The method returns a new `Feature` that represents the geometry buffered with the parameters used.\n"],null,["# ee.Feature.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| Feature.buffer`(distance, `*maxError* `, `*proj*`)` | Feature |\n\n| Argument | Type | Details |\n|-----------------|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `feature` | Element | The feature the geometry of which is 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// Polygon feature of Serengeti National Park.\nvar feature = ee.FeatureCollection('WCMC/WDPA/202307/polygons')\n .filter('ORIG_NAME == \"Serengeti National Park\"')\n .first();\n\n// Cast the resulting object as an ee.Feature so that the call to the buffer\n// method is unambiguous (first() and buffer() are shared by multiple classes).\nfeature = ee.Feature(feature);\n\n// Generate buffered features out and in from the original boundary.\nvar bufferOut = feature.buffer(10000); // 10 km out\nvar bufferIn = feature.buffer(-10000); // 10 km in\n\n// Display the features on the map.\nMap.addLayer(bufferOut, {color: 'red'}, 'Buffer out');\nMap.addLayer(feature, {color: 'blue'}, 'No buffer');\nMap.addLayer(bufferIn, {color: 'yellow'}, 'Buffer in');\nMap.setCenter(34.8407, -2.398, 8);\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# Polygon feature of Serengeti National Park.\nfeature = (\n ee.FeatureCollection('WCMC/WDPA/202307/polygons')\n .filter('ORIG_NAME == \"Serengeti National Park\"')\n .first()\n)\n\n# Cast the resulting object as an ee.Feature so that the call to the buffer\n# method is unambiguous (first() and buffer() are shared by multiple classes).\nfeature = ee.Feature(feature)\n\n# Generate buffered features out and in from the original boundary.\nbuffer_out = feature.buffer(10000) # 10 km out\nbuffer_in = feature.buffer(-10000) # 10 km in\n\n# Display the features on the map.\nm = geemap.Map()\nm.add_layer(buffer_out, {'color': 'red'}, 'Buffer out')\nm.add_layer(feature, {'color': 'blue'}, 'No buffer')\nm.add_layer(buffer_in, {'color': 'yellow'}, 'Buffer in')\nm.set_center(34.8407, -2.398, 8)\nm\n```"]]