GDAL Java 绑定中如何使用 gdal.Translate 函数?

问题描述 投票:0回答:2

我正在尝试执行一些处理(即将函数应用于栅格的每个像元的内容,然后将其写为新栅格),其中输入数据集的 SRS 不同(并且具有不同的范围)来自目标 SRS。

为了解决这个问题,我尝试使用 gdal Java 绑定中的

gdal.Translate
函数,在处理输入数据集之前将其转换为正确的 SRS 和范围,但是 - 我一生都无法弄清楚如何这个函数实际上是要被调用的。该函数采用
TranslateOptions
作为输入,它采用选项向量,如here 所记录 - 但这些选项是什么?我传递字符串吗?对吗?有没有我漏掉的
TranslateOption
课?

当我将鼠标悬停在 IDE 中的参数上时,它告诉我

TranslateOption
采用
Vector<Any>
,因此我完全不知道如何使用此函数,因为 SWIG 生成的 java 绑定没有任何帮助添加了 javadocs。

我假设

TranslateOptions
可能对应于命令行
gdal_translate
实用程序的选项(由于各种原因,我无法直接为我的应用程序提供此选项),但同样,这些选项是如何传递到向量中的被传递到
TranslateOptions
?我在网上找不到任何关于此的文档或使用示例。

java gdal
2个回答
2
投票

这是我的代码,看起来可以工作。

Dataset dataset = gdal.Open(rasterPath);
Vector<String> vector = new Vector<>();
vector.add("-projwin");
vector.add("116.142551771");
vector.add("40.159559805");
vector.add("116.298301771");
vector.add("40.054859805");

TranslateOptions options = new TranslateOptions(vector);
gdal.Translate(rasterCutPath, dataset, options);

0
投票

顶这个话题 当我像上面描述的那样使用 gdal.Translate 时,它可以工作。 但如果我想添加 gdal_translate 的其他选项,例如 -ot 或 -b,则不起作用(请参阅此处的 gdal_translate 选项:https://gdal.org/programs/gdal_translate.html

这正常吗?你知道如何解决吗? 谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.