公告:凡是在
2025 年 4 月 15 日前註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格,才能繼續存取 Earth Engine。
ee.Feature.buffer
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
傳回緩衝指定距離的輸入內容。如果距離為正值,幾何圖形會擴大;如果距離為負值,幾何圖形會縮小。
用量 | 傳回 |
---|
Feature.buffer(distance, maxError, proj) | 功能 |
引數 | 類型 | 詳細資料 |
---|
這個:feature | 元素 | 要緩衝幾何圖形的功能。 |
distance | 浮點值 | 緩衝區的距離,可能為負值。如未指定投影,則單位為公尺。否則單位會採用投影的座標系統。 |
maxError | ErrorMargin,預設值:null | 近似緩衝圓圈和執行任何必要重新投影時,可容許的最大誤差量。如未指定,則預設為距離的 1%。 |
proj | 投影,預設值:null | 如果指定,緩衝區會在這個投影中執行,距離會解讀為這個投影的座標系統單位。否則,系統會將距離解讀為公尺,並在球體座標系統中執行緩衝處理。 |
範例
程式碼編輯器 (JavaScript)
// Polygon feature of Serengeti National Park.
var 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.
var bufferOut = feature.buffer(10000); // 10 km out
var bufferIn = 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 設定
請參閱
Python 環境頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
import ee
import geemap.core as geemap
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 out
buffer_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
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間:2025-07-26 (世界標準時間)。"],[[["\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```"]]