إشعار: يجب
إثبات أهلية جميع المشاريع غير التجارية المسجّلة لاستخدام Earth Engine قبل
15 أبريل 2025 من أجل الحفاظ على إمكانية الوصول إلى Earth Engine.
ee.Array.slice
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تنشئ هذه الدالة مصفوفة فرعية من خلال تقسيم كل موضع على طول المحور المحدّد من "البداية" (شاملة) إلى "النهاية" (غير شاملة) بزيادات مقدارها "الخطوة". ستحتوي النتيجة على عدد الأبعاد نفسه في الإدخال، والطول نفسه في جميع الاتجاهات باستثناء محور التقسيم، حيث سيكون الطول هو عدد المواضع من "البداية" إلى "النهاية" حسب "الخطوة" التي تقع في نطاق طول مصفوفة الإدخال على طول "المحور". وهذا يعني أنّ النتيجة يمكن أن تكون بطول 0 على طول المحور المحدّد إذا كانت start=end، أو إذا كانت قيمتا البداية أو النهاية خارج النطاق تمامًا.
الاستخدام | المرتجعات |
---|
Array.slice(axis, start, end, step) | مصفوفة |
الوسيطة | النوع | التفاصيل |
---|
هذا: array | مصفوفة | المصفوفة المطلوب تقسيمها |
axis | عدد صحيح، القيمة التلقائية: 0 | المحور المطلوب تقسيم البيانات عليه. |
start | عدد صحيح، القيمة التلقائية: 0 | إحداثيات الشريحة الأولى (شاملة) على طول "المحور". يتم استخدام الأرقام السالبة لتحديد موضع بداية التقطيع بالنسبة إلى نهاية المصفوفة، حيث تبدأ القيمة -1 من الموضع الأخير على المحور، وتبدأ القيمة -2 من الموضع قبل الأخير، وهكذا. |
end | عدد صحيح، القيمة التلقائية: null | الإحداثي (الحصري) الذي يجب التوقف عنده عن أخذ الشرائح. سيكون هذا هو طول المحور المحدّد تلقائيًا. تُستخدَم الأرقام السالبة لتحديد موضع نهاية التقطيع بالنسبة إلى نهاية المصفوفة، حيث سيؤدي الرقم -1 إلى استبعاد الموضع الأخير، وسيؤدي الرقم -2 إلى استبعاد الموضعين الأخيرين، وما إلى ذلك. |
step | عدد صحيح، القيمة التلقائية: 1 | الفصل بين الشرائح على طول "المحور"؛ سيتم أخذ شريحة عند كل مضاعف كامل من "الخطوة" من "البداية" (شاملة) إلى "النهاية" (غير شاملة). يجب أن تكون موجبة. |
أمثلة
محرّر الرموز البرمجية (JavaScript)
var array1x6 = ee.Array([1, 2, 3, 4, 5, 6]);
print(array1x6.slice()); // [1,2,3,4,5,6]
print(array1x6.slice(0)); // [1,2,3,4,5,6]
print(array1x6.slice(0, 0, 6, 1)); // [1,2,3,4,5,6]
print(array1x6.slice(0, 0, 10, 1)); // [1,2,3,4,5,6]
print(array1x6.slice(0, 2)); // [3,4,5,6]
print(array1x6.slice(0, 5)); // [6]
print(array1x6.slice(0, 6)); // []
print(array1x6.slice(0, 0, 2)); // [1,2]
print(array1x6.slice(0, 0, 0)); // []
// Negative start and end.
print(array1x6.slice(0, 0, -3)); // [1,2,3]
print(array1x6.slice(0, -2, 6)); // [5,6]
print(array1x6.slice(0, 0, 6, 2)); // [1,3,5]
print(array1x6.slice(0, 0, 6, 3)); // [1,4]
print(array1x6.slice(0, 0, 6, 4)); // [1,5]
print(array1x6.slice(0, 0, 6, 6)); // [1]
print(array1x6.slice(0, 2, 6, 2)); // [3,5]
var array3x2 = ee.Array([[1, 2], [3, 4], [5, 6]]);
print(array3x2.slice()); // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0)); // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0, 0)); // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0, 0, 1)); // [[1,2]]
print(array3x2.slice(0, 0, 2)); // [[1,2],[3,4]]
print(array3x2.slice(0, 0, 3, 1)); // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0, 0, 3, 2)); // [[1,2],[5,6]]
print(array3x2.slice(0, 1, 3, 2)); // [[3,4]]
print(array3x2.slice(0, 0, 3, 3)); // [[1,2]]
print(array3x2.slice(1)); // [[1,2],[3,4],[5,6]]
print(array3x2.slice(1, 1)); // [[2],[4],[6]]
print(array3x2.slice(1, 0, 1)); // [[1],[3],[5]]
var empty = ee.Array([], ee.PixelType.int8());
print(empty.slice()); // []
print(empty.slice(0)); // []
print(empty.slice(0, 0, 0, 1)); // []
إعداد Python
راجِع صفحة
بيئة Python للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام
geemap
للتطوير التفاعلي.
import ee
import geemap.core as geemap
Colab (Python)
array1x6 = ee.Array([1, 2, 3, 4, 5, 6])
display(array1x6.slice()) # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0)) # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0, 0, 6, 1)) # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0, 0, 10, 1)) # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0, 2)) # [3, 4, 5, 6]
display(array1x6.slice(0, 5)) # [6]
display(array1x6.slice(0, 6)) # []
display(array1x6.slice(0, 0, 2)) # [1, 2]
display(array1x6.slice(0, 0, 0)) # []
# Negative start and end.
display(array1x6.slice(0, 0, -3)) # [1, 2, 3]
display(array1x6.slice(0, -2, 6)) # [5, 6]
display(array1x6.slice(0, 0, 6, 2)) # [1, 3, 5]
display(array1x6.slice(0, 0, 6, 3)) # [1, 4]
display(array1x6.slice(0, 0, 6, 4)) # [1, 5]
display(array1x6.slice(0, 0, 6, 6)) # [1]
display(array1x6.slice(0, 2, 6, 2)) # [3, 5]
array3x2 = ee.Array([[1, 2], [3, 4], [5, 6]])
display(array3x2.slice()) # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(0)) # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(0, 0)) # [[1, 2],[3, 4],[5, 6]]
display(array3x2.slice(0, 0, 1)) # [[1, 2]]
display(array3x2.slice(0, 0, 2)) # [[1, 2], [3, 4]]
display(array3x2.slice(0, 0, 3, 1)) # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(0, 0, 3, 2)) # [[1, 2], [5, 6]]
display(array3x2.slice(0, 1, 3, 2)) # [[3, 4]]
display(array3x2.slice(0, 0, 3, 3)) # [[1, 2]]
display(array3x2.slice(1)) # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(1, 1)) # [[2], [4], [6]]
display(array3x2.slice(1, 0, 1)) # [[1], [3], [5]]
empty = ee.Array([], ee.PixelType.int8())
display(empty.slice()) # []
display(empty.slice(0)) # []
display(empty.slice(0, 0, 0, 1)) # []
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003e\u003ccode\u003eArray.slice()\u003c/code\u003e extracts a subarray from an input array along a specified axis, similar to slicing in Python.\u003c/p\u003e\n"],["\u003cp\u003eIt uses \u003ccode\u003estart\u003c/code\u003e, \u003ccode\u003eend\u003c/code\u003e, and \u003ccode\u003estep\u003c/code\u003e parameters to define the portion of the array to extract, with negative indices referencing from the end.\u003c/p\u003e\n"],["\u003cp\u003eThe resulting subarray retains the original dimensions except along the sliced axis, where its length depends on the slice parameters.\u003c/p\u003e\n"],["\u003cp\u003eIf the slice parameters result in no elements being selected, an empty array is returned.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eArray.slice()\u003c/code\u003e can be used on multi-dimensional arrays by specifying the axis to slice along.\u003c/p\u003e\n"]]],[],null,["# ee.Array.slice\n\nCreates a subarray by slicing out each position along the given axis from the 'start' (inclusive) to 'end' (exclusive) by increments of 'step'. The result will have as many dimensions as the input, and the same length in all directions except the slicing axis, where the length will be the number of positions from 'start' to 'end' by 'step' that are in range of the input array's length along 'axis'. This means the result can be length 0 along the given axis if start=end, or if the start or end values are entirely out of range.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------|---------|\n| Array.slice`(`*axis* `, `*start* `, `*end* `, `*step*`)` | Array |\n\n| Argument | Type | Details |\n|---------------|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `array` | Array | Array to slice. |\n| `axis` | Integer, default: 0 | The axis to slice on. |\n| `start` | Integer, default: 0 | The coordinate of the first slice (inclusive) along 'axis'. Negative numbers are used to position the start of slicing relative to the end of the array, where -1 starts at the last position on the axis, -2 starts at the next to last position, etc. |\n| `end` | Integer, default: null | The coordinate (exclusive) at which to stop taking slices. By default this will be the length of the given axis. Negative numbers are used to position the end of slicing relative to the end of the array, where -1 will exclude the last position, -2 will exclude the last two positions, etc. |\n| `step` | Integer, default: 1 | The separation between slices along 'axis'; a slice will be taken at each whole multiple of 'step' from 'start' (inclusive) to 'end' (exclusive). Must be positive. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\nvar array1x6 = ee.Array([1, 2, 3, 4, 5, 6]);\nprint(array1x6.slice()); // [1,2,3,4,5,6]\nprint(array1x6.slice(0)); // [1,2,3,4,5,6]\nprint(array1x6.slice(0, 0, 6, 1)); // [1,2,3,4,5,6]\nprint(array1x6.slice(0, 0, 10, 1)); // [1,2,3,4,5,6]\n\nprint(array1x6.slice(0, 2)); // [3,4,5,6]\nprint(array1x6.slice(0, 5)); // [6]\nprint(array1x6.slice(0, 6)); // []\nprint(array1x6.slice(0, 0, 2)); // [1,2]\nprint(array1x6.slice(0, 0, 0)); // []\n\n// Negative start and end.\nprint(array1x6.slice(0, 0, -3)); // [1,2,3]\nprint(array1x6.slice(0, -2, 6)); // [5,6]\n\nprint(array1x6.slice(0, 0, 6, 2)); // [1,3,5]\nprint(array1x6.slice(0, 0, 6, 3)); // [1,4]\nprint(array1x6.slice(0, 0, 6, 4)); // [1,5]\nprint(array1x6.slice(0, 0, 6, 6)); // [1]\n\nprint(array1x6.slice(0, 2, 6, 2)); // [3,5]\n\nvar array3x2 = ee.Array([[1, 2], [3, 4], [5, 6]]);\nprint(array3x2.slice()); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0, 0)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0, 0, 1)); // [[1,2]]\nprint(array3x2.slice(0, 0, 2)); // [[1,2],[3,4]]\nprint(array3x2.slice(0, 0, 3, 1)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0, 0, 3, 2)); // [[1,2],[5,6]]\nprint(array3x2.slice(0, 1, 3, 2)); // [[3,4]]\nprint(array3x2.slice(0, 0, 3, 3)); // [[1,2]]\n\nprint(array3x2.slice(1)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(1, 1)); // [[2],[4],[6]]\nprint(array3x2.slice(1, 0, 1)); // [[1],[3],[5]]\n\nvar empty = ee.Array([], ee.PixelType.int8());\nprint(empty.slice()); // []\nprint(empty.slice(0)); // []\nprint(empty.slice(0, 0, 0, 1)); // []\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\narray1x6 = ee.Array([1, 2, 3, 4, 5, 6])\ndisplay(array1x6.slice()) # [1, 2, 3, 4, 5, 6]\ndisplay(array1x6.slice(0)) # [1, 2, 3, 4, 5, 6]\ndisplay(array1x6.slice(0, 0, 6, 1)) # [1, 2, 3, 4, 5, 6]\ndisplay(array1x6.slice(0, 0, 10, 1)) # [1, 2, 3, 4, 5, 6]\n\ndisplay(array1x6.slice(0, 2)) # [3, 4, 5, 6]\ndisplay(array1x6.slice(0, 5)) # [6]\ndisplay(array1x6.slice(0, 6)) # []\ndisplay(array1x6.slice(0, 0, 2)) # [1, 2]\ndisplay(array1x6.slice(0, 0, 0)) # []\n\n# Negative start and end.\ndisplay(array1x6.slice(0, 0, -3)) # [1, 2, 3]\ndisplay(array1x6.slice(0, -2, 6)) # [5, 6]\n\ndisplay(array1x6.slice(0, 0, 6, 2)) # [1, 3, 5]\ndisplay(array1x6.slice(0, 0, 6, 3)) # [1, 4]\ndisplay(array1x6.slice(0, 0, 6, 4)) # [1, 5]\ndisplay(array1x6.slice(0, 0, 6, 6)) # [1]\n\ndisplay(array1x6.slice(0, 2, 6, 2)) # [3, 5]\n\narray3x2 = ee.Array([[1, 2], [3, 4], [5, 6]])\ndisplay(array3x2.slice()) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(0)) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(0, 0)) # [[1, 2],[3, 4],[5, 6]]\ndisplay(array3x2.slice(0, 0, 1)) # [[1, 2]]\ndisplay(array3x2.slice(0, 0, 2)) # [[1, 2], [3, 4]]\ndisplay(array3x2.slice(0, 0, 3, 1)) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(0, 0, 3, 2)) # [[1, 2], [5, 6]]\ndisplay(array3x2.slice(0, 1, 3, 2)) # [[3, 4]]\ndisplay(array3x2.slice(0, 0, 3, 3)) # [[1, 2]]\n\ndisplay(array3x2.slice(1)) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(1, 1)) # [[2], [4], [6]]\ndisplay(array3x2.slice(1, 0, 1)) # [[1], [3], [5]]\n\nempty = ee.Array([], ee.PixelType.int8())\ndisplay(empty.slice()) # []\ndisplay(empty.slice(0)) # []\ndisplay(empty.slice(0, 0, 0, 1)) # []\n```"]]