ee.Array.firstNonZero

On an element-wise basis, selects the first value if it is non-zero, and the second value otherwise.

UsageReturns
Array.firstNonZero(right)Array
ArgumentTypeDetails
this: leftArrayThe left-hand value.
rightArrayThe right-hand value.

Examples

Code Editor (JavaScript)

var empty = ee.Array([], ee.PixelType.int8());
print(empty.firstNonZero(empty));  // []

print(ee.Array([0]).firstNonZero(0));  // [0]
print(ee.Array([0]).firstNonZero([0]));  // [0]
print(ee.Array([0]).firstNonZero([1]));  // [1]
print(ee.Array([2]).firstNonZero([3]));  // [2]
print(ee.Array([1]).firstNonZero([0]));  // [1]

print(ee.Array([-1, 0, 1]).firstNonZero([2, -1, 2]));  // [-1,-1,1]

// [[1,2],[3,4]]
print(ee.Array([[1, 2], [0, 0]]).firstNonZero([[0, 0], [3, 4]]));

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)

empty = ee.Array([], ee.PixelType.int8())
display(empty.firstNonZero(empty))  # []

display(ee.Array([0]).firstNonZero(0))  # [0]
display(ee.Array([0]).firstNonZero([0]))  # [0]
display(ee.Array([0]).firstNonZero([1]))  # [1]
display(ee.Array([2]).firstNonZero([3]))  # [2]
display(ee.Array([1]).firstNonZero([0]))  # [1]

display(ee.Array([-1, 0, 1]).firstNonZero([2, -1, 2]))  # [-1, -1, 1]

# [[1, 2], [3, 4]]
display(ee.Array([[1, 2], [0, 0]]).firstNonZero([[0, 0], [3, 4]]))