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.
```rust 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.xybounds(&Xyz::new(10, 10, 4)); asserteq!( 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) ); ```
```rust 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.xytile(17734308.1, -5160979.4, 4); asserteq!(tile, Xyz::new(15, 10, 4)); ```
tile-grid is released under the MIT License.