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
Rectangle.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.
[[["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\u003e\u003ccode\u003ebuffer\u003c/code\u003e returns a Geometry that is the input geometry expanded or contracted by a given distance.\u003c/p\u003e\n"],["\u003cp\u003eA positive distance expands the geometry while a negative distance contracts it.\u003c/p\u003e\n"],["\u003cp\u003eThe distance is interpreted in meters unless a projection (\u003ccode\u003eproj\u003c/code\u003e) is specified, in which case the distance is in the units of the projection's coordinate system.\u003c/p\u003e\n"],["\u003cp\u003eAn optional \u003ccode\u003emaxError\u003c/code\u003e parameter controls the accuracy of the buffer operation.\u003c/p\u003e\n"]]],["The `buffer` method expands or contracts a geometry by a specified distance. A positive distance expands, while a negative one contracts. The distance unit is meters by default or the projection's units if specified. The method accepts a `distance`, an optional `maxError` (defaulting to 1% of the distance), and an optional `proj` for the projection. It returns a new `Geometry`. The examples provided showcase this operation on a `Rectangle` geometry, increasing it's size.\n"],null,["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.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------------------|----------|\n| Rectangle.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\nCode Editor (JavaScript) \n\n```javascript\n// Define a Rectangle object.\nvar rectangle = ee.Geometry.Rectangle(-122.09, 37.42, -122.08, 37.43);\n\n// Apply the buffer method to the Rectangle object.\nvar rectangleBuffer = rectangle.buffer({'distance': 100});\n\n// Print the result to the console.\nprint('rectangle.buffer(...) =', rectangleBuffer);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(rectangle,\n {'color': 'black'},\n 'Geometry [black]: rectangle');\nMap.addLayer(rectangleBuffer,\n {'color': 'red'},\n 'Result [red]: rectangle.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\nColab (Python) \n\n```python\n# Define a Rectangle object.\nrectangle = ee.Geometry.Rectangle(-122.09, 37.42, -122.08, 37.43)\n\n# Apply the buffer method to the Rectangle object.\nrectangle_buffer = rectangle.buffer(distance=100)\n\n# Print the result.\ndisplay('rectangle.buffer(...) =', rectangle_buffer)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(rectangle, {'color': 'black'}, 'Geometry [black]: rectangle')\nm.add_layer(\n rectangle_buffer, {'color': 'red'}, 'Result [red]: rectangle.buffer'\n)\nm\n```"]]