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
LinearRing.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\u003eReturns a Geometry representing the input LinearRing expanded or contracted by 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 meters or a specified projection's units.\u003c/p\u003e\n"],["\u003cp\u003eAn optional error margin controls the accuracy of the buffer approximation.\u003c/p\u003e\n"]]],["The `buffer` method expands or contracts a geometry by a specified distance. The `distance` parameter determines the buffer's size; positive values expand, while negative values contract. `maxError` sets the tolerance for approximation and reprojection errors, defaulting to 1% of the distance. An optional `proj` parameter defines the coordinate system, otherwise, distance is measured in meters using a spherical system. The method takes a geometry, floats for `distance` and `maxError` and a `projection` for the `proj` parameter. The result is a new `geometry`.\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| LinearRing.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 LinearRing object.\nvar linearRing = ee.Geometry.LinearRing(\n [[-122.091, 37.420],\n [-122.085, 37.422],\n [-122.080, 37.430]]);\n\n// Apply the buffer method to the LinearRing object.\nvar linearRingBuffer = linearRing.buffer({'distance': 100});\n\n// Print the result to the console.\nprint('linearRing.buffer(...) =', linearRingBuffer);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(linearRing,\n {'color': 'black'},\n 'Geometry [black]: linearRing');\nMap.addLayer(linearRingBuffer,\n {'color': 'red'},\n 'Result [red]: linearRing.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 LinearRing object.\nlinearring = ee.Geometry.LinearRing(\n [[-122.091, 37.420], [-122.085, 37.422], [-122.080, 37.430]]\n)\n\n# Apply the buffer method to the LinearRing object.\nlinearring_buffer = linearring.buffer(distance=100)\n\n# Print the result.\ndisplay('linearring.buffer(...) =', linearring_buffer)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(linearring, {'color': 'black'}, 'Geometry [black]: linearring')\nm.add_layer(\n linearring_buffer, {'color': 'red'}, 'Result [red]: linearring.buffer'\n)\nm\n```"]]