Skip to content

Commit 3f57728

Browse files
committed
DE Blockkennzeichen: make shield size depend on length of label
1 parent 5bc92a2 commit 3f57728

11 files changed

+1621
-6
lines changed

signals.mml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,12 @@ Layer:
227227
way,
228228
railway,
229229
ref,
230+
array_to_string(ref_multiline, E'\n') AS ref_multiline,
231+
array_length(ref_multiline, 1) AS height,
232+
(
233+
SELECT MAX(char_length(ref_ml))
234+
FROM unnest(ref_multiline) AS u(ref_ml)
235+
) AS width,
230236
COALESCE(
231237
tags->'railway:signal:combined',
232238
tags->'railway:signal:main',
@@ -343,7 +349,7 @@ Layer:
343349
tags->'railway:signal:crossing:type' AS crossing_type,
344350
tags->'railway:signal:ring:type' AS ring_type,
345351
tags->'railway:signal:whistle:type' AS whistle_type
346-
FROM openrailwaymap_osm_point
352+
FROM openrailwaymap_osm_signals
347353
WHERE
348354
railway = 'signal'
349355
AND "signal_direction" IS NOT NULL

signals.mss

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -695,19 +695,25 @@ Format details:
695695
/* DE block marker ("Blockkennzeichen) */
696696
/***************************************/
697697
["feature"="DE-ESO:blockkennzeichen"] {
698-
[zoom<16] {
698+
[zoom<16],
699+
[zoom>=16][zoom<17][height > 1],
700+
[zoom>=16][zoom<17][width > 2],
701+
[zoom>=17][height > 2],
702+
[zoom>=17][width > 4] {
699703
marker-file: url('symbols/de/blockkennzeichen.svg');
700704
marker-allow-overlap: true;
701705
marker-width: 14;
702706
marker-height: 14;
703707
}
704708

705-
[zoom>=16] {
706-
shield-file: url('symbols/de/blockkennzeichen.svg');
707-
shield-name: [ref];
709+
[zoom>=16][height <= 1][width <= 2],
710+
[zoom>=17][height <= 2][width <= 4] {
711+
shield-file: url('symbols/flex/de/blockkennzeichen-[width]x[height].svg');
712+
shield-name: [ref_multiline];
708713
shield-fill: black;
709-
shield-face-name: @bold-fonts;
714+
shield-face-name: @book-fonts;
710715
shield-size: 10;
716+
shield-allow-overlap: true;
711717
}
712718
}
713719

sql/osm_carto_views.sql

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,14 @@ CREATE OR REPLACE VIEW openrailwaymap_osm_point AS
4949
tags->'railway:signal:speed_limit_distant:speed' AS "signal_speed_limit_distant_speed",
5050
tags AS tags
5151
FROM planet_osm_point;
52+
53+
CREATE OR REPLACE VIEW openrailwaymap_osm_signals AS
54+
SELECT
55+
osm_id,
56+
way,
57+
railway,
58+
ref,
59+
string_to_array(ref, ' ') AS ref_multiline,
60+
tags->'railway:signal:direction' AS "signal_direction",
61+
tags AS tags
62+
FROM planet_osm_point;
Lines changed: 199 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)