Windows安装Rust版本GDAL

前言

笔者想安装GDAL,这是一个开源的地理数据库,

笔者到处搜索,最后看到这位大佬写的这篇文章,终于成功了。

aliothor/Windows-Install-Rust-Gdal-Tutorial: Windows Install Rust Version Gdal Stepshttps://github.com/aliothor/Windows-Install-Rust-Gdal-Tutorial

Windows安装Rust版本GDAL - 知乎https://zhuanlan.zhihu.com/p/655508921

正文

首先,需要安装Rust的环境,如下参考

安装 Rust - Rust 程序设计语言https://www.rust-lang.org/zh-CN/tools/install安装 - Cargo 手册 中文版https://rustwiki.org/zh-CN/cargo/getting-started/installation.html安装完成后

下载GDAL

进入下面的网址

GISInternals Support Sitehttps://www.gisinternals.com/release.php截止到目前是3.10.0,笔者下载如下两个压缩报

下载完成后,解压到同一个目录下

设置环境变量

打开环境变量,在path中

设置如下两个变量,

复制代码
C:\OSGeo4W\bin\gdal\apps
C:\OSGeo4W

设置GDAL_LIB_DIR

复制代码
C:\OSGeo4W\lib

设置PKG_CONFIG_PATH

复制代码
C:\OSGeo4W

下载window pkg-config

下载并安装choco

Releases · chocolatey/chocohttps://github.com/chocolatey/choco/releases管理员的权限下,运行

复制代码
choco install pkgconfiglite

运行后, 笔者安装在C:\ProgramData\chocolatey\lib目录下的

查看gdal版本

笔者是3.10.0

创建gdal.pc文件

在解压目录下,笔者是C:/OSGeo4W

写下如下内容

复制代码
name=gdal
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${exec_prefix}/include
datadir=${prefix}/share/${name}

Name: lib${name}
Description: Geospatial Data Abstraction Library
Version: 3.10.0
Libs: -L${libdir} -l${name}
Cflags: -I${includedir}/${name}

版本不同,Version不同。

简单使用

经过前面这些操作,就可以使用了

创建一个项目,添加依赖gdal依赖

georust/gdal: Rust bindings for GDALhttps://github.com/georust/gdal

通过下面的网址,随便下载一个地方的geojson

DataV.GeoAtlas地理小工具系列https://datav.aliyun.com/portal/school/atlas/area_selector下载完成后,运行如下代码

复制代码
use gdal::Dataset;

fn main() {
    let ds=Dataset::open("成都市.geojson").unwrap();
    println!("Driver: {}", ds.driver().long_name());
}

结果如下

哈哈哈哈哈哈

相关推荐
Tomhex20 小时前
Rust数组与Vec的核心差异解析
rust
鸿儒5171 天前
利用gdal进行RPC经纬度与像素坐标转换问题记录
linux·rpc·gdal
橘子编程1 天前
编程语言全指南:从C到Rust
java·c语言·开发语言·c++·python·rust·c#
亿牛云爬虫专家1 天前
学术文献爬虫 OOM 崩溃与 403 风暴
爬虫·rust·爬虫代理·403·oom killer·学术文献·403 forbidden
土豆12502 天前
Tauri 入门与实践:用 Rust 构建你的下一个桌面应用
前端·rust
土豆12502 天前
Rust 错误处理实战:anyhow + thiserror 的黄金搭档
rust
Zarek枫煜2 天前
C3 编程语言 - 现代 C 的进化之选
c语言·开发语言·青少年编程·rust·游戏引擎
咚为2 天前
Rust 经典面试题255道
开发语言·面试·rust
@atweiwei2 天前
用 Rust 构建 LLM 应用的高性能框架
开发语言·后端·ai·rust·langchain·llm
chrislearn2 天前
Salvo 为什么不采用宏式路由
rust