fix missing name:xx for roads in transportation_name (#58) (#129)

* fix missing name:xx for roads in transportation_name (#58)

* mvn spotless:apply
This commit is contained in:
Peter Hanecak
2023-11-08 11:34:22 +01:00
committed by GitHub
parent 827673b4ea
commit 176354816f
2 changed files with 32 additions and 4 deletions

View File

@@ -121,9 +121,11 @@ public class TransportationName implements
private Transportation transportation;
private final LongByteMap motorwayJunctionHighwayClasses = Hppc.newLongByteHashMap();
private final LongSet motorwayJunctionNodes = new LongHashSet();
private final Translations translations;
public TransportationName(Translations translations, PlanetilerConfig config, Stats stats) {
this.config = config;
this.translations = translations;
this.brunnel = config.arguments().getBoolean(
"transportation_name_brunnel",
"transportation_name layer: set to false to omit brunnel and help merge long highways",
@@ -195,7 +197,7 @@ public class TransportationName implements
features.point(LAYER_NAME)
.setBufferPixels(BUFFER_SIZE)
.putAttrs(OmtLanguageUtils.getNamesWithoutTranslations(element.source().tags()))
.putAttrs(OmtLanguageUtils.getNames(element.source().tags(), translations))
.setAttr(Fields.REF, ref)
.setAttr(Fields.REF_LENGTH, ref != null ? ref.length() : null)
.setAttr(Fields.CLASS, highwayClass(cls.highwayValue, null, null, null))
@@ -255,7 +257,7 @@ public class TransportationName implements
.setBufferPixels(BUFFER_SIZE)
.setBufferPixelOverrides(MIN_LENGTH)
// TODO abbreviate road names - can't port osml10n because it is AGPL
.putAttrs(OmtLanguageUtils.getNamesWithoutTranslations(element.source().tags()))
.putAttrs(OmtLanguageUtils.getNames(element.source().tags(), translations))
.setAttr(Fields.REF, ref)
.setAttr(Fields.REF_LENGTH, ref != null ? ref.length() : null)
.setAttr(Fields.NETWORK,
@@ -305,7 +307,7 @@ public class TransportationName implements
features.line(LAYER_NAME)
.setBufferPixels(BUFFER_SIZE)
.setBufferPixelOverrides(MIN_LENGTH)
.putAttrs(OmtLanguageUtils.getNamesWithoutTranslations(element.source().tags()))
.putAttrs(OmtLanguageUtils.getNames(element.source().tags(), translations))
.setAttr(Fields.CLASS, "aerialway")
.setAttr(Fields.SUBCLASS, element.aerialway())
.setMinPixelSize(0)
@@ -320,7 +322,7 @@ public class TransportationName implements
features.line(LAYER_NAME)
.setBufferPixels(BUFFER_SIZE)
.setBufferPixelOverrides(MIN_LENGTH)
.putAttrs(OmtLanguageUtils.getNamesWithoutTranslations(element.source().tags()))
.putAttrs(OmtLanguageUtils.getNames(element.source().tags(), translations))
.setAttr(Fields.CLASS, element.shipway())
.setMinPixelSize(0)
.setSortKey(element.zOrder())

View File

@@ -1357,4 +1357,30 @@ class TransportationTest extends AbstractLayerTest {
"service", "driveway"
))));
}
@Test
void testIssue58() {
// test subject: https://www.openstreetmap.org/way/222564359
// note: "name:es" used instead of "name:ar" since we've setup only "de" and "es" for unit tests
FeatureCollector result = process(lineFeature(Map.of(
"name", "איילון דרום",
"name:es", "أيالون جنوب",
"name:en", "Ayalon South",
"highway", "motorway"
)));
assertFeatures(4, List.of(Map.of(
"_layer", "transportation",
"_type", "line",
"class", "motorway"
), Map.of(
"_layer", "transportation_name",
"_type", "line",
"class", "motorway",
"name", "איילון דרום",
"name_int", "Ayalon South",
"name:latin", "Ayalon South",
"name:es", "أيالون جنوب",
"name:en", "Ayalon South"
)), result);
}
}