ee.Image.arrayReshape

Chuyển đổi các dải mảng của một hình ảnh có các pixel có hình dạng bằng nhau (có thể là đa chiều) thành một hình ảnh của các mảng có hình dạng mới.

Cách sử dụngGiá trị trả về
Image.arrayReshape(lengths, dimensions)Hình ảnh
Đối sốLoạiThông tin chi tiết
này: imageHình ảnhHình ảnh của các mảng cần định hình lại.
lengthsHình ảnhHình ảnh 1 dải chỉ định độ dài mới của mỗi trục của hình ảnh đầu vào được chỉ định dưới dạng mảng 1 chiều trên mỗi pixel. Phải có các giá trị chiều dài "dimensions" trong mỗi mảng "shape". Nếu một trong các độ dài là -1, thì độ dài tương ứng cho trục đó sẽ được tính sao cho tổng kích thước không đổi. Cụ thể, một hình dạng [-1] sẽ được làm phẳng thành 1 chiều. Tối đa một thành phần của hình dạng có thể là -1.
dimensionsSố nguyênSố lượng phương diện được chia sẻ bởi tất cả các pixel mảng đầu ra.

Ví dụ

Trình soạn thảo mã (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 6.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5]

// Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice
// that elements are filled row by row in the reshaped result.
var reshape2x3 = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);
print('2D 2x3 array image (pixel)', sampArrImg(reshape2x3));
// [[0, 1, 2],
//  [3, 4, 5]]

// Use -1 to auto-determine a dimension length. For example, here we set
// 3 rows and let Earth Engine determine the number of columns needed.
var reshape3x_ = arrayImg1D.arrayReshape(ee.Image([3, -1]).toArray(), 2);
print('2D 3x? array image (pixel)', sampArrImg(reshape3x_));
// [[0, 1],
//  [2, 3],
//  [4, 5]]

// Flatten a 2D 2x3 array to 1D 6-element array.
var flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1);
print('2D array flattened to 1D', sampArrImg(flattened));
// [0, 1, 2, 3, 4, 5]

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về Python API và cách sử dụng geemap cho quá trình phát triển có tính tương tác.

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 6.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5]).toArray()
display('1D array image (pixel):', samp_arr_img(array_img_1d))
# [0, 1, 2, 3, 4, 5]

# Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice
# that elements are filled row by row in the reshaped result.
reshape2x3 = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)
display('2D 2x3 array image (pixel):', samp_arr_img(reshape2x3))
# [[0, 1, 2],
#  [3, 4, 5]]

# Use -1 to auto-determine a dimension length. For example, here we set
# 3 rows and let Earth Engine determine the number of columns needed.
reshape3x_ = array_img_1d.arrayReshape(ee.Image([3, -1]).toArray(), 2)
display('2D 3x? array image (pixel):', samp_arr_img(reshape3x_))
# [[0, 1],
#  [2, 3],
#  [4, 5]]

# Flatten a 2D 2x3 array to 1D 6-element array.
flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1)
display('2D array flattened to 1D:', samp_arr_img(flattened))
# [0, 1, 2, 3, 4, 5]