diff --git a/src/main/java/com/onthegomap/planetiler/basemap/layers/TransportationName.java b/src/main/java/com/onthegomap/planetiler/basemap/layers/TransportationName.java index efe4493..c616cdd 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/layers/TransportationName.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/layers/TransportationName.java @@ -151,7 +151,9 @@ public class TransportationName implements @Override public void preprocessOsmNode(OsmElement.Node node) { if (node.hasTag("highway", "motorway_junction")) { - motorwayJunctionHighwayClasses.put(node.id(), HighwayClass.UNKNOWN.value); + synchronized (motorwayJunctionHighwayClasses) { + motorwayJunctionHighwayClasses.put(node.id(), HighwayClass.UNKNOWN.value); + } } } @@ -162,13 +164,15 @@ public class TransportationName implements HighwayClass cls = HighwayClass.from(highway); if (cls != HighwayClass.UNKNOWN) { LongArrayList nodes = way.nodes(); - for (int i = 0; i < nodes.size(); i++) { - long node = nodes.get(i); - if (motorwayJunctionHighwayClasses.containsKey(node)) { - byte oldValue = motorwayJunctionHighwayClasses.get(node); - byte newValue = cls.value; - if (newValue > oldValue) { - motorwayJunctionHighwayClasses.put(node, newValue); + synchronized (motorwayJunctionHighwayClasses) { + for (int i = 0; i < nodes.size(); i++) { + long node = nodes.get(i); + if (motorwayJunctionHighwayClasses.containsKey(node)) { + byte oldValue = motorwayJunctionHighwayClasses.get(node); + byte newValue = cls.value; + if (newValue > oldValue) { + motorwayJunctionHighwayClasses.put(node, newValue); + } } } } diff --git a/src/main/java/com/onthegomap/planetiler/basemap/layers/Waterway.java b/src/main/java/com/onthegomap/planetiler/basemap/layers/Waterway.java index a768696..c91fcb6 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/layers/Waterway.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/layers/Waterway.java @@ -145,7 +145,9 @@ public class Waterway implements @Override public List preprocessOsmRelation(OsmElement.Relation relation) { if (relation.hasTag("waterway", "river") && !Utils.nullOrEmpty(relation.getString("name"))) { - riverRelationLengths.put(relation.id(), new AtomicDouble()); + synchronized (riverRelationLengths) { + riverRelationLengths.put(relation.id(), new AtomicDouble()); + } return List.of(new WaterwayRelation(relation.id(), LanguageUtils.getNames(relation.tags(), translations))); } return null;