mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-11-24 09:24:26 +03:00
duplicate OSM ids in tag maps universally, to simplify some other places
This commit is contained in:
parent
ed29a208e4
commit
1e4f36dec1
@ -75,7 +75,8 @@ pub fn extract_osm(
|
||||
continue;
|
||||
}
|
||||
let pts = map.gps_bounds.forcibly_convert(&gps_pts);
|
||||
let tags = tags_to_map(&way.tags);
|
||||
let mut tags = tags_to_map(&way.tags);
|
||||
tags.insert("abst:osm_way_id".to_string(), way.id.to_string());
|
||||
if is_road(&tags) {
|
||||
roads.push(raw_data::Road {
|
||||
osm_way_id: way.id,
|
||||
@ -126,7 +127,8 @@ pub fn extract_osm(
|
||||
timer.start_iter("processing OSM relations", doc.relations.len());
|
||||
for rel in doc.relations.values() {
|
||||
timer.next();
|
||||
let tags = tags_to_map(&rel.tags);
|
||||
let mut tags = tags_to_map(&rel.tags);
|
||||
tags.insert("abst:osm_rel_id".to_string(), rel.id.to_string());
|
||||
if let Some(at) = get_area_type(&tags) {
|
||||
if tags.get("type") == Some(&"multipolygon".to_string()) {
|
||||
let mut ok = true;
|
||||
|
@ -462,7 +462,6 @@ fn search_osm(wiz: &mut Wizard, ctx: &mut EventCtx, ui: &mut UI) -> Option<Trans
|
||||
if r.osm_tags
|
||||
.iter()
|
||||
.any(|(k, v)| format!("{} = {}", k, v).contains(&filter))
|
||||
|| format!("{}", r.osm_way_id).contains(&filter)
|
||||
{
|
||||
for l in r.all_lanes() {
|
||||
ids.insert(ID::Lane(l));
|
||||
@ -474,7 +473,6 @@ fn search_osm(wiz: &mut Wizard, ctx: &mut EventCtx, ui: &mut UI) -> Option<Trans
|
||||
if b.osm_tags
|
||||
.iter()
|
||||
.any(|(k, v)| format!("{} = {}", k, v).contains(&filter))
|
||||
|| format!("{}", b.osm_way_id).contains(&filter)
|
||||
{
|
||||
ids.insert(ID::Building(b.id));
|
||||
batch.push(color, b.polygon.clone());
|
||||
|
@ -163,7 +163,6 @@ fn tooltip_lines(id: ID, g: &mut GfxCtx, ctx: &PerMapUI) -> Text {
|
||||
Line(format!("{} is ", l.id)),
|
||||
Line(r.get_name()).fg(Color::CYAN),
|
||||
]);
|
||||
txt.add(Line(format!("From OSM way {}", r.osm_way_id)));
|
||||
txt.add(Line(format!(
|
||||
"Parent {} (originally {}) points to {}",
|
||||
r.id, r.stable_id, r.dst_i
|
||||
@ -216,10 +215,7 @@ fn tooltip_lines(id: ID, g: &mut GfxCtx, ctx: &PerMapUI) -> Text {
|
||||
}
|
||||
ID::Building(id) => {
|
||||
let b = map.get_b(id);
|
||||
txt.add(Line(format!(
|
||||
"Building #{:?} (from OSM way {})",
|
||||
id, b.osm_way_id
|
||||
)));
|
||||
txt.add(Line(format!("Building #{:?}", id)));
|
||||
txt.add(Line(format!(
|
||||
"Dist along sidewalk: {}",
|
||||
b.front_path.sidewalk.dist_along()
|
||||
@ -252,7 +248,7 @@ fn tooltip_lines(id: ID, g: &mut GfxCtx, ctx: &PerMapUI) -> Text {
|
||||
}
|
||||
ID::Area(id) => {
|
||||
let a = map.get_a(id);
|
||||
txt.add(Line(format!("{} (from OSM {})", id, a.osm_id)));
|
||||
txt.add(Line(format!("{}", id)));
|
||||
styled_kv(&mut txt, &a.osm_tags);
|
||||
}
|
||||
ID::Trip(_) => {}
|
||||
|
@ -313,6 +313,10 @@ impl Model {
|
||||
);
|
||||
osm_tags.insert("abst:endpt_fwd".to_string(), "true".to_string());
|
||||
osm_tags.insert("abst:endpt_back".to_string(), "true".to_string());
|
||||
osm_tags.insert(
|
||||
"abst:osm_way_id".to_string(),
|
||||
SYNTHETIC_OSM_WAY_ID.to_string(),
|
||||
);
|
||||
let center_points = vec![
|
||||
self.map.intersections[&i1].point,
|
||||
self.map.intersections[&i2].point,
|
||||
@ -423,11 +427,8 @@ impl Model {
|
||||
self.map.roads[&id].get_spec().to_string()
|
||||
}
|
||||
|
||||
pub fn get_tags(&self, id: StableRoadID) -> BTreeMap<String, String> {
|
||||
let r = &self.map.roads[&id];
|
||||
let mut tags = r.osm_tags.clone();
|
||||
tags.insert("abst:osm_way_id".to_string(), r.osm_way_id.to_string());
|
||||
tags
|
||||
pub fn get_tags(&self, id: StableRoadID) -> &BTreeMap<String, String> {
|
||||
&self.map.roads[&id].osm_tags
|
||||
}
|
||||
|
||||
fn lanes(&self, id: StableRoadID) -> Vec<Object<ID>> {
|
||||
|
Loading…
Reference in New Issue
Block a user