python - 在 Rasterio 中将栅格像元设置为零或无数据
问题描述
给定一个随机光栅 tif 文件,我想使用 Python/rasterio 将所有值为 0 的单元格设置为“无数据”。我似乎无法找到关于这个简单操作的文档。
import rasterio
src = rasterio.open('some_grid.tif')
...........
使用 R 的 raster 包,我的文化程度更高,我会像这样执行这个操作:
library(raster)
rast <- raster('some_grid.tif')
rast[rast == 0] <- NA
解决方案
Python 中的语法类似,首先在 tif 文件中读取到一个 numpy 数组。array==0 生成一个布尔数组,然后可以将其用作将所需值设置为 NAN 的索引掩码。
import rasterio
import numpy as np
with rasterio.open('some_grid.tif') as src:
array = src.read(1)
array[array==0] = np.nan
推荐阅读
- python - ValueError:无法将字符串转换为浮点数:读取 .csv 数据集时
- quorum - 如何获取事务管理器的所有可用公钥列表(用于 privateFor 字段)
- angular - Zoho Subscription 与 Angular 5 的集成
- php - 尽管允许所有流量,PHP-cURL 出站调用在 localhost 中有效,但在 AWS 托管网站中无效
- html - 使用页面滚动更改标题背景的问题
- android - 第一个活动的 onPause 不被调用时连续启动两个活动和具有半透明主题的第二个活动
- jquery - 按类将 jQuery 列表拆分为两个按字母顺序排列的部分
- html - 如何模拟按钮点击
- amazon-web-services - 在 AWS 放大控制台上部署 nuxt
- regex - 使用 Grep/Sed 在文件上递归运行 Regex 以存储捕获组