Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.Array.and
Stay organized with collections
Save and categorize content based on your preferences.
On an element-wise basis, returns 1 if and only if both values are non-zero.
Usage | Returns | Array.and(right) | Array |
Argument | Type | Details | this: left | Array | The left-hand value. |
right | Array | The right-hand value. |
Examples
Code Editor (JavaScript)
// Element-wise boolean "and" operator.
// Both arrays must be the same dimensions.
var arrayNeither = ee.Array([0, 0]);
var arrayFirst = ee.Array([1, 0]);
var arraySecond = ee.Array([0, 1]);
var arrayBoth = ee.Array([1, 1]);
// Any non-zero value is true.
var arrayLarger = ee.Array([-2, 2]);
print(arrayBoth.and(arrayLarger)); // [1, 1]
print(arrayBoth.and(arrayNeither)); // [0, 0]
print(arrayFirst.and(arraySecond)); // [0, 0]
print(arraySecond.and(arrayFirst)); // [0, 0]
print(arrayBoth.and(arrayFirst)); // [1, 0]
print(arrayBoth.and(arraySecond)); // [0, 1]
print(arrayNeither.and(arrayFirst)); // [0, 0]
print(arrayNeither.and(arraySecond)); // [0, 0]
// Works the same for all PixelTypes.
var arrayDouble = ee.Array([0.0, 2.0], ee.PixelType.double());
print(arrayBoth.and(arrayDouble)); // [0, 1]
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
Colab (Python)
# Element-wise boolean "and" operator.
# Both arrays must be the same dimensions.
array_neither = ee.Array([0, 0])
array_first = ee.Array([1, 0])
array_second = ee.Array([0, 1])
array_both = ee.Array([1, 1])
# Any non-zero value is true.
array_larger = ee.Array([-2, 2])
display(array_both.And(array_larger)) # [1, 1]
display(array_both.And(array_neither)) # [0, 0]
display(array_first.And(array_second)) # [0, 0]
display(array_second.And(array_first)) # [0, 0]
display(array_both.And(array_first)) # [1, 0]
display(array_both.And(array_second)) # [0, 1]
display(array_neither.And(array_first)) # [0, 0]
display(array_neither.And(array_second)) # [0, 0]
# Works the same for all PixelTypes.
array_double = ee.Array([0.0, 2.0], ee.PixelType.double())
display(array_both.And(array_double)) # [0, 1]
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-12-06 UTC.
[null,null,["Last updated 2023-12-06 UTC."],[[["\u003cp\u003e\u003ccode\u003eArray.and()\u003c/code\u003e performs an element-wise boolean "and" operation on two input arrays.\u003c/p\u003e\n"],["\u003cp\u003eIt returns 1 for each element if and only if both corresponding elements in the input arrays are non-zero, otherwise it returns 0.\u003c/p\u003e\n"],["\u003cp\u003eThe input arrays must have the same dimensions.\u003c/p\u003e\n"],["\u003cp\u003eAny non-zero value is considered as true for the purpose of this operation.\u003c/p\u003e\n"]]],[],null,["# ee.Array.and\n\nOn an element-wise basis, returns 1 if and only if both values are non-zero.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|--------------------|---------|\n| Array.and`(right)` | Array |\n\n| Argument | Type | Details |\n|--------------|-------|-----------------------|\n| this: `left` | Array | The left-hand value. |\n| `right` | Array | The right-hand value. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// Element-wise boolean \"and\" operator.\n// Both arrays must be the same dimensions.\nvar arrayNeither = ee.Array([0, 0]);\nvar arrayFirst = ee.Array([1, 0]);\nvar arraySecond = ee.Array([0, 1]);\nvar arrayBoth = ee.Array([1, 1]);\n// Any non-zero value is true.\nvar arrayLarger = ee.Array([-2, 2]);\n\nprint(arrayBoth.and(arrayLarger)); // [1, 1]\nprint(arrayBoth.and(arrayNeither)); // [0, 0]\n\nprint(arrayFirst.and(arraySecond)); // [0, 0]\nprint(arraySecond.and(arrayFirst)); // [0, 0]\n\nprint(arrayBoth.and(arrayFirst)); // [1, 0]\nprint(arrayBoth.and(arraySecond)); // [0, 1]\n\nprint(arrayNeither.and(arrayFirst)); // [0, 0]\nprint(arrayNeither.and(arraySecond)); // [0, 0]\n\n// Works the same for all PixelTypes.\nvar arrayDouble = ee.Array([0.0, 2.0], ee.PixelType.double());\nprint(arrayBoth.and(arrayDouble)); // [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# Element-wise boolean \"and\" operator.\n# Both arrays must be the same dimensions.\narray_neither = ee.Array([0, 0])\narray_first = ee.Array([1, 0])\narray_second = ee.Array([0, 1])\narray_both = ee.Array([1, 1])\n# Any non-zero value is true.\narray_larger = ee.Array([-2, 2])\n\ndisplay(array_both.And(array_larger)) # [1, 1]\ndisplay(array_both.And(array_neither)) # [0, 0]\n\ndisplay(array_first.And(array_second)) # [0, 0]\ndisplay(array_second.And(array_first)) # [0, 0]\n\ndisplay(array_both.And(array_first)) # [1, 0]\ndisplay(array_both.And(array_second)) # [0, 1]\n\ndisplay(array_neither.And(array_first)) # [0, 0]\ndisplay(array_neither.And(array_second)) # [0, 0]\n\n# Works the same for all PixelTypes.\narray_double = ee.Array([0.0, 2.0], ee.PixelType.double())\ndisplay(array_both.And(array_double)) # [0, 1]\n```"]]