From f7bce89b7c4eb8245dead9436556af6d35d10336 Mon Sep 17 00:00:00 2001 From: Arndt Brenschede Date: Sun, 28 May 2023 19:53:35 +0200 Subject: [PATCH] pseudo-tags from DB, here: preload and use in-memory matching --- .../btools/mapcreator/DatabasePseudoTagProvider.java | 4 ++++ .../src/main/java/btools/mapcreator/OsmCutter.java | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/brouter-map-creator/src/main/java/btools/mapcreator/DatabasePseudoTagProvider.java b/brouter-map-creator/src/main/java/btools/mapcreator/DatabasePseudoTagProvider.java index 7c46a06..d0a2b9d 100644 --- a/brouter-map-creator/src/main/java/btools/mapcreator/DatabasePseudoTagProvider.java +++ b/brouter-map-creator/src/main/java/btools/mapcreator/DatabasePseudoTagProvider.java @@ -98,6 +98,10 @@ public class DatabasePseudoTagProvider { public void addTags(long osm_id, Map map) { + if (map == null || !map.containsKey("highway")) { + return; + } + cntOsmWays++; if ((cntOsmWays % 1000000L) == 0) { String out = "Osm Ways processed=" + cntOsmWays + " way modifs=" + cntWayModified; diff --git a/brouter-map-creator/src/main/java/btools/mapcreator/OsmCutter.java b/brouter-map-creator/src/main/java/btools/mapcreator/OsmCutter.java index c90c2b5..6a935f7 100644 --- a/brouter-map-creator/src/main/java/btools/mapcreator/OsmCutter.java +++ b/brouter-map-creator/src/main/java/btools/mapcreator/OsmCutter.java @@ -171,6 +171,12 @@ public class OsmCutter extends MapCreatorBase { // encode tags if (w.getTagsOrNull() == null) return; + if (dbPseudoTagProvider != null) { + dbPseudoTagProvider.addTags(w.wid, w.getTagsOrNull()); + } + + generatePseudoTags(w.getTagsOrNull()); + int[] lookupData = _expctxWay.createNewLookupData(); for (String key : w.getTagsOrNull().keySet()) { String value = w.getTag(key); @@ -187,12 +193,6 @@ public class OsmCutter extends MapCreatorBase { ok |= _expctxWay.getCostfactor() < 10000.; if (!ok) return; - if (dbPseudoTagProvider != null) { - dbPseudoTagProvider.addTags(w.wid, w.getTagsOrNull()); - } - - generatePseudoTags(w.getTagsOrNull()); - if (wayDos != null) { w.writeTo(wayDos); }