ee.Geometry.Polygon.difference
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trả về kết quả của phép trừ hình học "bên phải" cho hình học "bên trái".
Cách sử dụng | Giá trị trả về |
---|
Polygon.difference(right, maxError, proj) | Hình học |
Đối số | Loại | Thông tin chi tiết |
---|
this: left | Hình học | Hình học được dùng làm toán hạng bên trái của phép toán. |
right | Hình học | Hình học được dùng làm toán hạng bên phải của thao tác. |
maxError | ErrorMargin, mặc định: null | Lượng lỗi tối đa được chấp nhận khi thực hiện bất kỳ phép chiếu lại cần thiết nào. |
proj | Phép chiếu, mặc định: null | Phép chiếu để thực hiện thao tác. Nếu không được chỉ định, thao tác sẽ được thực hiện trong hệ toạ độ cầu và khoảng cách tuyến tính sẽ tính bằng mét trên quả cầu. |
Ví dụ
Trình soạn thảo mã (JavaScript)
// Define a Polygon object.
var polygon = ee.Geometry.Polygon(
[[[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423]]]);
// Define other inputs.
var inputGeom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425);
// Apply the difference method to the Polygon object.
var polygonDifference = polygon.difference({'right': inputGeom, 'maxError': 1});
// Print the result to the console.
print('polygon.difference(...) =', polygonDifference);
// Display relevant geometries on the map.
Map.setCenter(-122.085, 37.422, 15);
Map.addLayer(polygon,
{'color': 'black'},
'Geometry [black]: polygon');
Map.addLayer(inputGeom,
{'color': 'blue'},
'Parameter [blue]: inputGeom');
Map.addLayer(polygonDifference,
{'color': 'red'},
'Result [red]: polygon.difference');
Thiết lập Python
Hãy xem trang
Môi trường Python để biết thông tin về API Python và cách sử dụng geemap
cho quá trình phát triển tương tác.
import ee
import geemap.core as geemap
Colab (Python)
# Define a Polygon object.
polygon = ee.Geometry.Polygon([[
[-122.092, 37.424],
[-122.086, 37.418],
[-122.079, 37.425],
[-122.085, 37.423],
]])
# Define other inputs.
input_geom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425)
# Apply the difference method to the Polygon object.
polygon_difference = polygon.difference(right=input_geom, maxError=1)
# Print the result.
display('polygon.difference(...) =', polygon_difference)
# Display relevant geometries on the map.
m = geemap.Map()
m.set_center(-122.085, 37.422, 15)
m.add_layer(polygon, {'color': 'black'}, 'Geometry [black]: polygon')
m.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')
m.add_layer(
polygon_difference, {'color': 'red'}, 'Result [red]: polygon.difference'
)
m
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003eReturns a Geometry representing the portion of the 'left' geometry that does not intersect with the 'right' geometry.\u003c/p\u003e\n"],["\u003cp\u003eAccepts a 'right' Geometry, an optional 'maxError' for reprojection, and an optional 'proj' for the operation's coordinate system.\u003c/p\u003e\n"],["\u003cp\u003ePerforms the difference operation in a spherical coordinate system with distances in meters on the sphere if no projection is specified.\u003c/p\u003e\n"],["\u003cp\u003eCan be applied to Polygon geometries to calculate the geometric difference between them.\u003c/p\u003e\n"]]],["The `difference` method subtracts a 'right' geometry from a 'left' geometry, returning the resulting geometry. It accepts the 'right' geometry, an optional `maxError` for reprojection tolerance, and an optional `proj` for the projection. The operation can be performed in a spherical coordinate system, with linear distances in meters if `proj` is not defined. The examples illustrate using this function with a polygon and a bounding box, showing the geometries in both the JavaScript code editor and the Colab environment.\n"],null,["# ee.Geometry.Polygon.difference\n\nReturns the result of subtracting the 'right' geometry from the 'left' geometry.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|------------------------------------------------------|----------|\n| Polygon.difference`(right, `*maxError* `, `*proj*`)` | Geometry |\n\n| Argument | Type | Details |\n|--------------|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `left` | Geometry | The geometry used as the left operand of the operation. |\n| `right` | Geometry | The geometry used as the right operand of the operation. |\n| `maxError` | ErrorMargin, default: null | The maximum amount of error tolerated when performing any necessary reprojection. |\n| `proj` | Projection, default: null | The projection in which to perform the operation. If not specified, the operation will be performed in a spherical coordinate system, and linear distances will be in meters on the sphere. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Define a Polygon object.\nvar polygon = ee.Geometry.Polygon(\n [[[-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423]]]);\n\n// Define other inputs.\nvar inputGeom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425);\n\n// Apply the difference method to the Polygon object.\nvar polygonDifference = polygon.difference({'right': inputGeom, 'maxError': 1});\n\n// Print the result to the console.\nprint('polygon.difference(...) =', polygonDifference);\n\n// Display relevant geometries on the map.\nMap.setCenter(-122.085, 37.422, 15);\nMap.addLayer(polygon,\n {'color': 'black'},\n 'Geometry [black]: polygon');\nMap.addLayer(inputGeom,\n {'color': 'blue'},\n 'Parameter [blue]: inputGeom');\nMap.addLayer(polygonDifference,\n {'color': 'red'},\n 'Result [red]: polygon.difference');\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# Define a Polygon object.\npolygon = ee.Geometry.Polygon([[\n [-122.092, 37.424],\n [-122.086, 37.418],\n [-122.079, 37.425],\n [-122.085, 37.423],\n]])\n\n# Define other inputs.\ninput_geom = ee.Geometry.BBox(-122.085, 37.415, -122.075, 37.425)\n\n# Apply the difference method to the Polygon object.\npolygon_difference = polygon.difference(right=input_geom, maxError=1)\n\n# Print the result.\ndisplay('polygon.difference(...) =', polygon_difference)\n\n# Display relevant geometries on the map.\nm = geemap.Map()\nm.set_center(-122.085, 37.422, 15)\nm.add_layer(polygon, {'color': 'black'}, 'Geometry [black]: polygon')\nm.add_layer(input_geom, {'color': 'blue'}, 'Parameter [blue]: input_geom')\nm.add_layer(\n polygon_difference, {'color': 'red'}, 'Result [red]: polygon.difference'\n)\nm\n```"]]