From 9ee8ddb7d899ee68f634525181aab516630ddcdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeromos=20Kov=C3=A1cs?= Date: Sat, 25 Jan 2025 18:25:08 +0100 Subject: [PATCH 1/3] refactor: update srtm_reader, use narrower int where applicable --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- src/elevation.rs | 13 ++++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5164d3..3c2d2ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -418,9 +418,9 @@ dependencies = [ [[package]] name = "srtm_reader" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae82b5e949a85ec77c28ff244fd1277682cd6ecbd4749bec8ee5197365ab75ec" +checksum = "73b7e8508865adf213782be9d2fc7a0b15183e18c68dddb46e6e4cba3a5cb5ff" [[package]] name = "strsim" diff --git a/Cargo.toml b/Cargo.toml index 4351367..d8bcae5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ geo-types = "0.7.15" gpx = "0.10.0" log = "0.4.25" rayon = "1.10.0" -srtm_reader = { version = "0.4.2", optional = true } +srtm_reader = { version = "0.5.0", optional = true } time = { version = "0.3.37", default-features = false } [features] diff --git a/src/elevation.rs b/src/elevation.rs index e9d1a64..bb567ca 100644 --- a/src/elevation.rs +++ b/src/elevation.rs @@ -6,12 +6,15 @@ pub use std::{ path::Path, }; +/// truncated coordinate +pub type TrunCoord = (i8, i16); + // TODO: docs -pub fn needed_tile_coords(wps: &[Waypoint]) -> BTreeSet<(i32, i32)> { +pub fn needed_tile_coords(wps: &[Waypoint]) -> BTreeSet { // kinda Waypoint to (i32, i32) - let trunc = |wp: &Waypoint| -> (i32, i32) { + let trunc = |wp: &Waypoint| -> TrunCoord { let (x, y) = wp.point().x_y(); - (y.trunc() as i32, x.trunc() as i32) + (y.trunc() as i8, x.trunc() as i16) }; // tiles we need wps.par_iter() @@ -22,7 +25,7 @@ pub fn needed_tile_coords(wps: &[Waypoint]) -> BTreeSet<(i32, i32)> { // TODO: docs pub fn read_needed_tiles( - needs: &BTreeSet<(i32, i32)>, + needs: &BTreeSet, elev_data_dir: impl AsRef, ) -> Vec { log::info!("reading needed tiles into memory"); @@ -31,7 +34,7 @@ pub fn read_needed_tiles( let elev_data_dir = elev_data_dir.as_ref(); needs .par_iter() - .map(|c| srtm_reader::get_filename(*c)) + .map(|c| srtm_reader::Coord::from(*c).get_filename()) .map(|t| elev_data_dir.join(t)) .flat_map(|p| { srtm_reader::Tile::from_file(&p) From 6ae154b561299dfeafeb51e33e5b51531c88562f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeromos=20Kov=C3=A1cs?= Date: Sat, 25 Jan 2025 18:44:27 +0100 Subject: [PATCH 2/3] refactor(elev): renamed TrunCoord -> Coord --- src/elevation.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/elevation.rs b/src/elevation.rs index bb567ca..f63fde6 100644 --- a/src/elevation.rs +++ b/src/elevation.rs @@ -7,12 +7,12 @@ pub use std::{ }; /// truncated coordinate -pub type TrunCoord = (i8, i16); +pub type Coord = (i8, i16); // TODO: docs -pub fn needed_tile_coords(wps: &[Waypoint]) -> BTreeSet { - // kinda Waypoint to (i32, i32) - let trunc = |wp: &Waypoint| -> TrunCoord { +pub fn needed_tile_coords(wps: &[Waypoint]) -> BTreeSet { + // kinda Waypoint to Coord + let trunc = |wp: &Waypoint| -> Coord { let (x, y) = wp.point().x_y(); (y.trunc() as i8, x.trunc() as i16) }; @@ -25,7 +25,7 @@ pub fn needed_tile_coords(wps: &[Waypoint]) -> BTreeSet { // TODO: docs pub fn read_needed_tiles( - needs: &BTreeSet, + needs: &BTreeSet, elev_data_dir: impl AsRef, ) -> Vec { log::info!("reading needed tiles into memory"); From 20c13084013829925211b4d3edf5ef4a7e56efde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeromos=20Kov=C3=A1cs?= Date: Sat, 25 Jan 2025 19:51:02 +0100 Subject: [PATCH 3/3] misc: version bump --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3c2d2ff..3a8aed6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -208,7 +208,7 @@ dependencies = [ [[package]] name = "fit2gpx" -version = "0.5.4" +version = "0.5.5" dependencies = [ "clap", "env_logger", diff --git a/Cargo.toml b/Cargo.toml index d8bcae5..40ff56f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fit2gpx" -version = "0.5.4" +version = "0.5.5" edition = "2021" authors = ["Jeromos Kovács "]