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());
}

结果如下

哈哈哈哈哈哈

相关推荐
鬓戈6 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
孙启超11 小时前
【AI开发之Rust】第 19 课:UniFFI 导出核心能力
开发语言·后端·rust
孙启超14 小时前
【AI开发之Rust】第 17 课:项目总览与核心架构 —— AI 助手 Rust 核心从 0 到 1
开发语言·后端·rust
柯南466815 小时前
【AI开发之Rust】第 21 课:双端集成与出包 —— Android(.so→AAR)与 iOS(xcframework)
rust·编程语言
Amos_Web15 小时前
Rspack 源码解析(十六):多类型资源如何进入 Compilation.assets
前端·rust·前端框架
Norna15 小时前
时间轮里那行凭空出现的 +1
rust
隔窗听雨眠19 小时前
FunProxy用Rust构建跨平台全链路测试抓包代理工具
开发语言·后端·rust
geovindu19 小时前
rust: search
开发语言·后端·rust
孙启超20 小时前
【AI开发之Rust】第 20 课:壳侧 API 封装 —— 把 Rust 能力接进真实 UI
开发语言·后端·rust