ee.Image.arrayReshape

แปลงแถบอาร์เรย์ของรูปภาพที่มีพิกเซลรูปร่างเท่ากันซึ่งอาจเป็นแบบหลายมิติเป็นรูปภาพของอาร์เรย์ที่มีรูปร่างใหม่

การใช้งานการคืนสินค้า
Image.arrayReshape(lengths, dimensions)รูปภาพ
อาร์กิวเมนต์ประเภทรายละเอียด
ดังนี้ imageรูปภาพรูปภาพของอาร์เรย์ที่จะเปลี่ยนรูปร่าง
lengthsรูปภาพรูปภาพ 1 แถบที่ระบุความยาวใหม่ของแต่ละแกนของรูปภาพอินพุตที่ระบุเป็นอาร์เรย์ 1 มิติต่อพิกเซล ควรมีค่าความยาว "ขนาด" ในอาร์เรย์ของแต่ละรูปร่าง หากความยาวใดความยาวหนึ่งเป็น -1 ระบบจะคำนวณความยาวที่สอดคล้องกันสำหรับแกนนั้นเพื่อให้ขนาดรวมคงที่ โดยเฉพาะอย่างยิ่ง รูปร่าง [-1] จะแบนเป็น 1 มิติ โดยมีคอมโพเนนต์ของรูปร่างได้สูงสุด 1 รายการที่เป็น -1
dimensionsจำนวนเต็มจำนวนมิติข้อมูลที่พิกเซลอาร์เรย์เอาต์พุตทั้งหมดใช้ร่วมกัน

ตัวอย่าง

โปรแกรมแก้ไขโค้ด (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]

การตั้งค่า Python

ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า สภาพแวดล้อม Python

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()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [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)
print('2D 2x3 array image (pixel):', samp_arr_img(reshape2x3).getInfo())
# [[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)
print('2D 3x? array image (pixel):', samp_arr_img(reshape3x_).getInfo())
# [[0, 1],
#  [2, 3],
#  [4, 5]]

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