Mac OS 上的 Gdal 安装
Gdal installation on Mac OS
我正尝试在 Mac OS 中使用 Gdal 库和 Java。但我是 Goal 的新手,我无法让它发挥作用。
此外,我正在使用 Maven。所以我添加了对 pom.xml
的依赖
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>2.1.0</version>
</dependency>
为了在 Eclipse 上测试它,我创建了一个简单的 class,如下所示:
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
import org.gdal.ogr.ogr;
public class test {
public static void main(String[] args) {
gdal.AllRegister();
}
}
执行时遇到以下错误:
本机库加载失败。
java.lang.UnsatisfiedLinkError: java.library.path
中没有 ogrjni
我试了一整天都没有成功。我只想知道一种在 Eclipse 中执行 Gdal 的简单方法。
PS: 我可以 运行 Gdal 在终端上成功
当您 运行 java 时,您需要设置 java.library.path 系统 属性。它必须指向包含 gdal 共享库的目录。我还发现您可能还需要设置 DYLD_LIBRARY_PATH 或 DYLD_FALLBACK_LIBRARY_PATH 环境变量。
我通过自制软件安装了 gdal,这是我所做的:
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/gdal/lib
java -Djava.library.path=/usr/local/opt/gdal/lib -cp gdal.jar ...
GDAL 安装
安装参数
确保你已经安装了带有 java 和 swig-java 参数的 gdal。
brew install gdal --with-java --with-swig-java
ps:在 运行 上面的命令之前删除当前的 gdal 安装。
您可能需要一些额外的参数。使用
检查所有参数
brew info gdal
另外,您可以检查下面可用的参数。
--with-armadillo
Build with Armadillo accelerated TPS transforms.
--with-complete
Use additional Homebrew libraries to provide more drivers.
--with-java
Build with java support
--with-libkml
Build with Google's libkml driver (requires libkml --HEAD or >= 1.3)
--with-mdb
Build with Access MDB driver (requires Java 1.6+ JDK/JRE, from Apple or Oracle).
--with-mysql
Build with mysql support
--with-opencl
Build with OpenCL acceleration.
--with-postgresql
Build with postgresql support
--with-python3
Build with python3 support
--with-swig-java
Build the swig java bindings
--with-unsupported
Allow configure to drag in any library it can find. Invoke this at your own risk.
--without-python
Build without python2 support
--HEAD
Install HEAD version
检查 gdal 所需的依赖关系
检查您是否已经安装了gdal 所需的所有依赖项。使用
brew info gdal
查看所有依赖项以及是否安装了它们。
==> Dependencies
Required: libpng ✔, jpeg ✔, giflib ✔, libtiff ✔, libgeotiff ✔, proj ✔, geos ✔, json-c ✔, libxml2 ✔, pcre ✔, sqlite ✔, freexl ✔, libspatialite ✔
Optional: postgresql ✘, mysql ✔, armadillo ✔
==> Requirements
Build: java >= 1.7 ✔, fortran ✔, git ✔
Optional: java >= 1.7 ✔, python3 ✔
Maven 配置
如果你在你的项目中使用maven,你需要在pom.xml中添加gdal依赖。
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>1.11.1</version>
</dependency>
环境变量
你必须在 Ecli 中添加环境变量pse,如 jdeolive 所说。
Run > Run Configurations
然后 select 左侧的应用程序并转到“环境”选项卡。
添加 DYLD_LIBRARY_PATH 和 DYLD_FALLBACK_LIBRARY_PATH 指向 /usr/local/opt/gdal/lib。
这就是我安装 gdal 的方式,它在 macOS 10.12.6 上运行完美。
我正尝试在 Mac OS 中使用 Gdal 库和 Java。但我是 Goal 的新手,我无法让它发挥作用。
此外,我正在使用 Maven。所以我添加了对 pom.xml
的依赖 <dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>2.1.0</version>
</dependency>
为了在 Eclipse 上测试它,我创建了一个简单的 class,如下所示:
import org.gdal.gdal.gdal;
import org.gdal.gdalconst.gdalconstConstants;
import org.gdal.ogr.ogr;
public class test {
public static void main(String[] args) {
gdal.AllRegister();
}
}
执行时遇到以下错误:
本机库加载失败。 java.lang.UnsatisfiedLinkError: java.library.path
中没有 ogrjni我试了一整天都没有成功。我只想知道一种在 Eclipse 中执行 Gdal 的简单方法。
PS: 我可以 运行 Gdal 在终端上成功
当您 运行 java 时,您需要设置 java.library.path 系统 属性。它必须指向包含 gdal 共享库的目录。我还发现您可能还需要设置 DYLD_LIBRARY_PATH 或 DYLD_FALLBACK_LIBRARY_PATH 环境变量。
我通过自制软件安装了 gdal,这是我所做的:
export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/gdal/lib
java -Djava.library.path=/usr/local/opt/gdal/lib -cp gdal.jar ...
GDAL 安装
安装参数
确保你已经安装了带有 java 和 swig-java 参数的 gdal。
brew install gdal --with-java --with-swig-java
ps:在 运行 上面的命令之前删除当前的 gdal 安装。
您可能需要一些额外的参数。使用
检查所有参数brew info gdal
另外,您可以检查下面可用的参数。
--with-armadillo
Build with Armadillo accelerated TPS transforms.
--with-complete
Use additional Homebrew libraries to provide more drivers.
--with-java
Build with java support
--with-libkml
Build with Google's libkml driver (requires libkml --HEAD or >= 1.3)
--with-mdb
Build with Access MDB driver (requires Java 1.6+ JDK/JRE, from Apple or Oracle).
--with-mysql
Build with mysql support
--with-opencl
Build with OpenCL acceleration.
--with-postgresql
Build with postgresql support
--with-python3
Build with python3 support
--with-swig-java
Build the swig java bindings
--with-unsupported
Allow configure to drag in any library it can find. Invoke this at your own risk.
--without-python
Build without python2 support
--HEAD
Install HEAD version
检查 gdal 所需的依赖关系
检查您是否已经安装了gdal 所需的所有依赖项。使用
brew info gdal
查看所有依赖项以及是否安装了它们。
==> Dependencies Required: libpng ✔, jpeg ✔, giflib ✔, libtiff ✔, libgeotiff ✔, proj ✔, geos ✔, json-c ✔, libxml2 ✔, pcre ✔, sqlite ✔, freexl ✔, libspatialite ✔
Optional: postgresql ✘, mysql ✔, armadillo ✔
==> Requirements Build: java >= 1.7 ✔, fortran ✔, git ✔
Optional: java >= 1.7 ✔, python3 ✔
Maven 配置
如果你在你的项目中使用maven,你需要在pom.xml中添加gdal依赖。
<dependency>
<groupId>org.gdal</groupId>
<artifactId>gdal</artifactId>
<version>1.11.1</version>
</dependency>
环境变量
你必须在 Ecli 中添加环境变量pse,如 jdeolive 所说。
Run > Run Configurations
然后 select 左侧的应用程序并转到“环境”选项卡。
添加 DYLD_LIBRARY_PATH 和 DYLD_FALLBACK_LIBRARY_PATH 指向 /usr/local/opt/gdal/lib。
这就是我安装 gdal 的方式,它在 macOS 10.12.6 上运行完美。