【问题标题】:raster to point conversion using python使用python进行光栅到点转换
【发布时间】:2019-02-03 12:25:24
【问题描述】:

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

【问题讨论】:

  • 您能否详细说明光栅文件的格式以及您想要的“点文件”之一?例如,点文件是包含列(纬度、经度、值)的 csv 文件吗?它将帮助这里的人们确定最佳解决方案
  • 栅格文件是单波段 GRID 栅格。点文件需要是简单的点形状文件。
  • 您是否已经有一些 python 代码来导入和导出数据?我认为将其包含在问题中会有所帮助...也许您在gis.stackexchange.com上会有更好的机会

标签: python arcgis raster


【解决方案1】:

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

你可以试试lidario.Translator:它允许快速将多个 .tif 文件转换为任何类型的点云(np.array、pd.dataframe、csv 文件,...)。它在引擎盖下与 GDAL 一起工作。

Geotiff 到 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)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-08-15
  • 1970-01-01
  • 2013-09-05
  • 2020-04-08
  • 1970-01-01
  • 2023-03-26
  • 2020-12-06
  • 2019-01-08
相关资源
最近更新 更多