当前位置:   article > 正文

centos7环境下编译适合Geoserver版本的gdal_centos7 geoserver

centos7 geoserver

具体如何应用参考geoserver网站,主要支持2.系列gdal,因此,我编译2.4.4版本,proj用4.9.2,到官网下载相应软件:

proj-4.9.2.tar.gz(https://download.osgeo.org/proj/proj-4.9.2.tar.gz)

gdal2.4.4.tar.gz(http://download.osgeo.org/gdal/2.4.4/gdal-2.4.4.tar.gz)

geoserver-2.22.0以及geoserver-2.22.0-gdal-plugin.zip(官网下载,可下载最新的)

swig编译gdal的java版本需要如下软件:

apache-ant-1.10.12-bin.tar.gzhttps://mirrors.tuna.tsinghua.edu.cn/apache/ant/binaries/apache-ant-1.10.12-bin.tar.gz

swig-4.1.1https://udomain.dl.sourceforge.net/project/swig/swig/swig-4.1.1/swig-4.1.1.tar.gz

下载后存放于/usr/local/目录下,进行安装。

下载完成后,即可进行安装。

1、apache-ant

解压,路径为/usr/local/apache-ant-1.10.12,

设置环境变量profile,/etc/profile添加路径,如下图所示:

export PATH=/usr/local/apache-ant-1.10.12/bin:$PATH

设置完成后,通过source /etc/profile命令更新配置文件。

可以输入ant命令,查看是否成功。

2、swig安装(切换到swig-4.1.1.tar.gz所在目录)

解压,tar xvfz swig-4.1.1.tar.gz

cd ./swig-4.1.1

bash ./configure --without-pcre【即不需要安装pcre依赖】

make

make install

安装完成后,通过swig -version查看版本信息,

如果其他目录识别不了,将其路径加如环境变量中。

3、proj安装(切换到proj-4.9.2.tar.gz所在目录)

解压,

tar xvfz proj-4.9.2.tar.gz

cd ./proj-4.9.0

./configure --prefix=/usr/local/proj-4.9.2/build/

--prefix:为输出路径,我指定一个位置,根据需要设置,在后面编译gdal的时候--with-proj需要设置该路径。

make

sudo make install

That installs the native libraries in /usr/local/lib/libproj*. Now we're ready for GDAL!

4、gdal编译

解压

tar xvfz gdal-2.4.4.tar.gz

cd ./gdal-2.4.4

./configure --with-java=/usr/local/gdal-2.4.4/jdk1.8.0_221 --with-jvm-lib=/usr/local/gdal-2.4.4/jdk1.8.0_221/jre/lib/amd64/server --with-jvm-lib-add-rpath=yes --with-sfcgal=no --with-kea=no --with-proj=/usr/local/proj-4.9.2/build/

make

make install

--with-java为java_home的路径;

--with-jvm-lib为java路径下对应路径

--with-sfcgal=no设置不编译sfcgal,否则需要安装cgal,很麻烦。

--with-kea=no 设置不编译kea库,GDAL可以通过libkea库读取、创建和更新KEA格式的文件(如果编译kea出错,就可以设置为no,根据实际情况)。

如果没有/usr/local/gdal-2.4.4/jdk1.8.0_221,请下载jdk-8u221-linux-x64.tar.gz到相应位置解压,我解压的是/usr/local/gdal-2.4.4/jdk1.8.0_221/,并配置./configure中的正确路径

5、gdal版本java编译

首先编辑 gdal-2.4.4/swig/java/java.opt 配置 JAVA_HOME 路径(不能在=号前后留空格),

JAVA_HOME=/usr/local/gdal-2.4.4/jdk1.8.0_221/
JAVADOC=$(JAVA_HOME)/bin/javadoc
JAVAC=$(JAVA_HOME)/bin/javac
JAVA=$(JAVA_HOME)/bin/java
JAR=$(JAVA_HOME)/bin/jar
JAVA_INCLUDE=-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux

编译,安装

cd gdal-2.4.4/swig/java/

make

下面这一步网上摘抄,没试用。

And finally copy the resulting .so files into a directory and update yourLD_LIBRARY_PATH environment variable to point to them:

最后,拷贝编译好的 .so 文件到一个目录,并更新你的 LD_LIBRARY_PATH 环境变量以便指向这些 .so 文件:

$ cd /gdal-1.9.1/swig/java
$ ls | grep .so
libgdalconstjni.so
libgdaljni.so
libogrjni.so
libosrjni.so
$ cp *.so ~/opt/linuxnative/
$ export LD_LIBRARY_PATH=~/opt/linuxnative/ # Put this in .bashrc

6、将geoserver-2.22.0-gdal-plugin.zip解压,拷贝到tomcat发布的geoserver的webapps/geoserver/web-inf/lib/目录下。

将gdal版本java编译的jar文件(gdal.jar)更改为与版本匹配的文件(gdal-2.4.4.jar,在gdal-2.4.4/swig/java/文件夹下),拷贝到目录下并删除gdal-3.2.0.jar文件。

7、设置路径

export LD_LIBRARY_PATH=/usr/local/gdal-2.4.4/swig/java:$LD_LIBRARY_PATH【这个路径一定是java编译的gdal的路径,我刚开始设置为gdal的路径,geoserver启动报错】

export GDAL_DATA=/usr/local/anaconda3/envs/env_django_py39/share/gdal(安装实际情况设置)

通过/etc/profile设置后,调用 source /etc/profile更新

8、结果

tomcat重启一下,打开geoserver网站,添加数据存储时,就会多出gdal对应的栅格数据源选项,如下图所示:

在服务器状态下的模块中也可以看到gdal模块:

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/870449
推荐阅读
相关标签
  

闽ICP备14008679号