使用python进行栅格到点的转换

时间:2018-08-28 19:41:40

标签: python arcgis raster

我想基于栅格中的“值”字段,使用python脚本将多个栅格文件转换为点文件。但是,我想排除值为“ 0”的单元格。有一种方法可以一步完成,还是我需要将原始栅格复制到新栅格并将no_data值设置为0?有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:0)

免责声明:我是以下库的作者。

您可以尝试lidario.Translator:它可以将多个.tif文件快速转换为任何类型的点云(np.array,pd.dataframe,csv文件等)。它与GDAL一起使用。

对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", no_data=0, band=1)

直接保存为CSV:

import lidario as lio

translator = lio.Translator("geotiff", "csv")
translator.translate("/path/to/file.tif", out_file='output.csv', no_data=0, band=1)