我正在尝试使用 GeoTools 读取 dted 文件,但我遇到了很多配置问题。我正在使用eclipse和java。这是我的代码的精简版:
导入 org.geotools.coverageio.gdal.dted.DTEDReader;
public class ViewDTED {
public static void main(String[] args) {
try {
DTEDReader reader = new DTEDReader(new File("C:\\temp\\mydted.dt2"));
System.out.println("It worked!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
当我运行时,控制台会显示一条消息“警告:无法加载 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 找不到必要的库吗?