news 2026/8/1 21:12:46

Ubuntu安装GDAL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu安装GDAL

今天记录的文章,关于Ubuntu安装GDAL,因为领导要求,需要识别KML文件和SHAPE矢量数据的导入。它是地理信息系统(GIS)和遥感领域中最常用的工具之一,对于空间数据有很好的读写功能。

温馨提示:在安装过程中,会出现需要的插件未被安装,请耐心的按照提示去安装;

JDK 需要11+。

我的文件放置目录:/opt/gdal,下载的文件都是统一管理,下面安装GDAL操作命令关系到这个目录,我就偷懒了,直接使用/opt/gdal。

网上有好多安装过程,多说缺什么就安装什么,说的没有错,接下来就是安装的流程:

1、安装SQLITE3

两种安装方式:

1.1、SQLITE3源码安装方法

源码下载地址: SQLite Download Page ,我下载的版本:sqlite-autoconf-3440200.tar.gz

tar -xvzf sqlite-autoconf-xxxxx.tar.gz #解压文件 cd /opt/gdal/sqlite-autoconf-xxxxx #进入文件 ./configure make sudo make install sudo ldconfig #按步骤进行至此 注:该步不能省略,否则会出错! sqlite3 student #测试是否安装成功 显示: dickychen@dickychen-desktop:~/sqlite-autoconf-3080401$ sqlite3 student SQLite version 3.8.4.1 2014-03-11 15:27:36 Enter ".help" for usage hints. sqlite>.help 则表示安装成功

1.2、通过apt安装

在Ubuntu可以不用源码编译,直接用命令安装;对于Ubuntu >= 20.04,需要使用命令

sudo apt-get install sqlite3 sudo apt install libsqlite3-dev #测试 sqlite3 -version #显示 3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1 说明安装成功

2、安装libtiff-4

2.1、下载源码: https://www.linuxfromscratch.org/blfs/view/svn/general/libtiff.html,文件包:tiff-4.7.0.tar.gz

tar -xvzf tiff-4.7.0.tar.gz #解压文件 cd /opt/gdal/tiff-4.7.0 #进入文件 ./configure make make install sudo ldconfig #创建连接 #测试 tiffinfo #显示 tiffinfo LIBTIFF, Version 4.4.0 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Display information about TIFF files usage: tiffinfo [options] input.. where options are: -D read data -i ignore read errors -c display data for grey/color response curve or colormap -d display raw/decoded image data -f lsb2msb force lsb-to-msb FillOrder for input -f msb2lsb force msb-to-lsb FillOrder for input -j show JPEG tables -o offset set initial directory offset -r read/display raw image data instead of decoded data -s display strip offsets and byte counts -w display raw data in words rather than bytes -z enable strip chopping -M size set the memory allocation limit in MiB. 0 to disable limit -# set initial directory (first directory is # 0) 说明安装成功

3、安装PROJ

3.1、下载PROJ:Download — PROJ 9.6.2 documentation,我下载的版本:proj-8.0.0.tar.gz。

温馨提示:由于项目引用gdal 3.10.1版本,下载匹配版本proj-9.4.1.tar.gz。

tar -xvzf proj-9.4.1.tar.gz cd /opt/gdal/proj-9.4.1 mkdir build cd build cmake .. \ -DCMAKE_INSTALL_PREFIX=/opt/gdal \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -DENABLE_CURL=OFF cmake --build . -j$(nproc) cmake --install .

安装后确认:

/opt/gdal/bin/proj ls -lh /opt/gdal/share/proj/proj.db

如果提示工具Curl调用失败,则需要安装curl工具,安装后重新安装proj:

sudo apt update sudo apt install -y libcurl4-openssl-dev curl

如果出现如下的错误提示,则需要安装:pkg-config

checking for SQLITE3.. configure: error: in `/home/Downloads/proj-8.0.0': configure: error: The pkg-config script could not be found or is too old. Make sure it configure: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config.
则需要安装:pkg-config sudo apt-get install pkg-config

4、安装cmake

4.1、下载源码:Download CMake;我的版本:cmake-4.0.1.tar.gz

tar -zxvf cmake-4.0.1.tar.gz #解压 cd /opt/gdal/cmake-4.0.1 ./bootstrap #接下来显示,错误的代码 CMake Error at Utilities/cmcurl/CMakeLists.txt:586(message): Could not find OpenSSL.Install an OpenSSL development package or configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.

4.2、安装openssl

对于Ubuntu系统 安装

sudo apt-get install libssl-dev

对于CentOS系统 安装

sudo yum install openssl-devel

如果安装openssl时,出现:Cannot find appropriate Makefile processor on this system.

这是需要安装make插件了。

4.3、安装make

ubuntu系统,安装命令

sudo apt-get install build-essential

再次执行安装cmake

./bootstrap make #编译 sudo make install #安装 cmake --version #查看版本 #显示 cmake version 4.0.1 CMake suite maintained and supported by Kitware (kitware.com/cmake). 说明安装成功

5、安装GDAL

温馨提示:不同版本的GDAL编译安装方式也可能不同

5.1、下载源码:Index of /gdal/;我的版本:gdal-3.10.1.tar.xz,与项目依赖的版本一致

tar -xf gdal-3.10.1.tar.xz #解压 cd /opt/gdal/gdal-3.10.1 #进入文件 rm -rf build cmake -S . -B build \ -DCMAKE_INSTALL_PREFIX=/opt/gdal \ -DCMAKE_PREFIX_PATH=/opt/gdal \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_RPATH=/opt/gdal/lib \ -DCMAKE_BUILD_RPATH=/opt/gdal/lib \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_JAVA_BINDINGS=ON \ -DGDAL_USE_GEOS=ON \ -DGDAL_USE_PROJ=ON \ -DBUILD_TESTING=OFF \ -Wno-devF #执行脚本 cmake --build build -j$(nproc) sudo mkdir -p /opt/gdal sudo chown -R $(whoami) /opt/gdal cmake --install build

GDAL安装完成时,在/opt/gdal目录下有一个share文件夹,执行:cd /opt/gdal/share/java进入Java文件夹,你会看到四个文件。

查看/opt/gdal/lib目录下有没有libgdalalljni.so,没有则执行以下操作:

注意:是在gdal-3.10.1目录下的build

cp gdal-3.10.1/build/swig/java/libgdalalljni.so /opt/gdal/lib/ chmod 755 /opt/gdal/lib/libgdalalljni.so

6、启动项目

我是用Jenkins启动,我将在deploy.sh文件中添加如下配置:

#!/bin/bash source /etc/profile #配置GDAL export PATH=/opt/gdal/bin:$PATH export LD_LIBRARY_PATH=/opt/gdal/lib:$LD_LIBRARY_PATH export PROJ_LIB=/opt/gdal/share/proj export PROJ_DATA=/opt/gdal/share/proj SERVER_NAME=$1 ACTIVE=$2 if [ -z $ACTIVE ]; then ACTIVE=prd fi SERVER_PID=$(ps -ef|grep java |grep $SERVER_NAME |grep $ACTIVE |awk '{print $2}') if [ -e /var/run/${SERVER_NAME}.pid ]; then SERVER_PID=$(cat /var/run/${SERVER_NAME}.pid) fi if [ -n "$SERVER_PID" ]; then kill -s 9 $SERVER_PID fi #这里也配置指向GDAL nohup java \ -Duser.timezone=GMT+8 \ -Djava.library.path=/opt/gdal/lib \ -jar /home/project/service/${SERVER_NAME}.jar \ --spring.profiles.active=${ACTIVE} \ --gdal.proj-path=/opt/gdal/share/proj \ >/home/project/logs/${SERVER_NAME}-${ACTIVE}.log 2>&1 & echo $! > /var/run/${SERVER_NAME}.pid

到此,GDAL依赖库安装成功了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 21:12:43

HEXOSKIN科研采购指南

HEXOSKIN科研采购指南 在生理信号实验中,设备选型不仅要看能否采集心电和呼吸,还要考虑受试者数量、佩戴时间、数据格式、实时监测和后续分析方式。 HEXOSKIN是一套将生理传感器集成到智能服装中的可穿戴监测系统,适合医学研究、运动科学、…

作者头像 李华
网站建设 2026/8/1 21:11:57

计算机单片机毕设实战-基于 STC89C52RC 的环境阈值声光报警硬件系统设计 基于 LCD1602 的室内甲醛温湿度监测控制系统开发(017801)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/1 21:11:57

3分钟拯救杂乱桌面!NoFences开源桌面分区神器深度体验

3分钟拯救杂乱桌面!NoFences开源桌面分区神器深度体验 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为Windows桌面的混乱而苦恼吗?每天打开电脑…

作者头像 李华
网站建设 2026/8/1 21:07:00

魔兽争霸3终极帧率优化指南:5步让你的游戏体验丝滑如新

魔兽争霸3终极帧率优化指南:5步让你的游戏体验丝滑如新 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为《魔兽争霸3》的卡顿和掉帧烦…

作者头像 李华