java - 打开文件 gdal java 时出错

标签 java gdal geotiff

我正在尝试使用 gdal api (java) 加载 geotiff 文件。这是我的测试代码。

public class App 
{
    public static void main( String[] args )
    {
        gdal.AllRegister();
        Dataset dataset = gdal.Open("output.tif");
    }
}

但是我有一个错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast(J)J
at org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast(Native Method)
at org.gdal.gdal.Dataset.<init>(Dataset.java:20)
at org.gdal.gdal.gdal.Open(gdal.java:585)
at org.gdaltest.projection.App.main(App.java:18)

我使用的是maven项目,所以我添加了gdal依赖

<dependency>
    <groupId>org.gdal</groupId>
    <artifactId>gdal</artifactId>
    <version>2.1.0</version>
</dependency>

我使用的是 Windows 10 并安装了 gdal 2.1.0。我已经在路径中设置了环境变量GDAL_DATA和Gdal目录。

我错过了什么吗?

最佳答案

在处理 native 库时,可怕的 UnsatisfiedLinkErrors 是非常常见的问题。

通常需要设置java.library.path VM参数,以便Java可以找到 native 库。

See an example here

Another gdal related unsatisfied link error issue here

关于java - 打开文件 gdal java 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40008416/

相关文章:

java - 通过 Id 删除实体时 Hibernate InvalidDataAccessApiUsageException

java - Java 和 PHP 应用程序中的全文搜索支持

ios - 如何在 IOS 中使用 GDAL?

python - 如何修复环境变量GDAL_DATA路径设置?

长抛出异常列表的java风格

java - 如何在 JUnit 测试中模拟 Camel 处理器

c# - 使用 gdal 从 C# 中的现有位图创建 geotiff

python - 将 NetCDF (.nc) 转换为 GEOTIFF

仅读取 R 中栅格的裁剪或范围

raku - 可以在栅格数据上使用 Perl6 语法吗? (用例 : Cloud Optimized GeoTIFF Validation)