Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
[[["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-09-19 UTC."],[[["\u003cp\u003e\u003ccode\u003eee.Algorithms.If\u003c/code\u003e selects one of two input values based on a given condition, similar to an if-then-else statement.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003econdition\u003c/code\u003e input determines the output, treating non-boolean values as true or false based on specific rules (e.g., 0 is false, empty strings are false).\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003etrueCase\u003c/code\u003e and \u003ccode\u003efalseCase\u003c/code\u003e represent the values returned when the condition is true or false, respectively.\u003c/p\u003e\n"],["\u003cp\u003eWhile \u003ccode\u003eee.Algorithms.If\u003c/code\u003e is versatile, using \u003ccode\u003eremap\u003c/code\u003e might be more efficient for tasks like assigning numerical values to classes.\u003c/p\u003e\n"]]],["The `ee.Algorithms.If` function selects one of two inputs based on a condition. It takes a `condition`, `trueCase`, and `falseCase`. If the `condition` is true, it returns `trueCase`; otherwise, it returns `falseCase`. Non-boolean conditions are evaluated: 0, NaN, empty collections, and null are false; everything else is true. Examples show using boolean values and string comparisons as conditions to determine the returned value. The `remap` function is suggested as an alternative for class-numbering tasks.\n"],null,["# ee.Algorithms.If\n\nSelects one of its inputs based on a condition, similar to an if-then-else construct.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|------------------------------------------------------------------|---------|\n| `ee.Algorithms.If(`*condition* `, `*trueCase* `, `*falseCase*`)` | Object |\n\n| Argument | Type | Details |\n|-------------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `condition` | Object, default: null | The condition that determines which result is returned. If this is not a boolean, it is interpreted as a boolean by the following rules: - Numbers that are equal to 0 or a NaN are false. - Empty strings, lists and dictionaries are false. - Null is false. - Everything else is true. |\n| `trueCase` | Object, default: null | The result to return if the condition is true. |\n| `falseCase` | Object, default: null | The result to return if the condition is false. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\nprint(ee.Algorithms.If(false, '*true*', '*false*')); // The string \"*false*\"\nprint(ee.Algorithms.If(true, '*true*', '*false*')); // The string \"*true*\"\n\n// Consider using remap rather than If for tasks like numbers for classes.\nprint(ee.Algorithms.If(ee.String('Tree').compareTo('Tree'), 0, 1));\nprint(ee.Algorithms.If(ee.String('NotTree').compareTo('Tree'), 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\n# The string \"*false*\"\nprint(ee.Algorithms.If(False, '*true*', '*false*').getInfo())\n\n# The string \"*true*\"\nprint(ee.Algorithms.If(True, '*true*', '*false*').getInfo())\n\n# Consider using remap rather than If for tasks like numbers for classes.\nprint(ee.Algorithms.If(ee.String('Tree').compareTo('Tree'), 0, 1).getInfo())\nprint(ee.Algorithms.If(ee.String('NotTree').compareTo('Tree'), 0, 1).getInfo())\n```"]]