Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
Stay organized with collections
Save and categorize content based on your preferences.
Map an algorithm over a dictionary. The algorithm is expected to take 2 arguments, a key from the existing dictionary and the value it corresponds to, and return a new value for the given key. If the algorithm returns null, the key is dropped.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-13 UTC."],[[["\u003cp\u003e\u003ccode\u003eDictionary.map()\u003c/code\u003e applies a provided algorithm to each key-value pair in a dictionary, transforming the values based on the algorithm's logic.\u003c/p\u003e\n"],["\u003cp\u003eThe algorithm used by \u003ccode\u003eDictionary.map()\u003c/code\u003e receives a key and its corresponding value as input, and it should return the new value for that key.\u003c/p\u003e\n"],["\u003cp\u003eIf the algorithm returns null for a specific key, that key-value pair will be excluded from the resulting dictionary.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eDictionary.map()\u003c/code\u003e is particularly useful for tasks like data transformation and filtering within dictionaries, offering a concise way to modify values based on custom logic.\u003c/p\u003e\n"],["\u003cp\u003eExample use cases include converting units of measurement within a dataset or selectively removing entries based on certain criteria applied to the key-value pairs.\u003c/p\u003e\n"]]],["The core content details the `map` function for dictionaries. This function applies a user-defined algorithm to each key-value pair within a dictionary. The algorithm takes a key and its corresponding value as input and returns a new value. The `map` function iterates through the dictionary, executes the provided algorithm on each pair, and generates a new dictionary with the updated values. If the algorithm's result is `null`, the key is removed from the resulting dictionary. Examples illustrate this with scaling values in a dictionary.\n"],null,["# ee.Dictionary.map\n\nMap an algorithm over a dictionary. The algorithm is expected to take 2 arguments, a key from the existing dictionary and the value it corresponds to, and return a new value for the given key. If the algorithm returns null, the key is dropped.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------|------------|\n| Dictionary.map`(baseAlgorithm)` | Dictionary |\n\n| Argument | Type | Details |\n|--------------------|------------|---------|\n| this: `dictionary` | Dictionary | |\n| `baseAlgorithm` | Algorithm | |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A dictionary (e.g. results of ee.Image.reduceRegion of an S2 image).\nvar dict = ee.Dictionary({\n B1: 182,\n B2: 219,\n B3: 443\n});\n\n/**\n * Convert S2 surface reflectance units to native scale.\n */\nfunction scale(key, value) {\n return ee.Number(value).divide(1e4);\n}\n\nprint('S2 surface reflectance in native units', dict.map(scale));\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# A dictionary (e.g. results of ee.Image.reduceRegion of an S2 image).\ndic = ee.Dictionary({\n 'B1': 182,\n 'B2': 219,\n 'B3': 443\n})\n\n\ndef scale(key, value):\n \"\"\"Convert S2 surface reflectance units to native scale.\"\"\"\n return ee.Number(value).divide(1e4)\n\nprint('S2 surface reflectance in native units:', dic.map(scale).getInfo())\n```"]]