إشعار: يجب
إثبات أهلية جميع المشاريع غير التجارية المسجّلة لاستخدام Earth Engine قبل
15 أبريل 2025 من أجل الحفاظ على إمكانية الوصول إلى Earth Engine.
ee.Geometry.Polygon.difference
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تعرض نتيجة طرح الشكل الهندسي "الأيمن" من الشكل الهندسي "الأيسر".
الاستخدام | المرتجعات |
---|
Polygon.difference(right, maxError, proj) | هندسة |
الوسيطة | النوع | التفاصيل |
---|
هذا: left | هندسة | الشكل الهندسي المستخدَم كمعامل أيسر للعملية |
right | هندسة | الشكل الهندسي المستخدَم كمعامل أيمن للعملية. |
maxError | ErrorMargin، القيمة التلقائية: null | الحدّ الأقصى لمقدار الخطأ المسموح به عند إجراء أي عملية إعادة إسقاط ضرورية. |
proj | التوقّع، القيمة التلقائية: null | الإسقاط الذي سيتم تنفيذ العملية فيه في حال عدم تحديد ذلك، سيتم تنفيذ العملية في نظام إحداثيات كروي، وستكون المسافات الخطية بالأمتار على الكرة الأرضية. |
أمثلة
محرّر الرموز البرمجية (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');
إعداد Python
راجِع صفحة
بيئة Python للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام
geemap
للتطوير التفاعلي.
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
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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```"]]