问题标签 [osgeo]
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.
c# - VRT 的 GDAL C# 包装器不写入 VRT 文件
我正在使用 .NET 的 GDAL 库(库版本 2.3.3)和 OSGeo4W shell。
我正在做的是将两个(或更多)光栅文件组合成一个 VRT,以供以后处理。这发生在代码中。
作为测试,在 shell 中,我可以发出以下 GDAL 命令:
正如预期的那样,它会在列出的文件夹中生成一个名为“z7_x43_y43.vrt”的 VRT 文件。
但是,相应的 GDAL C# 库似乎无法重现此正确行为;没有 VRT 文件写入vrtFile
.
我可以使用其他 GDAL C# 库,例如wrapper_GDALTranslate(...)
没有问题(意思是,当提供目标路径时,文件被写入那里),它似乎只是 BuildVRT 有问题。
这是我正在使用的代码,针对这个问题进行了简化:
源文件 (*.gn1) 使用 NITF 驱动程序和 WGS84 基准,并且在其他与 GDAL C# 库相关的代码任务中工作得很好(例如,我可以将它们加载为栅格,将 gdal_translate 应用于它们等)。
有人对 GDAL C# 库的 VRT 方面有经验吗?关于我可能做错了什么的建议,或者图书馆本身可能存在问题?
编辑:这并不是说调用wrapper_GDALBuildVRT_names
什么都不做......它确实有一个Dataset
返回对象,它正确表示VRT数据,并且可以传递给翻译函数等。
这将正确生成输出文件outPath
(例如,PNG、GeoTIFF 等,取决于选项)。我只是想知道为什么从来没有生成物理 VRT 文件,即使我们传入了目标名称 ( vrtFile
)。
python - Mac:当我尝试在 Python 中调用 osgeo 时,为什么会出错?
我尝试ogr
从osgeo
但我收到以下错误
在我安装之前GDAL
,如果我这样做:
python - 在 macOS 上导入 GDAL 时库版本不兼容
我正在尝试安装导入gdal
库。
但我收到以下错误
我安装了gdal
槽conda install gdal
python - GDAL Intersection return value
I am using GDAL Intersection to provide me the intersection between 2 maps (I'm running the code in Python 3). My code is working fine and I have good results with it for some months.
Lately, I have run my code for a different city and the intersection map is incomplete. I do not get errors nor warnings, but the only difference is the return value of the Intersection. Normally I get 0 as the return value, but in this case, I get 6 as the return value of the intersection.
I have searched the Intersection in the API page, but I haven't found anything about the return value. I've looked in the following websites:
When I run this line, I normally get a 0 and I got a correct map and data as the intersection. But now the code returns 6 and I'm trying to figure it out what it means.
python - 需要帮助在 Windows 10 中为 python 安装 fiona 和 geopandas - 出现无法加载请求的 DLL 错误
我正在尝试在 Windows 10 上为 python 安装 fiona 和 geopandas,并一直遇到错误“错误 1:无法加载请求的 DLL”。
我知道这个问题与已提出的其他问题类似,但我已按照多个答案和教程中的步骤进行操作,但似乎仍然无法使其正常工作。
我得到的最接近的是使用本教程中概述的步骤:https ://geoffboeing.com/2014/09/using-geopandas-windows/
并总结如下:
从https://www.lfd.uci.edu/~gohlke/pythonlibs/安装了 rtree、pyproj、shapely、gdal、geopandas、fiona 的 .whl 文件
- Rtree-0.8.3-cp37-cp37m-win_amd64.whl
- pyproj-2.2.1-cp37-cp37m-win_amd64.whl
- GDAL-3.0.0-cp37-cp37m-win_amd64.whl
- geopandas-0.5.0-py2.py3-none-any.whl
- Fiona-1.8.6-cp37-cp37m-win_amd64.whl
- Shapely-1.6.4.post2-cp37-cp37m-win_amd64.whl
导航到下载文件夹并使用 pip install 安装 GDAL 轮
将 osgeo 路径添加到我的 Windows 用户路径环境变量中
- 使用 pip install 安装剩余的轮子(geopandas 最后),所有安装都没有错误
- 作为检查,我运行
gdalinfo --help-general
并得到以下输出:
这是我得到“错误1:无法加载请求的DLL:”错误的地方。它说它找不到指定的模块“ogr_FileGDB.dll”。奇怪的是,那个 .dll 实际上是在它正在寻找的位置???
此外,在 python shell 中,尝试导入 fiona 或 geopandas 时出现以下错误:
这超出了我的故障排除水平......如果有人能让这件事为我工作,我将不胜感激!!!!
仅供参考 - 运行 Python 3.7.3,Windows 10,pip 已更新。
最后并且可能很重要(不确定它是如何发挥作用的?)我已经定义了一个 GDAL_DATA 系统变量,并且(可能不正确?)还尝试将 osgeo 路径添加到我的系统路径变量中:
python - 如何将光栅文件直接合并到 ENVI 或 LAN
我正在尝试使用 gdal 将几个高光谱图块缝合在一起。原始文件采用 ENVI .bin/.hdr 格式。
我已经使用 gdal 为每个场景构建了一个虚拟光栅,然后使用 gdal_merge 创建了新的组合文件。我正在使用 OSGeo4W 外壳。
我已成功输出 .tif 和 .bil 格式的文件,但随后我需要转换文件,由于文件大小(每个场景 > 200 GB),这需要很长时间。我需要使用 .bin 或 .lan 格式才能与光谱 python (SPy) 一起使用。当我尝试合并到这些格式时,我收到回溯消息,说明:
我对python和一般编码相当陌生。任何帮助将不胜感激!
python - 如何根据坐标切割卫星图像的一部分?(gdal)
我有一个 7 通道的卫星图像(基本上我有七个 .tif 文件,每个波段一个)。我有一个 .csv 文件,其中包含卫星拍摄区域内的兴趣点坐标。我想在每个坐标点的周围切割一小部分图像。我怎么能那样做?
由于我现在没有完整的工作代码,因此这些小部分图像的大小实际上并不重要。为了解释这个问题,假设我希望它们是 15x15 像素。所以目前,我的最终目标是获取大量 15x15x7 向量,一个对应于 .csv 文件中的每个坐标点。这就是我所坚持的。(“15x15x7”中的“7”是因为图像有7个通道)
只是为了提供一些相关的背景信息:稍后我将使用这些向量在 keras 中训练 CNN 模型。
这是我到目前为止所做的:(我使用的是jupyter notebook,anaconda环境)
导入 gdal、numpy、matplotlib、geopandas 等库。
使用 gdal 打开 .gif 文件,将它们转换为数组
使用熊猫打开 .csv 文件。
创建了一个名为“imagen”的形状为 (7931, 7901, 3) 的 numpy 数组,它将承载卫星图像的 7 个波段(以数字的形式)。此时我只需要知道数组“imagen”的哪些行和列对应于每个坐标点。换句话说,我需要将每个坐标点转换为一对数字 (row,colum)。这就是我所坚持的。
在那之后,我认为“切割部分”会很容易。
打印出这样的内容:
哪个情节是这样的:
我想将那些 (-37,-61) 转换为 (2230,1750) 之类的东西。但我还没想好怎么弄。有什么线索吗?
windows - 如何在 OSGeo4W 中将 proj 升级到 6.1?
我希望使用 python 库keplergl。这个库使用库proj How to report on proj site home,要在 Windows 上安装 proj 我必须使用 OSGeo4W。但是有一个问题,keplergl 需要 proj 6.1:
OSGeo4W 在他的数据包项目 5 中有。
如何将 proj 升级到 6.1?
谢谢
postgresql - 为什么在 RHEL 8 / CentOS 8 上安装 PostGIS 3 是不可能的?
我正在尝试在 CentOS 8 上安装最新的 PostGIS 3.0.x,但没有成功。
我认为没有人在 RHEL 8 或 CentOS 8 上运行 PostGIS,我不明白为什么不这样做。似乎无法安装。
我已经通过禁用 RHEL AppStream 成功安装了 Postgres 12.0
我在 CentOS 8 上安装 postgres 12 的步骤:
1)
2)
我现在正在尝试安装 PostGIS。
我看到 postgis30_96 是最新提供的(如下所列):
当我尝试使用以下命令安装时:
我收到这些错误:
我寻找xerces-c,没有返回任何内容:
我在哪里可以安装xerces-c?
我看看hdf5是否可以安装(依赖)
并且什么都没有返回。如何满足这些依赖关系,以便安装 PostGIS?
我去了 hdf5 网站,下载了源代码,这是一个巨大的 FAT MESS。构建/安装说明不起作用 - 代码与安装说明不同步。
我检查了 hdf5 网站并找到了另一组构建/安装说明,它们也与最新的代码库不同步。我不知道这个项目是哪条路,如果它是网络上的一个僵尸项目,看起来还活着,但没人在家。
如何轻松地将 hdf5 安装到我的系统和 xerces-c 上,以免现有的东西被弄乱?我更愿意使用 dnf 通过任何经过认可的 CentOS 8 软件包 repo 安装这些。
我无法在 PostGIS 票务跟踪系统上记录此问题。在那里记录一张票需要一个 OSGEO ID,当我请求“咒语”开始时,什么都没有返回,没有响应,
OSGEO 是另一个僵尸项目,没人在家。https://www.osgeo.org/community/getting-started-osgeo/osgeo_userid/
请仅在您自己在 CentOS 8 机器或 VM 上实际完成此操作时才回复,虽然我感谢其他人的建议、指点或想象,但它会污染 r/postgis reddit 与错误信息、无效的解决方案,而且不仅浪费我的时间死胡同,也是别人的时间。
其他人不可避免地会遇到同样的问题,并被这些善意的问题误导,但提供的信息不正确或不完整。
python - 使用python和gdal从.geotiff中的纬度/经度点查找像素坐标
我有(纬度,经度)坐标来描述 .geotiff 图像中一个点的位置。
我希望找到图像内经纬度的等效像素坐标。
我通过以下指令从命令行使用 gdaltransform 成功:
但我想从 python 代码中检索这种类型的等价物。我尝试了以下方法:
但它返回此错误:
我究竟做错了什么 ?我试图解决这个错误,但没有任何成功。还有其他方法吗?
编辑 1:
我通过终端中的 gdaltransform 命令实现了一次转换:
由于我需要以 pythonic 方式检索像素,因此我尝试使用子进程调用命令,例如:
但它不起作用。也许是因为命令本身的行为方式,比如实际上并没有返回结果并结束自己,而是显示结果并保持忙碌。