问题标签 [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 投票
0 回答
445 浏览

python - 提取超像素、检索边缘和减少网格

如何提取超像素、检索边缘然后简化这些?这是我到目前为止所得到的:

这里的问题是简化在每个多边形的基础上工作,因此它的输出不是一个紧密的网格。

我正在寻找与此类似的东西,因此获得边缘并能够简化。

0 投票
1 回答
244 浏览

python - Storing output of URL directly into numpy raster

Is there a way to store the output of a url that returns a geotiff (or tiff file) directly into a numpy array or rasterio variable using the python requests library (or any other python library)? I can use python requests for a json like this:

0 投票
1 回答
1351 浏览

python - 用光栅绘图

我正在关注https://mapbox.github.io/rasterio/topics/plotting.html上的示例

我正在使用这个 geotiff 文件http://download.osgeo.org/geotiff/samples/spot/chicago/SP27GTIF.TIF

这是我的代码:

我运行代码并且没有收到任何错误,但我也没有看到任何图表。有任何想法吗?

0 投票
1 回答
320 浏览

python - 如何将逗号分隔值放入 numpy 单元格

我有地理参考图像,其坐标值如 (475224.0, 4186282.0)。我的图像尺寸为 (647, 2180)。即有 647 列和 2180 行。我想将坐标值放入一个大小为 (647, 2180) 的 numpy 数组中,以便将每个像素的坐标作为一个数组获取。我的代码如下。

问题是 rr.transform*(i,j) 会给出类似 (475224.0, 4186282.0) 的值。如何将其保存到单元格中。对于上述程序,我收到如下错误

回溯(最后一次调用):文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/IPython/core/interactiveshell.py”,第 2881 行,在 run_code exec(code_obj , self.user_global_ns, self.user_ns) File "", line 3, in coord[i,j] = rr.transform*(i,j) ValueError: setting an array element with a sequence.

0 投票
1 回答
100 浏览

python - ST_PixelAsPolygons 光栅

有没有办法使用光栅执行类似的功能,例如 ST_PixelAsPolygons?我知道 rasterio.features.shapes 但这会输出相似像素的形状而不是所有像素的几何形状。我怎样才能得到所有像素的多边形和值?

0 投票
1 回答
643 浏览

satellite-image - 行星 NDVI 计算:ModuleNotFoundError: No module named 'rasterio'

我正在按照 Planet 的文档对 Planet Scope 4 波段图像执行 NDVI 计算

以下代码块是我写的:

从工作目录中的原始图像中提取波段数据

从目录中的元数据文件中提取 TOA 校正系数

计算 NDVI 并保存文件

添加符号系统并绘制颜色条

绘制 NDVI 像素值分布的直方图

唉,脚本的执行在代码的开头被缩短了:

所以我决定安装光栅,这应该可以解决问题:

我从中解释的是已经安装了 rasterio。如果 Python 控制台告诉我没有名为 rasterio 的模块,这怎么可能呢?控制台的输出还显示需要 Microsoft Visual C++。经过进一步研究,我找到了这个用户的解决方案。我试过了,但控制台也告诉我已经安装了 rasterio:

我在 Windows 10 64 位机器上使用 Spyder 3.1.2 和 Python 3.6 创建脚本。

0 投票
1 回答
1306 浏览

python - rasterio 写入 GeoTiff 时缺少空间参考

我正在尝试使用 rasterio 加载图像,修改 ndarray,然后使用与原始图像相同的空间参考系统写出。下面的函数是我的尝试。但是输出 geotiff 中缺少空间参考系统。关于我做错了什么有什么建议吗?

我检查了输入 geotiff crs 是否有效('epsg:32611')。

0 投票
1 回答
977 浏览

python - 在 Rasterio 中 - 当 Affine 对象分开时,如何平铺表示地理参考图像的数组?

我正在尝试平铺一个大图像(.img 格式,但可能是 geotiff),但是我已经使用rasterio mask裁剪了图像,它返回一个蒙版数组和一个单独的 Affine 对象。

现在我想将它们smaller_image分成固定大小的图块。我看过光栅窗口读写,但这似乎依赖于具有image.affine属性的图像,以免丢失地理参考。

是否可以平铺蒙版数组,并为每个平铺生成一个新的仿射?

0 投票
0 回答
289 浏览

python - Rasterio/GDAL 读写修改数据

我遇到了一个问题,我试图从同一个数据集中读取和写入。随着数据的修改,存在需要立即再次读取和修改数据的情况。python代码看起来很简单,但它似乎正在缓冲对磁盘的写入,但与读取不在同一内存位置,因为它们似乎正在写入不同的数据?

似乎重新读取该窗口实际上只是读取原始数据,而不是写入的数据。难道我做错了什么?后台是否有一个写入线程向我隐藏该数据?

谢谢,-赛斯

0 投票
1 回答
3161 浏览

python - 将多个 GeoTIFF 图像的栅格时间序列转换为 NetCDF

我有一个存储在多个GeoTIFF文件 ( *.tif) 中的栅格时间序列,我想将其转换为单个NetCDF文件。数据是uint16

我可能会使用gdal_translate以下方法将每个图像转换为 netcdf:

然后用一些脚本NCO从文件名中提取日期然后连接,但我想知道我是否可以在 Python 中更有效地使用xarray它,它是新的rasterio后端。

我可以轻松读取文件:

返回

我可以将其中之一写入 NetCDF:

但理想情况下,我可以使用类似xr.open_mfdataset的东西,写入时间值(从文件名中提取),然后将整个聚合写入netCDF. 并dask处理了核外内存问题。:-)

可以用xarrayand完成这样的事情dask吗?