问题标签 [rasterio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6658 浏览

python - 如何使用python中的地面控制点对未参考的航拍图像进行地理配准

我有一系列未参考的航拍图像,我想使用 python 进行地理配准。这些图像在空间上是相同的(它们实际上是从视频中提取的帧),我通过在 ArcMap 中手动对一帧进行地理配准获得了它们的地面控制点。我想将获得的地面控制点应用于所有后续图像,并因此为每个处理后的图像获得一个带有相应世界文件 (.jgw) 的 geo-tiff 或 jpeg 文件。我知道使用 arcpy 可以做到这一点,但我无法访问 arcpy,并且如果可能的话,我真的很想使用免费的开源模块。

我的坐标系是 NZGD2000(epsg 2193),这是我希望应用于我的图像的控制点表:

176.412984、-310.977264、1681255.524654、6120217.357425

160.386905、-141.487145、1681158.424227、6120406.821253

433.204947、-310.547238、1681556.948690、6120335.658359

这是一个示例图像:https ://imgur.com/a/9ThHtOz

我已经阅读了很多关于 GDAL 和 rasterio 的信息,但是我对它们没有任何经验,并且无法将我发现的一些代码适应我的特定情况。

光栅尝试:

GDAL尝试:

我不太清楚如何使上面的代码工作,我非常感谢任何帮助。

0 投票
1 回答
1982 浏览

python - Overlap error using Rasterio mask in Python

I have a satellite image raster file and a Shapefile consisting of several discrete polygons. I would like to individually extract (or mask) the Numpy image array for each of these polygons from the raster file.

Currently, I import the Shapefile using Fiona and create a list of the polygons. I have no problem masking the raster file using all the polygons at once. However when I try to use an individual polygon from the list I get an error: "ValueError: Input shapes do not overlap raster.". This is despite getting a successful result previously, and both files using the same CRS.

This works:

This doesn't work (WindowError: windows do not intersect and ValueError: Input shapes do not overlap raster):

I guess I'm missing something fundamental! Is there an elegant way of extracting each polygon in the list 'features' as an individual image file/numpy array from the raster image?

Thanks!!

0 投票
2 回答
2115 浏览

python - ImportError:没有名为“rasterio.vrt”的模块

我正在使用示例代码进行 NDVI 计算,来自Dask. 代码链接如下。 计算 NDVI 的代码

在使用以下代码块创建 xarray 数据集时,

我收到以下导入错误

我已尽力搜索,但找不到帮助。如果有人可以帮助我确定此导入错误的原因,那就太好了。

0 投票
2 回答
3573 浏览

python - 如何将 netCDF4 文件转换为 geoTiff

我目前正在尝试以 geoTiff 格式获取 Tropomi 数据。我下载了一些 netCDF4 格式的数据。这样我就获得了三个 numpy 数组。一种是纬度坐标,一种是经度坐标,一种是一氧化碳值。

所以我有一个矩阵,其中包含我的栅格的值,每个值我都知道相应值的经度和纬度。

有了这些信息,我如何构建地理参考栅格?

我读入数据如下 import netCDF4 from netCDF4 import Dataset import numpy as np

获得 3 个形状为 (1,290,215) 的矩阵

现在我想将其转换为墨卡托投影的 geoTIFF,但我不知道该怎么做。

0 投票
0 回答
57 浏览

python-2.7 - 从最小数量的 Sentine-1 SAR 图像创建马赛克,该图像具有最大覆盖多边形 shapefile

我有一个多边形 shapefile,它定义了一个非常大的 ROI。为了覆盖这个 ROI,我需要创建一个栅格马赛克(Sentinel-1 图像)。马赛克需要使用最少数量的栅格进行制作,并且应该完全覆盖 ROI。

如果我仅根据 ROI 搜索栅格数据,它会提供多个满足 ROI 覆盖但会导致冗余数据的栅格。这意味着可以被3张图像组成的马赛克覆盖的ROI被15张图像组成的马赛克覆盖。

ROI 是大陆尺度的,因此马赛克将由 1 个以上的栅格组成。

我想确定一个工作流程,通过该工作流程,我可以使用最少数量的 Sentinel-1 图像创建马赛克,这些图像可以以最少的冗余与 ROI 重叠。

我认为要在这种情况下取​​得进展,我会执行以下操作:

  1. 使用彼此之间重叠最少的栅格,但覆盖 ROI shapefile。这将创建具有最少数量的光栅图块的马赛克。

python、qgis、arcmap有什么建议吗?

0 投票
1 回答
977 浏览

python - 是否可以在 geotiff 图像与 geopandas 数据框之间建立连接?

我有一个 shapfile 和一个 geotiff 图像。

在此处输入图像描述

我想data仅将 的值分配给由df. 是否可以裁剪该区域周围的图像或在它们之间进行连接?

0 投票
0 回答
826 浏览

python - 光栅:ValueError:宽度和高度必须> 0

我尝试使用rasteriogeopandas裁剪 geotiff 图像,df但如果我使用会出现错误crop=True

如果我不使用该选项,它会起作用crop=True

0 投票
1 回答
4046 浏览

python - 在 Rasterio 中将栅格像元设置为零或无数据

给定一个随机光栅 tif 文件,我想使用 Python/rasterio 将所有值为 0 的单元格设置为“无数据”。我似乎无法找到关于这个简单操作的文档。

使用 R 的 raster 包,我的文化程度更高,我会像这样执行这个操作:

0 投票
0 回答
305 浏览

python - 在 python 中使用 Rasterio 读取光栅文件时出现内存错误

我正在尝试在 python 中使用 rasterio 包来读取光栅文件。

栅格文件来自 USDA - CDL 层:https ://www.nass.usda.gov/Research_and_Science/Cropland/Release/index.php

当我尝试在乐队中阅读时出现内存错误:

不知道该怎么办。

提前谢谢!

0 投票
1 回答
2174 浏览

python - Python3.7光栅库打不开jp2

我想从 sentinel2 打开一个 jp2 图像,但是当我读取图像时

我得到下一个错误

我已经用 OSGeo4W 安装了 GDAL,当我使用 gdalinfo --formats 命令时我可以看到驱动程序

我看到的唯一可能是问题是,当我看到我使用 python 的 gdal 格式时,JP2OpenJPEG 驱动程序不存在。

关于发生了什么的任何想法?

Python 版本:3.7 Gdal 版本:2.3.3 Rasterio 版本:1.0.21

谢谢