赞
踩
gdal 中文版官网文档地址: GDAL — GDAL 文档
GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,提供了一系列用于读取、写入和处理各种地理空间数据格式的功能。它是一个跨平台的库,可以在多种操作系统上使用,包括 Windows、Linux 和 macOS。
GDAL 库的一些主要功能和特性如下:
Windows安装包下载地址:download_gdal_Windows
点击左侧目录树中的 "Older Release" ,根据需求选择gdal版本进行下载。
下载好后,将安装包解压到指定文件夹下(保证不会被移动或删除),打开下载的压缩包,打开到release-1928-x64-gdal-3-3-0-mapserver-7-6-3\bin目录下,把 bin 目录下的所有 " *.dll " 文件复制到自己所对应的 java jdk 的 bin 目录下(注意:64位就要对应64位的jdk),复制到 jdk bin过程中有重复的,就选择跳过就好
同样把release-1928-x64-gdal-3-3-0-mapserver-7-6-3\bin\gdal\java目录下的
"gdalalljni.dll" 文件复制到 Java jdk 的 bin 里面
打开“设置”->“系统”->“系统信息”->“高级系统设置”->"环境变量",配置环境变量。
配置 "GDAL_HOME" 变量,配置到所下载的 gdal 目录下
配置 "PROJ_LIB" 变量,配置到所下载的 gdal 目录下的 "\bin\proj7\share" 下。
配置path的变量,在path中新增 两个变量
"%GDAL_HOME%\bin","%GDAL_HOME%\bin\gdal-data" 。
注意:设置完 gdal 这几个环境变量后,重启电脑,否则可能不会生效
在spring boot 项目中 添加如下依赖:
- <dependency>
- <groupId>org.gdal</groupId>
- <artifactId>gdal</artifactId>
- <version>3.3.0</version>
- </dependency>
Linux 安装包下载地址:download_gdal_Linux
将所需要的安装包拷贝到 指定文件夹下(本人使用文件夹为:/usr/local/gdaljai)。
检查版本gcc -v(使用默认版本即可)
gcc -v
显示以下内容则表明gcc 已安装
如果没有gcc,可使用yum安装最新版本
yum -y install gcc automake autoconf libtool make
检查版本 g++ -v(使用默认版本即可)
g++ -v
显示以下内容则表明g++ 已安装成功
如果没有g++,可使用yum安装最新版本
yum install gcc-c++ libstdc++-devel
- # 进入安装包目录下
- cd /usr/local/gdaljai
-
- # 解压
- tar -zxvf apache-ant-1.9.16-bin.tar.gz
-
- # 改变权限
- chmod 777 apache-ant-1.9.16
-
- # 修改系统环境变量,在文件的最后加上如下两行代码
- vim /etc/profile
- export ANT_HOME=/usr/local/gdaljai/apache-ant-1.9.16
- export PATH=$PATH:$ANT_HOME/bin
-
- # 使环境变量生效
- source /etc/profile
-
- # 测试ant是否生效(如果正常显示版本信息,则证明Ant安装成功)
- ant -version
- # 进入安装包目录
- cd /usr/local/gdaljai
-
- # 解压
- tar -zxvf pcre-8.41.tar.gz
-
- cd pcre-8.41
-
- # 编译
- ./configure
-
- # 安装
- make && make install
- cd /usr/local/gdaljai
-
- # 解压
- tar -zxvf swig-3.0.12.tar.gz
-
- cd swig-3.0.12
-
- # 编译
- ./configure
-
- # 安装
- make && make install
-
- # 查看版本信息
- swig -version
- cd /usr/local/gdaljai
-
- # 解压
- tar -xjf geos-3.6.3.tar.bz2
-
- cd geos-3.6.3
-
- # 编译
- ./configure
-
- # 安装
- make && make install
(SFCGAL-1.3.0.tar.gz),需要以下依赖环境:
- yum install cmake
-
- yum install boost
-
- yum install boost-devel
- # 下载gmp
- wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2
-
- # 解压
- tar -jxvf gmp-6.1.2.tar.bz2
-
- # 进入安装包
- cd gmp-6.1.2
-
- # 编译
- ./configure --enable-cxx
-
- # 安装
- make
- make check
- make install
- # 下载
- wget https://www.mpfr.org/mpfr-4.0.2/mpfr-4.0.2.tar.bz2
-
- # 解压
- tar -jxvf mpfr-4.0.2.tar.bz2
-
- cd mpfr-4.0.2
-
- # 编译
- ./configure
-
- # 安装
- make
- make check
- make install
- wget https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.7/cgal-4.7.tar.gz
-
- tar -xzvf CGAL-4.7.tar.gz
-
- cd CGAL-4.7
-
- cmake .
- make
- make install
- wget https://github.com/Oslandia/SFCGAL/archive/v1.3.0.tar.gz -O SFCGAL-1.3.0.tar.gz
-
- tar -xzvf SFCGAL-1.3.0.tar.gz
-
- cd SFCGAL-1.3.0/
-
- cmake .
- make
- make install
检查SQLite3版本。(SQLite3如果满足版本需求可不安装,大于3.11即可)
安装SQLite3。
安装好的sqlite3默认可执行文件在/usr/local/bin/sqlite3 ;
默认库文件在/usr/local/lib;
默认配置文件在/usr/local/etc;
默认头文件在/usr/local/include;
官网 SQLite Download Page 下载 sqlite-autoconf-3400000.tar.gz 。
- # 解压sqlite3
- tar -zxvf sqlite-autoconf-3400000.tar.gz
-
- # 进入sqlite3目录
- cd sqlite-autoconf-3400000/
-
- # 编辑
- vim sqlite3.c
- # 在以下内容后 新增 #define SQLITE_ENABLE_COLUMN_METADATA 1
- #define SQLITE_CORE 1
- #define SQLITE_AMALGAMATION 1
- #ifndef SQLITE_PRIVATE
- # define SQLITE_PRIVATE static
- #endif
- #define SQLITE_ENABLE_COLUMN_METADATA 1
-
- # 配置sqlite3
- ./configure
-
- # 安装编译sqlite3
- make && make install
-
- # 配置sqlite的环境变量
- vim /etc/profile
-
- # 配置地址
- # export LD_LIBRARY_PATH=/usr/local/lib
- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
- # export LD_RUN_PATH=/usr/local/lib
-
- # 配置生效
- source /etc/profile
-
- # 查看sqlite版本信息
- sqlite3 --version
- # 进入安装包目录下
- cd /usr/local/gdaljai
-
- # 解压
- tar -zxvf proj-6.1.0.tar.gz
-
- # 进入安装包目录
- cd proj-6.1.0
-
- # 编译(这步可能报错,在满足版本的需求前提下,如果报错内容和下文一致,可参考解决)
- ./configure
-
- # 安装
- make && make install
安装proj6可能出现的问题 checking for SQLITE3... configure: error: Package requirements (sqlite3 >= 3.7) were not met:
解决办法:
yum install sqlite-devel
让gdal能够找到proj及geos的所在位置。共享文件默认安装在/usr/local/lib位置下,因此可执行如下命令进行配置。
- cd /etc/ld.so.conf.d/
-
- touch local.conf
-
- echo “/usr/local/lib” > local.conf
- cd /usr/local/gdaljai
-
- # 解压
- tar -zxvf gdal-3.3.0.tar.gz
-
- cd gdal-3.3.0/
-
- # 编译安装 !!!提示:该过程比较耗时,请耐心等待
- ./configure --with-static-proj4=/usr/local --with-java=$JAVA_HOME
-
- # 编译安装 !!!提示:该过程比较耗时,请耐心等待
- make && make install
-
- # 查看版本信息
- gdalinfo --version
查询Java jdk安装位置
echo $JAVA_HOME
修改java版配置文件
- cd swig/java/
-
- vim java.opt
设置JAVA_HOME=$JAVA_HOME为JDK安装目录
最后执行编译安装
make && make install
执行完成上述命令,会在"/usr/local/gdaljai/gdal-3.3.0/swig/java"目录下生成gdal依赖包。
1、
- ogr_sfcgal.h:34:34: 致命错误:SFCGAL/capi/sfcgal_c.h:没有那个文件或目录
- #include <SFCGAL/capi/sfcgal_c.h>
- ^
- 编译中断。
- make[1]: *** [ogrgeometryfactory.lo] 错误 1
- make[1]: 离开目录“/usr/local/gdaljai/gdal-3.3.0/ogr”
- make: *** [ogr-target] 错误 2
解决办法:
需要安装SFCGAL(SFCGAL-1.3.0.tar.gz)
2、
- /usr/local/gdaljai/gdal-3.3.0/.libs/libgdal.so: undefined reference to `sqlite3_column_origin_name'
- /usr/local/gdaljai/gdal-3.3.0/.libs/libgdal.so: undefined reference to `sqlite3_column_table_name'
- collect2: error: ld returned 1 exit status
- make[1]: *** [gdalinfo] 错误 1
- make[1]: 离开目录“/usr/local/gdaljai/gdal-3.3.0/apps”
- make: *** [apps-target] 错误 2
解决方法:
- # 进入sqlite安装目录
- cd /usr/local/gdaljai/sqlite-autoconf-3400000
- vim sqlite3.c
- # 在以下内容后 新增 #define SQLITE_ENABLE_COLUMN_METADATA 1
- #define SQLITE_CORE 1
- #define SQLITE_AMALGAMATION 1
- #ifndef SQLITE_PRIVATE
- # define SQLITE_PRIVATE static
- #endif
- #define SQLITE_ENABLE_COLUMN_METADATA 1
-
- # 清除编译配置 重新进行sqlite的编译配置安装
- make clean
- ./configure
- make && make install
-
- # 进入gdal安装目录 清除编译配置 重新编译安装
- cd /usr/local/gdaljai/gdal-3.3.0
- make clean
- ./configure --with-static-proj4=/usr/local --with-java=$JAVA_HOME
- make && make install
3、
解决办法:
将以下三个文件拷贝到 /usr/local/lib/ 目录下
-- Up-to-date: /usr/local/lib64/libSFCGAL.so.1.3.0
-- Up-to-date: /usr/local/lib64/libSFCGAL.so.1
-- Up-to-date: /usr/local/lib64/libSFCGAL.so
参考链接:
linux机器搭建java版gdal环境_checking for sqlite3... configure: error: package -CSDN博客
Linux下安装GDAL(含docker部分)_linux安装gdal-CSDN博客
Linux(CentOS)编译安装GDAL3.0.4+Postgresql 12.2+Postgis-3.0.1_postgis 下载 linux 安装tar,gz-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。