Announcement: All noncommercial projects registered to use Earth Engine beforeApril 15, 2025 mustverify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.

ee.Feature.buffer

  • TheFeature.buffer method returns a buffered version of the input geometry.

  • A positive distance value expands the geometry, while a negative distance contracts it.

  • The method takes distance, optional max error, and optional projection as arguments and returns a Feature.

  • The distance unit is meters by default or in the coordinate system units if a projection is specified.

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.

UsageReturns
Feature.buffer(distance,maxError,proj)Feature
ArgumentTypeDetails
this:featureElementThe feature the geometry of which is being buffered.
distanceFloatThe 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.
maxErrorErrorMargin, default: nullThe maximum amount of error tolerated when approximating the buffering circle and performing any necessary reprojection. If unspecified, defaults to 1% of the distance.
projProjection, default: nullIf 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)

// Polygon feature of Serengeti National Park.varfeature=ee.FeatureCollection('WCMC/WDPA/202307/polygons').filter('ORIG_NAME == "Serengeti National Park"').first();// Cast the resulting object as an ee.Feature so that the call to the buffer// method is unambiguous (first() and buffer() are shared by multiple classes).feature=ee.Feature(feature);// Generate buffered features out and in from the original boundary.varbufferOut=feature.buffer(10000);// 10 km outvarbufferIn=feature.buffer(-10000);// 10 km in// Display the features on the map.Map.addLayer(bufferOut,{color:'red'},'Buffer out');Map.addLayer(feature,{color:'blue'},'No buffer');Map.addLayer(bufferIn,{color:'yellow'},'Buffer in');Map.setCenter(34.8407,-2.398,8);

Python setup

See the Python Environment page for information on the Python API and usinggeemap for interactive development.

importeeimportgeemap.coreasgeemap

Colab (Python)

# Polygon feature of Serengeti National Park.feature=(ee.FeatureCollection('WCMC/WDPA/202307/polygons').filter('ORIG_NAME == "Serengeti National Park"').first())# Cast the resulting object as an ee.Feature so that the call to the buffer# method is unambiguous (first() and buffer() are shared by multiple classes).feature=ee.Feature(feature)# Generate buffered features out and in from the original boundary.buffer_out=feature.buffer(10000)# 10 km outbuffer_in=feature.buffer(-10000)# 10 km in# Display the features on the map.m=geemap.Map()m.add_layer(buffer_out,{'color':'red'},'Buffer out')m.add_layer(feature,{'color':'blue'},'No buffer')m.add_layer(buffer_in,{'color':'yellow'},'Buffer in')m.set_center(34.8407,-2.398,8)m

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2023-10-06 UTC.