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

结果如下

哈哈哈哈哈哈

相关推荐
星释2 小时前
Rust 练习册 :Matching Brackets与栈数据结构
数据结构·算法·rust
星释2 小时前
Rust 练习册 :Luhn与校验算法
java·算法·rust
swear014 小时前
VSCODE 插件 rust-analyzer 使用遇到的问题 快捷键查看定义
ide·vscode·rust
微小冷6 小时前
Rust图形界面教程:egui基础组件的使用
后端·rust·gui·egui·button·panel·用户图形界面
星释7 小时前
Rust 练习册 :Nucleotide Codons与生物信息学
开发语言·算法·rust
-大头.7 小时前
Rust高级类型与零成本抽象实战
stm32·单片机·rust
RustFS12 小时前
ansible + docker compose, RustFS MNMD 架构的一键部署之道
rust
Source.Liu13 小时前
【iso8601库】Time 类型解析模块详解(time.rs文件)
rust·iso8601
星释13 小时前
Rust 练习册 :Minesweeper与二维数组处理
开发语言·后端·rust
疏狂难除15 小时前
spiderdemo第22题与webassembly的跨域
开发语言·javascript·爬虫·rust·wasm·mitmproxy