Remove another small use of InitialMap for saving geojson tests. #893

This commit is contained in:
Dustin Carlino 2022-04-21 16:27:15 +01:00
parent d175652149
commit 255028fd87

View File

@ -11,18 +11,19 @@ impl RawMap {
pub fn save_osm2polygon_input(&self, output_path: String, i: osm::NodeID) -> Result<()> {
let mut features = Vec::new();
for id in self.roads_per_intersection(i) {
let road = crate::initial::Road::new(self, id)?;
let (untrimmed_center_pts, total_width) = self.untrimmed_road_geometry(id)?;
let mut properties = serde_json::Map::new();
properties.insert("osm_way_id".to_string(), id.osm_way_id.0.into());
properties.insert("src_i".to_string(), id.i1.0.into());
properties.insert("dst_i".to_string(), id.i2.0.into());
properties.insert(
"half_width".to_string(),
road.half_width.inner_meters().into(),
(total_width / 2.0).inner_meters().into(),
);
let mut osm_tags = serde_json::Map::new();
for (k, v) in road.osm_tags.inner() {
for (k, v) in self.roads[&id].osm_tags.inner() {
osm_tags.insert(k.to_string(), v.to_string().into());
}
properties.insert("osm_tags".to_string(), osm_tags.into());
@ -30,7 +31,7 @@ impl RawMap {
// TODO Both for ror reading and writing, we should find a way to pair a serde struct
// with a geo type
features.push(Feature {
geometry: Some(road.trimmed_center_pts.to_geojson(Some(&self.gps_bounds))),
geometry: Some(untrimmed_center_pts.to_geojson(Some(&self.gps_bounds))),
properties: Some(properties),
bbox: None,
id: None,