Skip to content

Commit

Permalink
Improve naming of to_mvt functions
Browse files Browse the repository at this point in the history
  • Loading branch information
pka committed Aug 8, 2023
1 parent 08d8d5f commit 3ae6f26
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 14 deletions.
16 changes: 10 additions & 6 deletions geozero/src/mvt/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<tile::Feature>;
/// Convert to MVT geometry with geometries in tile coordinate system.
fn to_mvt_unscaled(&self) -> Result<tile::Feature>;
/// Convert to MVT geometry with geometries in tile coordinate space.
fn to_mvt_raw(&self) -> Result<tile::Feature>;
}

impl<T: GeozeroGeometry> ToMvt for T {
fn to_mvt(
&self,
tile_size: u32,
extent: u32,
left: f64,
bottom: f64,
right: f64,
top: f64,
) -> Result<tile::Feature> {
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<tile::Feature> {
fn to_mvt_raw(&self) -> Result<tile::Feature> {
let mut mvt = MvtWriter::default();
self.process_geom(&mut mvt)?;
Ok(mvt.feature)
Expand Down
14 changes: 7 additions & 7 deletions geozero/src/mvt/mvt_writer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
}

Expand All @@ -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]
Expand All @@ -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]);
}

Expand All @@ -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,
[
Expand All @@ -485,7 +485,7 @@ mod test {
#[cfg(feature = "with-geo")]
fn geo_screen_coords_to_mvt() -> Result<()> {
let geo: geo_types::Geometry<f64> = 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(())
}
Expand Down
2 changes: 1 addition & 1 deletion geozero/tests/mvt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use std::sync::Mutex;
#[test]
fn geo_screen_coords_to_mvt() {
let geo: geo_types::Geometry<f64> = 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]);
}

Expand Down

0 comments on commit 3ae6f26

Please sign in to comment.