ee.Image.arraySlice

Erstellt ein Unterarray, indem jede Position entlang der angegebenen Achse vom „start“ (einschließlich) bis zum „end“ (ausschließlich) in Schritten von „step“ herausgeschnitten wird. Das Ergebnis hat so viele Dimensionen wie die Eingabe und in allen Richtungen dieselbe Länge, mit Ausnahme der Achse für das Slicing. Dort entspricht die Länge der Anzahl der Positionen von „start“ bis „end“ mit dem Schritt „step“, die innerhalb der Länge des Eingabearrays entlang der „axis“ liegen. Das bedeutet, dass das Ergebnis entlang der angegebenen Achse die Länge 0 haben kann, wenn „start“ = „end“ ist oder wenn die Start- oder Endwerte vollständig außerhalb des Bereichs liegen.

NutzungAusgabe
Image.arraySlice(axis, start, end, step)Bild
ArgumentTypDetails
So gehts: inputBildEingabebild für das Array.
axisGanzzahl, Standardwert: 0Achse für die Teilmenge.
startBild, Standardwert: nullDie Koordinate des ersten Slice (einschließlich) entlang der Achse. Negative Zahlen werden verwendet, um den Beginn des Aufteilens relativ zum Ende des Arrays zu positionieren. Dabei beginnt -1 an der letzten Position auf der Achse, -2 an der vorletzten Position usw. Es muss ein Band für Startindexe oder ein Band pro „input“-Band vorhanden sein. Wenn dieses Argument nicht festgelegt oder an einem Pixel maskiert ist, beginnt der Slice an diesem Pixel mit dem Index 0.
endBild, Standardwert: nullDie Koordinate (exklusiv), an der das Erstellen von Slices beendet werden soll. Standardmäßig ist dies die Länge der angegebenen Achse. Negative Zahlen werden verwendet, um das Ende des Slicings relativ zum Ende des Arrays zu positionieren. Dabei wird mit -1 die letzte Position ausgeschlossen, mit -2 die letzten beiden Positionen usw. Es muss ein Bereich für Endindexe oder ein Bereich pro „input“-Bereich vorhanden sein. Wenn dieses Argument an einem Pixel nicht festgelegt oder maskiert ist, endet der Slice an diesem Pixel direkt nach dem letzten Index.
stepGanzzahl, Standard: 1Der Abstand zwischen den Slices entlang der Achse. Ein Slice wird an jedem ganzzahligen Vielfachen von „step“ von „start“ (einschließlich) bis „end“ (ausschließlich) erstellt. Muss positiv sein.

Beispiele

Code-Editor (JavaScript)

// A function to print arrays for a selected pixel in the following examples.
function sampArrImg(arrImg) {
  var point = ee.Geometry.Point([-121, 42]);
  return arrImg.sample(point, 500).first().get('array');
}

// Create a 1D array image with length 12.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

// Get the first 3 elements.
print('1D array image first 3 elements (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 0, 3)));
// [0, 1, 2]

// Get the last 3 elements.
print('1D array image last 3 elements (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, -3)));
// [9, 10, 11]

// Get elements at index positions 3 through 5 (0-based).
print('1D array image elements at index positions 3 through 5 (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 3, 6)));
// [3, 4, 5]

// Get elements at index positions 4 through end (0-based).
print('1D array image elements at index positions 4 through end (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 4)));
// [4, 5, 6, 7, 8, 9, 10, 11]

// Get elements using a step of 3.
print('1D array image elements at a step of 3 (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 0, null, 3)));
// [0, 3, 6, 9]

// Create a 2D array image with 3 rows and 4 columns.
var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([3, 4]).toArray(), 2);
print('2D array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 1,  2,  3],
//  [4, 5,  6,  7],
//  [8, 9, 10, 11]]

// Get the second row.
print('2D array image second row (pixel)',
      sampArrImg(arrayImg2D.arraySlice(0, 1, 2)));
// [[4, 5, 6, 7]

// Get the second column.
print('2D array image second column (pixel)',
      sampArrImg(arrayImg2D.arraySlice(1, 1, 2)));
// [[1],
//  [5],
//  [9]]

// Get all columns except the last.
print('2D array image all columns except last (pixel)',
      sampArrImg(arrayImg2D.arraySlice(1, 0, -1)));
// [[0, 1,  2],
//  [4, 5,  6],
//  [8, 9, 10]]

Python einrichten

Informationen zur Python API und zur Verwendung von geemap für die interaktive Entwicklung finden Sie auf der Seite Python-Umgebung.

import ee
import geemap.core as geemap

Colab (Python)

# A function to print arrays for a selected pixel in the following examples.
def samp_arr_img(arr_img):
  point = ee.Geometry.Point([-121, 42])
  return arr_img.sample(point, 500).first().get('array')

# Create a 1D array image with length 12.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

# Get the first 3 elements.
print('1D array image first 3 elements (pixel):',
      samp_arr_img(array_img_1d.arraySlice(0, 0, 3)).getInfo())
# [0, 1, 2]

# Get the last 3 elements.
print('1D array image last 3 elements (pixel):',
      samp_arr_img(array_img_1d.arraySlice(0, -3)).getInfo())
# [9, 10, 11]

# Get elements at index positions 3 through 5 (0-based).
print('1D array image elements at index positions 3 through 5 (pixel):',
      samp_arr_img(array_img_1d.arraySlice(0, 3, 6)).getInfo())
# [3, 4, 5]

# Get elements at index positions 4 through end (0-based).
print('1D array image elements at index positions 4 through end (pixel)',
      samp_arr_img(array_img_1d.arraySlice(0, 4)).getInfo())
# [4, 5, 6, 7, 8, 9, 10, 11]

# Get elements using a step of 3.
print('1D array image elements at a step of 3 (pixel)',
      samp_arr_img(array_img_1d.arraySlice(0, 0, None, 3)).getInfo())
# [0, 3, 6, 9]

# Create a 2D array image with 3 rows and 4 columns.
array_img_2d = array_img_1d.arrayReshape(ee.Image([3, 4]).toArray(), 2)
print('2D array image (pixel)', samp_arr_img(array_img_2d).getInfo())
# [[0, 1,  2,  3],
#  [4, 5,  6,  7],
#  [8, 9, 10, 11]]

# Get the second row.
print('2D array image second row (pixel):',
      samp_arr_img(array_img_2d.arraySlice(0, 1, 2)).getInfo())
# [[4, 5, 6, 7]

# Get the second column.
print('2D array image second column (pixel):',
      samp_arr_img(array_img_2d.arraySlice(1, 1, 2)).getInfo())
# [[1],
#  [5],
#  [9]]

# Get all columns except the last.
print('2D array image all columns except last (pixel):',
      samp_arr_img(array_img_2d.arraySlice(1, 0, -1)).getInfo())
# [[0, 1,  2],
#  [4, 5,  6],
#  [8, 9, 10]]