[英]I'm having trouble converting a Raster to an Array
我目前在将栅格转换为数组时遇到了一些问题。 最终,我想将栅格从整数转换为 float32,以便我可以运行 gdal_calc 但是,我无法正确更改类型以执行此操作。
所以,如果有人可以提供任何帮助,我将不胜感激。 这是我的脚本,很短。
import gdal
import numpy as np
import math
import osgeo
import os
import scipy
# Open Rasters
hvRaster = gdal.Open("C:\\Users\\moses\\Desktop\\Calc_Test\\IMG-HV-ALOS2110871010-160611-HBQR1.5RUA.img")
vhRaster = gdal.Open("C:\\Users\\moses\\Desktop\\Calc_Test\\IMG-VH-ALOS2110871010-160611-HBQR1.5RUA.img")
# Get Raster Band
hvRasterBand = hvRaster.GetRasterBand(1)
vhRasterBand = vhRaster.GetRasterBand(1)
# Convert Raster to Array
hvArray = np.array(hvRaster.GetRasterBand(1).ReadAsArray())
vhArray = np.array(vhRaster.GetRasterBand(1).ReadAsArray())
print hvArray
print vhArray
提前谢谢你,
摩西
免责声明:我是以下库的作者。
lidario.Translator可以帮助您将栅格转换为点云(np.array):
import lidario as lio
# Create a Translator object which will take a tif file and return a np.array
translator = lio.Translator("geotiff", "np")
# Translate the tif file and get the np.array
point_cloud = translator.translate("/path/to/file.tif")
Lidario 在幕后使用 GDAL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.