11个不稳定版本

0.6.1 2024年5月19日
0.6.0 2024年4月30日
0.5.2 2023年6月16日
0.4.0 2023年5月14日
0.1.1 2019年7月27日

#40 in 地理空间

Download history 99/week @ 2024-05-02 56/week @ 2024-05-09 203/week @ 2024-05-16 56/week @ 2024-05-23 68/week @ 2024-05-30 103/week @ 2024-06-06 83/week @ 2024-06-13 52/week @ 2024-06-20 11/week @ 2024-06-27 43/week @ 2024-07-04 68/week @ 2024-07-11 125/week @ 2024-07-18 61/week @ 2024-07-25 160/week @ 2024-08-01 105/week @ 2024-08-08 82/week @ 2024-08-15

420 每月下载量
用于 5 个crate(3 直接)

MIT 协议

93KB
2K SLoC

tile-grid

Crates.io Documentation

tile-grid是一个用于使用OGC TileMatrixSets (TMS)的库。

tile-grid遵循在https://docs.ogc.org/is/17-083r4/17-083r4.html中找到的OGC二维瓦片矩阵集规范。

注意:不支持可变矩阵宽度瓦片集。

使用方法

加载瓦片集矩阵并获取瓦片的边界

use tile_grid::{tms, BoundingBox, Xyz};

let tms = tms().lookup("WebMercatorQuad").unwrap();

// Get the bounds for tile Z=4, X=10, Y=10 in the input projection
let bounds = tms.xy_bounds(&Xyz::new(10, 10, 4));
assert_eq!(
    bounds,
    BoundingBox::new(
        5009377.085697308,
        -7514065.628545959,
        7514065.628545959,
        -5009377.085697308
    )
);

// Get the bounds for tile Z=4, X=10, Y=10 in LatLon (WGS84)
let bounds = tms.bounds(&Xyz::new(10, 10, 4)).unwrap();
assert_eq!(
    bounds,
    BoundingBox::new(45.0, -55.77657301866769, 67.5, -40.97989806962013)
);

根据经纬度查找瓦片

use tile_grid::{tms, Xyz};

let tms = tms().lookup("WebMercatorQuad").unwrap();

let tile = tms.tile(159.31, -42.0, 4).unwrap();
assert_eq!(tile, Xyz::new(15, 10, 4));

// Or using coordinates in input CRS
let tile = tms.xy_tile(17734308.1, -5160979.4, 4);
assert_eq!(tile, Xyz::new(15, 10, 4));

致谢

许可

tile-grid采用MIT许可发布。

依赖

~4–7.5MB
~144K SLoC