إشعار: يجب
إثبات أهلية جميع المشاريع غير التجارية المسجّلة لاستخدام Earth Engine قبل
15 أبريل 2025 من أجل الحفاظ على إمكانية الوصول إلى Earth Engine.
التعيين على ImageCollection
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
لتطبيق دالة على كل Image
في ImageCollection
، استخدِم
imageCollection.map()
. الوسيطة الوحيدة للدالة map()
هي دالة
تأخذ مَعلمة واحدة: ee.Image
. على سبيل المثال، يضيف الرمز التالي
شريط طابع زمني إلى كل صورة في المجموعة.
محرِّر الرموز البرمجية (JavaScript)
// Load a Landsat 8 collection for a single path-row, 2021 images only.
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterDate('2021', '2022')
.filter(ee.Filter.eq('WRS_PATH', 44))
.filter(ee.Filter.eq('WRS_ROW', 34));
// This function adds a band representing the image timestamp.
var addTime = function(image) {
return image.addBands(image.getNumber('system:time_start'));
};
// Map the function over the collection and display the result.
print(collection.map(addTime));
إعداد لغة Python
اطّلِع على صفحة
بيئة Python للحصول على معلومات عن واجهة برمجة التطبيقات Python API واستخدام IDE
geemap
لتطوير التطبيقات التفاعلي.
import ee
import geemap.core as geemap
Colab (Python)
# Load a Landsat 8 collection for a single path-row, 2021 images only.
collection = (
ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterDate('2021', '2022')
.filter(ee.Filter.eq('WRS_PATH', 44))
.filter(ee.Filter.eq('WRS_ROW', 34))
)
# This function adds a band representing the image timestamp.
def add_time(image):
return image.addBands(image.getNumber('system:time_start'))
# Map the function over the collection and display the result.
display(collection.map(add_time))
يُرجى العلم أنّه في الدالة المحدّدة مسبقًا، يتم استخدام طريقة getNumber()
لإنشاء Image
جديد من القيمة الرقمية لسمة. كما هو موضّح في القسمَين
التقليل و
التركيب
، يكون استخدام النطاق الزمني مفيدًا لوضع نماذج خطية للتغيير ولعمل رسومات
مركبة.
تكون الوظيفة المُحدَّدة محدودة في العمليات التي يمكنها تنفيذها. على وجه التحديد، لا يمكنه
تعديل المتغيّرات خارج الدالة، ولا يمكنه طباعة أي شيء، ولا يمكنه استخدام JavaScript وعبارة Python "if" أو "for". ومع ذلك، يمكنك استخدام ee.Algorithms.If()
للقيام
بعمليات شرطية في دالة منسَّقة. على سبيل المثال:
محرِّر الرموز البرمجية (JavaScript)
// Load a Landsat 8 collection for a single path-row, 2021 images only.
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterDate('2021', '2022')
.filter(ee.Filter.eq('WRS_PATH', 44))
.filter(ee.Filter.eq('WRS_ROW', 34));
// This function uses a conditional statement to return the image if
// the solar elevation > 40 degrees. Otherwise it returns a "zero image".
var conditional = function(image) {
return ee.Algorithms.If(ee.Number(image.get('SUN_ELEVATION')).gt(40),
image,
ee.Image(0));
};
// Map the function over the collection and print the result. Expand the
// collection and note that 7 of the 22 images are now "zero images'.
print('Expand this to see the result', collection.map(conditional));
إعداد لغة Python
اطّلِع على صفحة
بيئة Python للحصول على معلومات عن واجهة برمجة التطبيقات Python API واستخدام IDE
geemap
لتطوير التطبيقات التفاعلي.
import ee
import geemap.core as geemap
Colab (Python)
# Load a Landsat 8 collection for a single path-row, 2021 images only.
collection = (
ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterDate('2021', '2022')
.filter(ee.Filter.eq('WRS_PATH', 44))
.filter(ee.Filter.eq('WRS_ROW', 34))
)
# This function uses a conditional statement to return the image if
# the solar elevation > 40 degrees. Otherwise it returns a "zero image".
def conditional(image):
return ee.Algorithms.If(
ee.Number(image.get('SUN_ELEVATION')).gt(40), image, ee.Image(0)
)
# Map the function over the collection and print the result. Expand the
# collection and note that 7 of the 22 images are now "zero images'.
display('Expand this to see the result', collection.map(conditional))
تحقَّق من قائمة الصور في مجموعة الصور الناتجة، وتجدُر الإشارة إلى أنّه عندما يكون الشرط
الذي تقيّمه خوارزمية If()
صحيحًا، يحتوي الناتج على
صورة ثابتة. على الرغم من أنّ هذا يوضّح دالة شرطية من جهة الخادم
(مزيد من المعلومات عن استخدام وظائف العميل مقابل الخادم في Earth Engine)،
تجنَّب استخدام If()
بشكل عام واستخدِم الفلاتر بدلاً من ذلك.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe \u003ccode\u003eimageCollection.map()\u003c/code\u003e function applies a specified function to each image within an ImageCollection in Earth Engine.\u003c/p\u003e\n"],["\u003cp\u003eThe function passed to \u003ccode\u003emap()\u003c/code\u003e should accept a single \u003ccode\u003eee.Image\u003c/code\u003e as input and return a modified image.\u003c/p\u003e\n"],["\u003cp\u003eWhile mapped functions have limitations like not modifying external variables or using conventional loops, conditional operations are achievable using \u003ccode\u003eee.Algorithms.If()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eDespite the availability of \u003ccode\u003eee.Algorithms.If()\u003c/code\u003e, prioritize using filters for conditional logic whenever possible for better efficiency and code clarity.\u003c/p\u003e\n"]]],["To apply a function to each `Image` in an `ImageCollection`, use `imageCollection.map()`, providing a function that takes an `ee.Image` as input. This function can add bands, such as a timestamp using `image.addBands(image.getNumber('system:time_start'))`. Conditional logic can be implemented within the mapped function using `ee.Algorithms.If()`, allowing for operations based on image properties like solar elevation, though filtering is preferred. This conditional process is server-side and operates on the entire collection.\n"],null,["# Mapping over an ImageCollection\n\nTo apply a function to every `Image` in an `ImageCollection` use\n`imageCollection.map()`. The only argument to `map()` is a\nfunction which takes one parameter: an `ee.Image`. For example, the following\ncode adds a timestamp band to every image in the collection.\n\n### Code Editor (JavaScript)\n\n```javascript\n// Load a Landsat 8 collection for a single path-row, 2021 images only.\nvar collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterDate('2021', '2022')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34));\n\n// This function adds a band representing the image timestamp.\nvar addTime = function(image) {\n return image.addBands(image.getNumber('system:time_start'));\n};\n\n// Map the function over the collection and display the result.\nprint(collection.map(addTime));\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# Load a Landsat 8 collection for a single path-row, 2021 images only.\ncollection = (\n ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterDate('2021', '2022')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34))\n)\n\n\n# This function adds a band representing the image timestamp.\ndef add_time(image):\n return image.addBands(image.getNumber('system:time_start'))\n\n\n# Map the function over the collection and display the result.\ndisplay(collection.map(add_time))\n```\n\nNote that in the predefined function, the `getNumber()` method is used\nto create a new `Image` from the numerical value of a property. As discussed in\nthe [Reducing](/earth-engine/guides/ic_reducing) and\n[Compositing](/earth-engine/guides/ic_composite_mosaic)\nsections, having the time band is useful for linear modeling of change and for making\ncomposites.\n\nThe mapped function is limited in the operations it can perform. Specifically, it can't\nmodify variables outside the function; it can't print anything; it can't use JavaScript and\nPython 'if' or 'for' statements. However, you can use `ee.Algorithms.If()` to\nperform conditional operations in a mapped function. For example:\n\n### Code Editor (JavaScript)\n\n```javascript\n// Load a Landsat 8 collection for a single path-row, 2021 images only.\nvar collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterDate('2021', '2022')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34));\n\n// This function uses a conditional statement to return the image if\n// the solar elevation \u003e 40 degrees. Otherwise it returns a \"zero image\".\nvar conditional = function(image) {\n return ee.Algorithms.If(ee.Number(image.get('SUN_ELEVATION')).gt(40),\n image,\n ee.Image(0));\n};\n\n// Map the function over the collection and print the result. Expand the\n// collection and note that 7 of the 22 images are now \"zero images'.\nprint('Expand this to see the result', collection.map(conditional));\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# Load a Landsat 8 collection for a single path-row, 2021 images only.\ncollection = (\n ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')\n .filterDate('2021', '2022')\n .filter(ee.Filter.eq('WRS_PATH', 44))\n .filter(ee.Filter.eq('WRS_ROW', 34))\n)\n\n\n# This function uses a conditional statement to return the image if\n# the solar elevation \u003e 40 degrees. Otherwise it returns a \"zero image\".\ndef conditional(image):\n return ee.Algorithms.If(\n ee.Number(image.get('SUN_ELEVATION')).gt(40), image, ee.Image(0)\n )\n\n\n# Map the function over the collection and print the result. Expand the\n# collection and note that 7 of the 22 images are now \"zero images'.\ndisplay('Expand this to see the result', collection.map(conditional))\n```\n\nInspect the list of images in the output ImageCollection and note that when the\ncondition evaluated by the `If()` algorithm is true, the output contains a\nconstant image. Although this demonstrates a server-side conditional function\n([learn more about client vs. server in Earth Engine](/earth-engine/guides/client_server)),\navoid `If()` in general and use filters instead."]]