#codec #geographic #tile #system #maps #bing #microsoft

geo-quadkey-rs

geo-quadkey-rs 是一个 Rust 库,用于将地理坐标编码和解码为 QuadKeys,这是 Microsoft 的 Bing Maps Tile System 用于交互式地图解决方案的一种分块方法。

2 个版本

0.1.1 2023 年 8 月 29 日
0.1.0 2023 年 8 月 29 日

#130地理空间

MIT/Apache

10KB
117

geo-quadkey-rs

License crates.io

geo-quadkey-rs 是一个 Rust 库,用于将地理坐标编码和解码为 QuadKeys,这是 Microsoft 的 Bing Maps Tile System 用于交互式地图解决方案的一种分块方法。

Bing Maps Tile System

*来源: Microsoft Bing Maps Tile System

我参考了这个用 Ruby 制作的项目,这对创建这个库非常有帮助: deg84/quadkey

用法

在您的 Cargo.toml 中包含 geo-quadkey-rs

[dependencies]
geo-quadkey-rs = "0.1.0"

然后在您的代码中包含它

extern crate geo_quadkey_rs;

use geo_quadkey_rs::Quadkey;

// Encode coordinates to a quadkey
let quadkey = Quadkey::encode(47.60357, -122.32945, 23);

// Decode a quadkey to coordinates
let (latitude, longitude, precision) = Quadkey::decode("12022001101101100101102");

// Find neighbors of a quadkey
let neighbors = Quadkey::neighbors("12022001101101100101102");

函数

Quadkey 结构体提供了以下方法

  • encode(latitude: f64,longitude: f64,precision: usize) ->String
  • decode(quadkey: &str) -> (f64, f64, usize)
  • neighbors(quadkey: &str) -> Vec<String>
  • clip(n: f64,min_value: f64,max_value: f64) -> f64
  • map_size(precision: usize) -> f64
  • ground_resolution(latitude: f64,precision: usize) -> f64
  • coordinates_to_pixel(latitude: f64,longitude: f64,precision: usize) -> (i32, i32)
  • pixel_to_coordinates(pixel_x: i32,pixel_y: i32,precision: usize) -> (f64, f64)
  • pixel_to_tile(pixel_x: i32,pixel_y: i32) -> (i32, i32)
  • tile_to_pixel(tile_x: i32,tile_y: i32) -> (i32, i32)
  • tile_to_quadkey(tile_x: i32,tile_y: i32,precision: usize) ->String
  • quadkey_to_tile(quadkey: &str) -> (i32, i32, usize)

许可证

本项目采用 MIT 许可证 - 请参阅 LICENSE 文件了解详细信息。

无运行时依赖