VS2022配置GDAL

本文详细介绍了如何在VS2022中配置GDAL库,包括所需的SQLite和PROJ库的配置。GDAL是一个用于处理地理空间数据的开源库,依赖SQLite和PROJ。配置过程涉及下载和解压SQLite及PROJ的源码,设置预处理器定义,配置CMake和模块定义文件,以及编译和安装GDAL。最终通过测试代码验证配置成功。
摘要由CSDN通过智能技术生成

GDAL(Geospatial Data Abstraction Library)是一个用于处理地理空间数据的开源库。它提供了一组功能丰富的API,用于读取、写入、转换和处理各种地理空间数据格式,包括栅格数据(如卫星图像、数字高程模型)和矢量数据(如矢量地图、矢量数据集)等。GDAL是由Open Source Geospatial Foundation(OSGeo)维护和发展的。

GDAL支持多种常见的地理空间数据格式,包括但不限于:TIFF、JPEG、PNG、HDF、NetCDF、GeoTIFF、Shapefile、FileGDB、SpatiaLite、PostGIS等。它提供了对这些数据格式的读取、写入和转换功能,可以在不同的地理空间数据之间进行格式转换、投影变换、数据子集提取等操作。

GDAL广泛应用于地理信息系统(GIS)、遥感图像处理、地理空间数据处理、地球科学、环境科学等领域。通过GDAL的API,开发者可以在各种编程语言(如C++、Python、Java等)中进行地理空间数据的处理和分析,从而实现地理空间数据的读取、处理、分析和可视化等功能。

需要注意的是,GDAL是一个专注于地理空间数据处理的库,与OpenGL这种图形渲染库在功能和应用领域上有所不同。GDAL主要用于处理地理空间数据的读取、写入和转换等操作,而OpenGL则专注于图形渲染和可视化。两者可以结合使用,例如使用GDAL加载地理空间数据,并将其转换为OpenGL纹理对象,然后使用OpenGL进行地理空间数据的可视化和渲染。

一般来讲,GDAL可以与OpenGL配合使用。GDAL负责读取和处理影像,OpenGL负责渲染影像。

VS2022配置OpenGL+Glad的教程可以参考我的这篇博客(Glad是一个用于管理和加载OpenGL函数指针的C/C++库。它可以生成用于加载OpenGL函数的代码,从而允许开发者在OpenGL应用程序中使用最新的OpenGL功能。Glad提供了简单的、跨平台的方法来加载和管理OpenGL函数指针,以便开发者可以方便地使用OpenGL的各种功能)。

VS2022配置OpenGL+GALD_程序员班长的博客-CSDN博客

一、事先说明

(一)配置的环境

Visual Studio 2022

SQLite----3410200

TIFF----4.5.0

PROJ----9.2.0

GDAL----3.5.3

我这里配置的是Debug版本的环境。

在 GDAL 3 之后,配置 GDAL 之前需要先配置 SQLite 和 PROJ 库,因为 GDAL 在其 3.0 版本之后引入了对 SQLite 和 PROJ 的依赖。

  1. SQLite 是一种嵌入式数据库,广泛用于移动应用和嵌入式系统中。GDAL 3 之后开始使用 SQLite 作为默认的虚拟文件系统(Virtual File System,VFS),用于支持对 SQLite 数据库的读取和写入。配置 SQLite 库后,可以确保 GDAL 正确地使用 SQLite VFS,从而支持从 SQLite 数据库中读取数据集。

  2. PROJ 是一个开源的地理空间坐标参考系统库,用于处理地理坐标的投影、转换和坐标系转换等操作。GDAL 3 之后引入了对 PROJ 库的强制依赖,以支持在 GDAL 中进行地理空间坐标的投影和转换操作。配置 PROJ 库后,可以确保 GDAL 正确地使用 PROJ 库进行地理坐标的处理。

在配置 GDAL 时,需要先安装和配置 SQLite 和 PROJ 库,以满足 GDAL 对它们的依赖要求。这可以确保 GDAL 在运行时能够正确地访问和使用 SQLite 和 PROJ 功能,以支持地理空间数据的读取、处理和转换等操作。

二、具体配置

(一)SQLite配置

首先,我们进入SQLite官方下载网站https://www.sqlite.org/download.html),并下载“Source Code”中的第一项sqlite-amalgamation-3410200.zip,以及“Precompiled Binaries for Windows”中的第二项sqlite-dll-win64-x64-3410200.zip与第三项sqlite-tools-win32-x86-3410200.zip,一共是三个文件,如下图所示。这里需要注意,随着SQLite版本的更新,上述三个文件名称最后面的一长串数字会随着改变,大家只需要对照好文件名称前面的字样即可。

随后,将上述下载好的三个压缩包文件解压到同一个文件夹下,我的文件夹是C:\GDAL\SQLite。

 随后,打开Visual Studio 2022,新建一个空项目。

随后,分别在“头文件”与“源文件”处右键,通过“添加”→“现有项...”的方法,将刚刚解压缩得到文件中的C:\GDAL\SQLite\sqlite-amalgamation-3410200\sqlite3.h与C:\GDAL\SQLite\sqlite-amalgamation-3410200\sqlite3ext.h文件放入“头文件”,并将C:\GDAL\SQLite\sqlite-amalgamation-3410200\sqlite3.c与C:\GDAL\SQLite\sqlite3.def文件放入“源文件”。

添加后结果如图所示

接下来,接下来,选中项目名称MySQLite,先在上方的“配置”与“平台”中将二者选择为“所有配置”与“所有平台”。在“C/C++”→“预处理器”中,右侧设置“预处理器定义”,点击“编辑”
填入如下代码

_USRDLL
SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_FTS5
SQLITE_ENABLE_UNLOCK_NOTIFY

 接下来,在“链接器”→“输入”,在右侧配置“模块定义文件”。

找到刚刚解压缩得到的C:\GDAL\SQLite\sqlite3.def文件,按下Shift按钮并右键,选择“复制文件地址”,将其粘贴至“模块定义文件”中。

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员班长

感谢您的一路相伴

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值