问题标签 [gdal]

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 回答
379 浏览

python - GDAL:获取底层 C 对象的指针/句柄

我有以下设置:

  • 带有 Python 绑定的 GDAL 库 (SWIG)
  • 一些胶水代码(Python)
  • AC 库,与 ctypes 接口

我想将 SWIGDataset对象的基础数据集指针/句柄传递给我的 C 库。如何检索此指针?

不想将 C 库与 SWIG 接口。

0 投票
1 回答
3627 浏览

python - 如何使用 GDAL 更改栅格的地理变换?

我正在尝试使用 GDAL 来设置我按照GDAL API 教程中概述的步骤创建的新栅格的地理变换。

dataset.SetGeoTransform()文档说这应该设置仿射变换系数(根据dataset.GetGeoTransform()文档[0, 1, 0, 0, 0, 1]默认设置为),但是从我上面的代码中可以看出,这些更改似乎并没有真正生效当我尝试改变它们时。

我什至尝试通过 将新栅格的缓存刷新到磁盘dataset.FlushCache(),但这似乎也不能保存更改。

我怎样才能让 GDAL 实际将更改后的地理变换保存到磁盘?

我正在使用从 PyPI 安装的 GDAL 1.6.3 版(通过命令行工具pip)。

0 投票
1 回答
1206 浏览

java-native-interface - GeoTools/GDAL:警告:无法加载 kakadu 本机库

我正在尝试使用 GeoTools 读取 dted 文件,但我遇到了很多配置问题。我正在使用eclipse和java。这是我的代码的精简版:

导入 org.geotools.coverageio.gdal.dted.DTEDReader;

当我运行时,控制台会显示一条消息“警告:无法加载 Kakadu 本机库”。然后它继续打印 UnsatisfiedLinkError 的堆栈跟踪。

我的系统路径包括: C:_path C:\Program Files\gdal-1.9.0 C:\%JAVA_HOME%\bin C:\Program Files\Common Files\ESRI\Raster\bin\ntx86

最后一个包含很多 dll,包括我在我的机器上找到的唯一一个名称中有 kakadu 的 dll。

在 C:_path 我有这个:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
gdal.jar

这些文件也被复制到我的 Eclipse 项目的根目录中。我的 Eclipse 构建路径包括 gdal.jar 和在 C:\Program Files\geotools-2.7.4 中找到的每个 jar

在我的 Eclipse 项目的根目录中,我有这个:

gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
kakaducoresys.dll

哦,是的,我定义了另一个环境变量:GDAL_DATA 设置为“C:\Program Files\gdal-1.9.0”

有人可以向我解释为什么 DTEDReader 找不到必要的库吗?

0 投票
2 回答
842 浏览

c++ - 如何在我的 c++ 程序中使用 GDAL 库作为可选库?

我正在创建一个可以使用 GDAL(如果存在)的 c++ 程序。我可以检查系统中是否存在 GDAL,但是如果我的程序是使用 GDAL 编译的,我需要如何对我的程序进行编码以包含/不包含 GDAL 库?

非常感谢,卡洛斯。

0 投票
1 回答
477 浏览

c++ - OpenSceneGraph osg \ ive 格式是否有 GDAL 驱动程序?

我正在尝试编写一个可以获取 DEM 数据并在 C++ 中输出 OSG (OpenSceneGraph) 可识别的格式的应用程序。我一直找不到支持 GDAL 的 osg/ive 格式的驱动程序,而且我不知道从哪里开始编写自己的驱动程序。如果有另一种方法来做我所要求的,我愿意接受,但我已经成功地将 DEM 加载到 GDAL 中,所以它似乎是目前阻力最小的路径。

0 投票
1 回答
1315 浏览

python - 如何使用 gdal python 绑定更新 GeoTiff 标签?

我正在尝试使用 GDAL python 绑定更新某些 tiff 标签值。

例如,使用 tiffinfo 我可以从图像中读取标签值,它是这样的:

偏移量 0x8 (8) 处的 TIFF 目录 图像宽度:4172 图像长度:3689 瓦片宽度:256 瓦片长度:256 位/样本:8 样本格式:无符号整数 压缩方案:JPEG 光度解释:YCbCr 样本/像素:3 平面配置:单幅图像平面标签33550:60.000000,60.000000,0.000000标签33922:0.000000,0.000000,0.000000,58880.000000,4880460.000000,0.0000,0.000000.000000,0.000000标签34735:1,1,0,7,1024,0,1,1,1025,0,1, 1,1026,34737,22,0,2049,34737,7,22,2054,0,1,9102,3072,0,1,32618,3076,0,1,9001

我想用不同的值更新“标签 33922”而不保存新图像。但我找不到在 GDAL python API 中更新标签值的方法。

我错过了什么,或者这在 GDAL python 绑定中根本不支持?

谢谢杰

0 投票
1 回答
331 浏览

python - 使用 django 的 gdal lib 的“不支持”的光栅特性

我已经阅读了Django GDAL API,它明确指出不支持与光栅相关的功能。好的,如果是这种情况,我想使用支持这些功能的其他gdal 库。

所以我也安装了http://pypi.python.org/pypi/GDAL/

但是,django 似乎不希望我使用其他gdal 库。django 内部似乎存在某种冲突。

在标准的 python CLI 中,它可以很好地导入:

但是当我从django shell尝试同样的事情,或者尝试运行 django 管理命令时,我得到了错误:

ImportError:DLL 加载失败:找不到指定的过程。

django shell和DJANGO 找不到 DLL的标准 python CLI有什么区别?我可以做些什么来使用其他 GDAL,以便我可以导入和使用创建栅格所需的功能吗?

0 投票
1 回答
16397 浏览

python - 使用 GDAL 在 Python 和 Matplotlib 中读取 TIFF

我正在尝试使用 Python 和 MatPlotLib 显示灰度 TIFF 文件,

到目前为止,我已经阅读了这个文件:

但后来我不知道我还能做什么......我很无能为力。有人会在这方面帮助我吗?

0 投票
7 回答
58803 浏览

python - UnboundLocalError:分配前引用的局部变量“x”

我正在尝试执行此代码,

我不断收到这个错误,

我尝试过全局和非本地,但它不起作用。由于我没有从函数外部获得任何输入,所以无论如何我都不需要全局或非本地的。

0 投票
2 回答
16922 浏览

python - 如何投影和重新采样网格以匹配另一个网格与 GDAL python?

澄清:我不知何故遗漏了关键方面:不使用 os.system 或 subprocess - 只是 python API。

我正在尝试将 NOAA GTX 偏移网格的一部分转换为垂直基准面转换,而不是完全遵循如何在 GDAL 中使用 python 执行此操作。我想采用一个网格(在这种情况下是一个测深属性网格,但它可能是一个 geotif)并将其用作我想要做的模板。如果我能做到这一点,我有一种感觉,它将极大地帮助人们利用这种类型的数据。

这是我所拥有的绝对行不通的东西。当我在生成的目标数据集 (dst_ds) 上运行 gdalinfo 时,它与源网格 BAG 不匹配。

示例文件(但它们重叠但处于不同投影中的任何两个网格都可以):

命令行相当于我正在尝试做的事情: