diff --git a/geozero/src/mvt/mod.rs b/geozero/src/mvt/mod.rs index d0a30d0c..e28b1539 100644 --- a/geozero/src/mvt/mod.rs +++ b/geozero/src/mvt/mod.rs @@ -26,32 +26,36 @@ pub(crate) mod conversion { /// Convert to MVT geometry. pub trait ToMvt { /// Convert to MVT geometry. + /// + /// # Arguments + /// * `extent` - Size of MVT tile in tile coordinate space (e.g. 4096). + /// * `left`, `bottom`, `right`, `top` - Bounds of tile in map coordinate space, with no buffer. fn to_mvt( &self, - tile_size: u32, + extent: u32, left: f64, bottom: f64, right: f64, top: f64, ) -> Result; - /// Convert to MVT geometry with geometries in tile coordinate system. - fn to_mvt_unscaled(&self) -> Result; + /// Convert to MVT geometry with geometries in tile coordinate space. + fn to_mvt_raw(&self) -> Result; } impl ToMvt for T { fn to_mvt( &self, - tile_size: u32, + extent: u32, left: f64, bottom: f64, right: f64, top: f64, ) -> Result { - let mut mvt = MvtWriter::new(tile_size, left, bottom, right, top); + let mut mvt = MvtWriter::new(extent, left, bottom, right, top); self.process_geom(&mut mvt)?; Ok(mvt.feature) } - fn to_mvt_unscaled(&self) -> Result { + fn to_mvt_raw(&self) -> Result { let mut mvt = MvtWriter::default(); self.process_geom(&mut mvt)?; Ok(mvt.feature) diff --git a/geozero/src/mvt/mvt_writer.rs b/geozero/src/mvt/mvt_writer.rs index cea065ea..b013b3e5 100644 --- a/geozero/src/mvt/mvt_writer.rs +++ b/geozero/src/mvt/mvt_writer.rs @@ -415,21 +415,21 @@ mod test { #[test] fn point_geom() { let geojson = GeoJson(r#"{"type": "Point", "coordinates": [25, 17]}"#); - let mvt = geojson.to_mvt_unscaled().unwrap(); + let mvt = geojson.to_mvt_raw().unwrap(); assert_eq!(mvt.geometry, [9, 50, 34]); } #[test] fn multipoint_geom() { let geojson = GeoJson(r#"{"type": "MultiPoint", "coordinates": [[5, 7], [3, 2]]}"#); - let mvt = geojson.to_mvt_unscaled().unwrap(); + let mvt = geojson.to_mvt_raw().unwrap(); assert_eq!(mvt.geometry, [17, 10, 14, 3, 9]); } #[test] fn line_geom() { let geojson = GeoJson(r#"{"type": "LineString", "coordinates": [[2,2], [2,10], [10,10]]}"#); - let mvt = geojson.to_mvt_unscaled().unwrap(); + let mvt = geojson.to_mvt_raw().unwrap(); assert_eq!(mvt.geometry, [9, 4, 4, 18, 0, 16, 16, 0]); } @@ -438,7 +438,7 @@ mod test { let geojson = GeoJson( r#"{"type": "MultiLineString", "coordinates": [[[2,2], [2,10], [10,10]],[[1,1],[3,5]]]}"#, ); - let mvt = geojson.to_mvt_unscaled().unwrap(); + let mvt = geojson.to_mvt_raw().unwrap(); assert_eq!( mvt.geometry, [9, 4, 4, 18, 0, 16, 16, 0, 9, 17, 17, 10, 4, 8] @@ -449,7 +449,7 @@ mod test { fn polygon_geom() { let geojson = GeoJson(r#"{"type": "Polygon", "coordinates": [[[3, 6], [8, 12], [20, 34], [3, 6]]]}"#); - let mvt = geojson.to_mvt_unscaled().unwrap(); + let mvt = geojson.to_mvt_raw().unwrap(); assert_eq!(mvt.geometry, [9, 6, 12, 18, 10, 12, 24, 44, 15]); } @@ -472,7 +472,7 @@ mod test { ] }"#; let geojson = GeoJson(geojson); - let mvt = geojson.to_mvt_unscaled().unwrap(); + let mvt = geojson.to_mvt_raw().unwrap(); assert_eq!( mvt.geometry, [ @@ -485,7 +485,7 @@ mod test { #[cfg(feature = "with-geo")] fn geo_screen_coords_to_mvt() -> Result<()> { let geo: geo_types::Geometry = geo_types::Point::new(25.0, 17.0).into(); - let mvt = geo.to_mvt_unscaled()?; + let mvt = geo.to_mvt_raw()?; assert_eq!(mvt.geometry, [9, 50, 34]); Ok(()) } diff --git a/geozero/tests/mvt.rs b/geozero/tests/mvt.rs index 490e2c0b..6003d40d 100644 --- a/geozero/tests/mvt.rs +++ b/geozero/tests/mvt.rs @@ -11,7 +11,7 @@ use std::sync::Mutex; #[test] fn geo_screen_coords_to_mvt() { let geo: geo_types::Geometry = geo_types::Point::new(25.0, 17.0).into(); - let mvt = geo.to_mvt_unscaled().unwrap(); + let mvt = geo.to_mvt_raw().unwrap(); assert_eq!(mvt.geometry, [9, 50, 34]); }