12 releases
0.6.2 | Oct 29, 2024 |
---|---|
0.6.1 | May 19, 2024 |
0.6.0 |
|
0.5.2 | Jun 16, 2023 |
0.2.1 | Jul 29, 2019 |
#44 in Geospatial
592 downloads per month
Used in 5 crates
(3 directly)
99KB
2K
SLoC
tile-grid
tile-grid is a library for using OGC TileMatrixSets (TMS).
tile-grid follows the OGC Two Dimensional Tile Matrix Set specification found in https://docs.ogc.org/is/17-083r4/17-083r4.html
Note: Variable matrix width tile set are not supported.
Usage
Load tile set matrix and get bounds of a tile
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)
);
Find tile for lat/lon
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));
Credits
- Morecantile by Vincent Sarago et al.
- ogcapi by Balthasar Teuscher
License
tile-grid is released under the MIT License.
Dependencies
~5–8.5MB
~130K SLoC