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

python - 使栅格图顶部的 geopandas DataFrame 图正确拟合

我正在尝试将 Pumps.shp 数据绘制在同一图上本网站的 OSMap.tif 文件之上。

我尝试使用 rasterio.plot() 和 geopandas.plot() 方法以及 matplotlibs 子图。

问题是绘图不匹配,光栅文件被绘制在两个轴的范围(0,1000)中,而 shp 被绘制在实际坐标范围内(x 轴和周围大约 50000)。

两个对象中的 crs 相等,并且坐标在相同的范围内。为什么是这样?我究竟做错了什么?

这是我的代码

这是调用 src.bounds 的结果:

边界框(左=528765.0,下=180466.0,右=529934.0,上=181519.0)

这是 data.bounds 的结果

(528765.0、180466.0、529934.0、181519.0)

这是两者的crs:

CRS({'lon_0': -2, 'y_0': -100000, 'k': 0.9996012717, 'lat_0': 49, 'proj': 'tmerc', 'wktext': True, 'datum': 'OSGB36' , 'no_defs': True, 'x_0': 400000, 'units': 'm'})

0 投票
0 回答
283 浏览

python - 使用 pyenv 安装 RasterIO

RasterIO 似乎是一个非常有前途的地理空间 IO 库,并且比 gdal 的 python 绑定更容易导航。我无法正确安装它。

目前,我分别使用pyenvpyenv-virtualenv管理 python 发行版和环境。我使用以下步骤安装了带有 brew 的 gdal 。

我导航到我的项目文件夹,激活虚拟环境并从 PyPI: 下载 rasterio pip install rasterio。但是,正确导入包的唯一方法是先导入osgeo?!?我担心这意味着我有一些损坏的依赖项或者我安装rasterio不正确。

具体来说,

工作正常(使用大约一半的快速入门测试),但是

才不是。后者产生:

有关如何调试/解释此错误的任何建议对我来说都是无价的。谢谢!

如果可能的话,我不希望按照这些说明从源代码构建。

0 投票
1 回答
2303 浏览

python - cartopy: 导入 cartopy.crs 错误

我正在为xarray. 我试图安装rasterio,但它似乎搞砸了我的cartopy安装。

我使用以下命令安装rasterio在我的 Mac 上:

现在,当我尝试时,import cartopy.crs as ccrs我得到了错误

可能是路径/版本的东西GEOSPROJ4或者GDAL改变了?

有没有办法进行干净的安装来cartopy获取依赖项?

我最初cartopy使用conda install -c conda-forge cartopy. conda update cartopy因为我有最新版本,所以实际上并没有做任何事情。

任何帮助都将不胜感激,因为我的大部分工作都是使用 cartopy 完成的。

编辑:关于这里的一些讨论https://github.com/SciTools/cartopy/issues/612

$ geos-config --version 3.6.2

试过了

但无济于事

0 投票
1 回答
1632 浏览

python - python-xarray:如何将多个波段和日期的单个波段栅格数据转换为 xarray-Dataset 或 DataArray?

我想获取栅格(卫星图像)数据,并构建一个Datasetor DataArray,以加快我的图像处理速度(我必须经常处理多波段、多日期的卫星图像)。

数据作为每个图像日期的单独波段出现,我了解如何将每个波段日期转换为 xarray- DataArray。我认为为每个波段设置一个变量是最有意义的,并且在每个波段内都有空间(x,y)和时间维度。

但是,我不知道该怎么做。

我一直在与一些虚拟乐队合作以试图解决这个问题,因此将包括在内以澄清我的数据是什么样子以及我正在尝试做什么。

然后我想将它们组合成一个DataArray,带有两个变量(Band4 和 Band5),每个变量都包含两个图像日期......但不知道如何进行。

创建/导入数组时是否需要添加更多坐标或维度,然后concat沿着这些维度添加?

0 投票
1 回答
1328 浏览

python-3.x - 无法使用“pip”安装模块“Rasterio”

我想在 Fedora26 中为 python3 安装“Rasterio”模块。使用“pip install raterio”我收到错误“错误:命令'gcc'失败,退出状态为1”。此外无法使用“yum”和“dnf”下载。请解决问题。

0 投票
1 回答
1028 浏览

django - 使用 rasterio 和 s3 打开栅格

我将栅格存储在 Amazon S3 存储桶中,并希望使用我的 Django docker 容器中安装的栅格库打开特定对象。

AWS_ACCESS_KEY_ID 和 AWS_ACCESS_KEY_ID 包含在 docker-compose.yml 环境变量中。

在 docker 容器内并尝试:

我收到错误:

解决方案是什么?

在本地机器上一切正常。

0 投票
0 回答
515 浏览

python - 来自 dask 数组存储的线程安全光栅写入

我正在尝试找到将 dask 数组保存到 geotiff 的最佳/最快方法。

我一直在研究如何使 rasterio/GDAL 线程安全,但我没有想出任何可以从python轻松访问的东西。

如果我使用da.store(..., lock=False),那么文件可能会损坏。我尝试为每次写入打开和关闭文件,但这仍然使用相同的文件描述符(如果我错了,请纠正我)并且无论如何都不是一个很好的解决方案。

有没有人有另一种方法来做到这一点,以便每个 dask 工作人员(线程)可以安全地写入由rasterio库创建的geotiff文件?当前的工作解决方案是保留其默认值.dask.storelock-True

我猜任何其他解决方案无论如何都会涉及线程锁定,但我认为无论如何在这里有这个解决方案会很好。

我的工作示例代码如下:

更改lock=False可能损坏的文件。

我也能够通过增加 GDAL 的内部缓存大小来获得成功的输出,尽管不能保证。

0 投票
1 回答
855 浏览

python - 直接将 tiff 文件读取到 numpy 数组而不保存到磁盘

我经常下载 (geo) tiff 文件,将它们保存到临时磁盘空间,然后使用rasterio读入数据以获得numpy.ndarray我可以分析的数据。

例如,将这个 url 用于 NAIP 图像

对于其他(netcdf)地理网格数据,我可能会使用xarray该 url 获取数据以获取 Gridmet 数据

所以得到一个 xarray 对象作为一个流工作并且很容易进入一个ndarray,但我只知道这个在 netcdf 数据集上工作。有没有办法将 tif 数据“流式传输”到ndarray对象?理想情况下,可以这样做

asrasterio返回一个不错的元数据对象以及ndarray,尽管我还没有让它与 url 资源一起使用。谢谢。

0 投票
1 回答
582 浏览

gdal - Rasterio 无法加载 VRT

RasterIO 无法加载 VRT

我使用 rasterio 加载由 pymodis.convertmodis_gdal.createMosaicGDAL 生成的 VRT 文件。直到最近我重新安装了 Ubuntu OS 和 python 包,所以没问题,对于 rasterio。现在加载 VRT 文件时出现以下错误:

例如,我在MOD09A1__2018049__sur_refl_b01.vrt

该文件/dev/sdf/MOD09A1/MOD09A1.A2000049.h20v04.006.2015136143235.hdf是有效路径,因此该文件确实存在!

虽然 GDAL-Python 可以加载它

当我使用 pyModis 将 HDF MODIS 切片镶嵌为 VRT 文件时,我验证了 .vrt 文件的优点。为此,我使用 python-gdal 加载文件并读取光栅数组。Python GDAL 一切顺利。我假设 rasterio 也基于 GDAL,所以我不明白为什么它会抛出上述异常。

VRT 文件示例

操作系统和软件包版本

Ubuntu 16.04,Python 3.5.2 RasterIO 1.0a12 pyModis 2.0.9

以前当 rasterio 工作正常时,我使用 Python 2.7。我不确定迁移到 Python 3.5 是否是主要原因。

0 投票
0 回答
671 浏览

arcmap - 光栅中的 EPSG WKT

各位晚上好。我对 rasterio 中的翘曲选项有疑问。我有两个来自阿尔巴尼亚的栅格数据集。第一个栅格是裁剪的产物,第二个栅格是国家的边界​​。首先,我有以下预测。 在此处输入图像描述

对于第二个栅格,我有以下信息: 在此处输入图像描述

我的目标是使用栅格 2 的空间信息重新投影栅格#1。我尝试使用 rasterio,结果显示以下空间参考:Krassovsky_1942_Transverse_Mercator,并且基准未知。使用以下代码后得到此结果:

我读到可以使用 arcpy.Describe 在 ArcMap 中检索 EPGS 代码,但我想使用模块 rasterio 来完成任务。我认为使用光栅打开图像后的选项(dataset.crs)会给我 CRS 进行投影,但事实并非如此。谁能帮我解决这个问题?

非常感谢