问题标签 [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.
python - GDAL:获取底层 C 对象的指针/句柄
我有以下设置:
- 带有 Python 绑定的 GDAL 库 (SWIG)
- 一些胶水代码(Python)
- AC 库,与 ctypes 接口
我想将 SWIGDataset
对象的基础数据集指针/句柄传递给我的 C 库。如何检索此指针?
我不想将 C 库与 SWIG 接口。
python - 如何使用 GDAL 更改栅格的地理变换?
我正在尝试使用 GDAL 来设置我按照GDAL API 教程中概述的步骤创建的新栅格的地理变换。
dataset.SetGeoTransform()文档说这应该设置仿射变换系数(根据dataset.GetGeoTransform()
文档[0, 1, 0, 0, 0, 1]
默认设置为),但是从我上面的代码中可以看出,这些更改似乎并没有真正生效当我尝试改变它们时。
我什至尝试通过 将新栅格的缓存刷新到磁盘dataset.FlushCache()
,但这似乎也不能保存更改。
我怎样才能让 GDAL 实际将更改后的地理变换保存到磁盘?
我正在使用从 PyPI 安装的 GDAL 1.6.3 版(通过命令行工具pip
)。
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 找不到必要的库吗?
c++ - 如何在我的 c++ 程序中使用 GDAL 库作为可选库?
我正在创建一个可以使用 GDAL(如果存在)的 c++ 程序。我可以检查系统中是否存在 GDAL,但是如果我的程序是使用 GDAL 编译的,我需要如何对我的程序进行编码以包含/不包含 GDAL 库?
非常感谢,卡洛斯。
c++ - OpenSceneGraph osg \ ive 格式是否有 GDAL 驱动程序?
我正在尝试编写一个可以获取 DEM 数据并在 C++ 中输出 OSG (OpenSceneGraph) 可识别的格式的应用程序。我一直找不到支持 GDAL 的 osg/ive 格式的驱动程序,而且我不知道从哪里开始编写自己的驱动程序。如果有另一种方法来做我所要求的,我愿意接受,但我已经成功地将 DEM 加载到 GDAL 中,所以它似乎是目前阻力最小的路径。
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 绑定中根本不支持?
谢谢杰
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,以便我可以导入和使用创建栅格所需的功能吗?
python - 使用 GDAL 在 Python 和 Matplotlib 中读取 TIFF
我正在尝试使用 Python 和 MatPlotLib 显示灰度 TIFF 文件,
到目前为止,我已经阅读了这个文件:
但后来我不知道我还能做什么......我很无能为力。有人会在这方面帮助我吗?
python - UnboundLocalError:分配前引用的局部变量“x”
我正在尝试执行此代码,
我不断收到这个错误,
我尝试过全局和非本地,但它不起作用。由于我没有从函数外部获得任何输入,所以无论如何我都不需要全局或非本地的。
python - 如何投影和重新采样网格以匹配另一个网格与 GDAL python?
澄清:我不知何故遗漏了关键方面:不使用 os.system 或 subprocess - 只是 python API。
我正在尝试将 NOAA GTX 偏移网格的一部分转换为垂直基准面转换,而不是完全遵循如何在 GDAL 中使用 python 执行此操作。我想采用一个网格(在这种情况下是一个测深属性网格,但它可能是一个 geotif)并将其用作我想要做的模板。如果我能做到这一点,我有一种感觉,它将极大地帮助人们利用这种类型的数据。
这是我所拥有的绝对行不通的东西。当我在生成的目标数据集 (dst_ds) 上运行 gdalinfo 时,它与源网格 BAG 不匹配。
示例文件(但它们重叠但处于不同投影中的任何两个网格都可以):
- http://surveys.ngdc.noaa.gov/mgg/NOS/coast/F00001-F02000/F00574/BAG/F00574_MB_2m_MLLW_2of3.bag _
- http://vdatum.noaa.gov/download/data/VDatum_National.zip MENHMAgome01_8301/mllw.gtx
命令行相当于我正在尝试做的事情: