【问题标题】:Gdal installation on Mac OS在 Mac OS 上安装 Gdal
【发布时间】:2018-03-01 22:28:02
【问题描述】:

我正在尝试在 Mac OS 中使用 Gdal 库和 Java。但我是 Goal 的新手,我无法让它发挥作用。

另外,我正在与 Maven 合作。所以我在 pom.xml 上添加了这个依赖

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

为了在 Eclipse 上测试它,我创建了一个如下所示的简单类:

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

【问题讨论】:

  • 您是否将“-Djava.libary.path=...”系统属性设置为包含 gdal 共享库的路径?
  • 没有。我刚刚添加了 maven 依赖项并通过 brew 安装了 gdal。我应该设置什么路径?

标签: eclipse macos maven gdal


【解决方案1】:

您需要在运行 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 ...

【讨论】:

  • 但是,我的“libs”文件夹是什么。我的意思是,我在寻找什么样的文件?我有这个问题是因为我在 gdal 路径中有任何文件夹
  • 如果你在 OSX 上,你正在寻找 libgdal.dylib。我也通过自制软件安装了 GDAL,它位于 /usr/local/opt/gdal/lib。
【解决方案2】:

GDAL 安装

安装参数

确保您已经安装了带有 java 和 swig-java 参数的 gdal。

brew install gdal --with-java --with-swig-java

ps:在运行上述命令之前删除您当前的 gdal 安装。

您可能需要一些额外的参数。使用检查所有参数

酿造信息 gdal

此外,您可以检查下面可用的参数。

--与犰狳

使用 Armadillo 加速 TPS 转换进行构建。

--with-complete

使用额外的 Homebrew 库来提供更多驱动程序。

--with-java

使用 java 支持构建

--with-libkml

使用 Google 的 libkml 驱动程序构建(需要 libkml --HEAD 或 >= 1.3)

--with-mdb

使用 Access MDB 驱动程序构建(需要 Java 1.6+ JDK/JRE,来自 Apple 或 Oracle)。

--with-mysql

使用 mysql 支持构建

--with-opencl

使用 OpenCL 加速构建。

--with-postgresql

使用 postgresql 支持构建

--with-python3

使用 python3 支持构建

--with-swig-java

构建 swig java 绑定

--with-unsupported

允许配置拖入它可以找到的任何库。调用此操作需要您自担风险。

--without-python

在没有 python2 支持的情况下构建

--头部

安装 HEAD 版本

检查 gdal 所需的依赖项

检查是否安装了 gdal 所需的所有依赖项。使用

酿造信息 gdal

查看所有依赖项以及是否已安装。

==> 依赖项 必需:libpng ✔、jpeg ✔、giflib ✔、libtiff ✔、libgeotiff ✔、proj ✔、geos ✔、json-c ✔、libxml2 ✔、pcre ✔、sqlite ✔、freexl ✔、libspatialite ✔

可选:postgresql ✘、mysql ✔、犰狳✔

==> 要求 构建:java >= 1.7 ✔、fortran ✔、git ✔

可选:java >= 1.7 ✔, python3 ✔

Maven 配置

如果你在你的项目中使用maven,你需要在pom.xml中添加gdal依赖。

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

环境变量

你必须在Eclipse中添加环境变量,就像jdeolive说的那样。

运行 > 运行配置

然后在左侧选择您的应用程序并转到环境选项卡。

添加指向 /usr/local/opt/gdal/lib 的 DYLD_LIBRARY_PATH 和 DYLD_FALLBACK_LIBRARY_PATH。

这就是我安装 gdal 的方式,它在 macOS 10.12.6 上完美运行。

【讨论】:

  • 似乎不起作用:Warning: gdal: this formula has no --with-java option so it will be ignored! Warning: gdal: this formula has no --with-swig-java option so it will be ignored!
  • 这不再有效。 brew 不再支持此类选项,并且 gdal 包现在没有此类选项。您可以通过运行brewinfo gdal 查看选项。目前我看不到任何通过自制软件自动安装 java 绑定的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多