我正在尝试使用 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 库。
关于java - 打开文件 gdal java 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40008416/