赞
踩
具体如何应用参考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.gz(https://mirrors.tuna.tsinghua.edu.cn/apache/ant/binaries/apache-ant-1.10.12-bin.tar.gz)
swig-4.1.1(https://udomain.dl.sourceforge.net/project/swig/swig/swig-4.1.1/swig-4.1.1.tar.gz)
下载后存放于/usr/local/目录下,进行安装。
下载完成后,即可进行安装。
解压,路径为/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模块:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。