Skip to content

Commit afcfc40

Browse files
committed
first rendering
1 parent 4100870 commit afcfc40

File tree

2 files changed

+37
-67
lines changed

2 files changed

+37
-67
lines changed

proxy.Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN --mount=type=bind,source=proxy/js/styles.mjs,target=styles.mjs \
1212
--mount=type=bind,source=features/speed_railway_signals.yaml,target=speed_railway_signals.yaml \
1313
--mount=type=bind,source=features/electrification_signals.yaml,target=electrification_signals.yaml \
1414
--mount=type=bind,source=features/signals_railway_signals.yaml,target=signals_railway_signals.yaml \
15+
--mount=type=bind,source=features/loading_gauge.yaml,target=loading_gauge.yaml \
1516
node /build/styles.mjs
1617

1718
FROM nginx:1-alpine

proxy/js/styles.mjs

Lines changed: 36 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const signals_railway_line = yaml.parse(fs.readFileSync('train_protection.yaml',
55
const speed_railway_signals = yaml.parse(fs.readFileSync('speed_railway_signals.yaml', 'utf8')).speed_railway_signals
66
const signals_railway_signals = yaml.parse(fs.readFileSync('signals_railway_signals.yaml', 'utf8')).signals_railway_signals
77
const electrification_signals = yaml.parse(fs.readFileSync('electrification_signals.yaml', 'utf8')).electrification_signals
8+
const loading_gauges = yaml.parse(fs.readFileSync('loading_gauge.yaml', 'utf8')).loading_gauges
89

910
const origin = `${process.env.PUBLIC_PROTOCOL}://${process.env.PUBLIC_HOST}`
1011

@@ -958,6 +959,26 @@ const gaugeLayout = {
958959
'line-cap': 'round',
959960
};
960961

962+
const loadingGaugeCasingPaint = {
963+
'line-color': 'white',
964+
'line-width': railwayLineWidth,
965+
'line-gap-width': 0.75,
966+
};
967+
const loadingGaugeFillPaint = (dashArray) => ({
968+
'line-color': ['match', ['get', 'loading_gauge'],
969+
...loading_gauges.flatMap(loading_gauge =>
970+
[loading_gauge.value, loading_gauge.color]
971+
),
972+
'gray',
973+
],
974+
'line-width': railwayLineWidth,
975+
'line-dasharray': dashArray,
976+
});
977+
const loadingGaugeLayout = {
978+
'line-join': 'round',
979+
'line-cap': 'round',
980+
};
981+
961982
const attribution = '<a href="https://github.com/hiddewie/OpenRailwayMap-vector" target="_blank">&copy; OpenRailwayMap contributors</a> | <a href="https://www.openstreetmap.org/about" target="_blank">&copy; OpenStreetMap contributors</a>';
962983

963984
const sources = {
@@ -3057,17 +3078,17 @@ const layers = {
30573078
maxzoom: 7,
30583079
source: 'openrailwaymap_low',
30593080
'source-layer': 'railway_line_low',
3060-
paint: gaugeCasingPaint,
3061-
layout: gaugeLayout,
3081+
paint: loadingGaugeCasingPaint,
3082+
layout: loadingGaugeLayout,
30623083
},
30633084
{
30643085
id: 'loading_gauge_railway_line_low_fill',
30653086
type: 'line',
30663087
maxzoom: 7,
30673088
source: 'openrailwaymap_low',
30683089
'source-layer': 'railway_line_low',
3069-
paint: gaugeFillPaint('gauge0', 'gaugeint0', [1]),
3070-
layout: gaugeLayout,
3090+
paint: loadingGaugeFillPaint([1]),
3091+
layout: loadingGaugeLayout,
30713092
},
30723093
{
30733094
id: 'loading_gauge_railway_line_med_casing',
@@ -3076,8 +3097,8 @@ const layers = {
30763097
maxzoom: 8,
30773098
source: 'openrailwaymap_med',
30783099
'source-layer': 'railway_line_med',
3079-
paint: gaugeCasingPaint,
3080-
layout: gaugeLayout,
3100+
paint: loadingGaugeCasingPaint,
3101+
layout: loadingGaugeLayout,
30813102
},
30823103
{
30833104
id: 'loading_gauge_railway_line_med_fill',
@@ -3086,8 +3107,8 @@ const layers = {
30863107
maxzoom: 8,
30873108
source: 'openrailwaymap_med',
30883109
'source-layer': 'railway_line_med',
3089-
paint: gaugeFillPaint('gauge0', 'gaugeint0', [1]),
3090-
layout: gaugeLayout,
3110+
paint: loadingGaugeFillPaint([1]),
3111+
layout: loadingGaugeLayout,
30913112
},
30923113
{
30933114
id: 'loading_gauge_railway_line_casing',
@@ -3096,8 +3117,8 @@ const layers = {
30963117
source: 'high',
30973118
'source-layer': 'railway_line_high',
30983119
filter: ['!=', ['get', 'railway'], 'construction'],
3099-
paint: gaugeCasingPaint,
3100-
layout: gaugeLayout,
3120+
paint: loadingGaugeCasingPaint,
3121+
layout: loadingGaugeLayout,
31013122
},
31023123
{
31033124
id: 'loading_gauge_railway_line_casing_construction',
@@ -3120,8 +3141,8 @@ const layers = {
31203141
source: 'high',
31213142
'source-layer': 'railway_line_high',
31223143
filter: ['!=', ['get', 'railway'], 'construction'],
3123-
paint: gaugeFillPaint('gauge0', 'gaugeint0', [1]),
3124-
layout: gaugeLayout,
3144+
paint: loadingGaugeFillPaint([1]),
3145+
layout: loadingGaugeLayout,
31253146
},
31263147
{
31273148
id: 'loading_gauge_railway_line_fill_construction',
@@ -3130,60 +3151,8 @@ const layers = {
31303151
source: 'high',
31313152
'source-layer': 'railway_line_high',
31323153
filter: ['==', ['get', 'railway'], 'construction'],
3133-
paint: gaugeFillPaint('gauge0', 'gaugeint0', gauge_construction_dashes),
3134-
layout: gaugeLayout,
3135-
},
3136-
{
3137-
id: 'loading_gauge_railway_dual_gauge_line',
3138-
type: 'line',
3139-
minzoom: 8,
3140-
source: 'high',
3141-
'source-layer': 'railway_line_high',
3142-
filter: ['all',
3143-
['!=', ['get', 'gauge1'], null],
3144-
['!=', ['get', 'railway'], 'construction'],
3145-
],
3146-
paint: gaugeFillPaint('gauge1', 'gaugeint1', gauge_dual_gauge_dashes),
3147-
layout: gaugeLayout,
3148-
},
3149-
{
3150-
id: 'loading_gauge_railway_dual_gauge_line_construction',
3151-
type: 'line',
3152-
minzoom: 8,
3153-
source: 'high',
3154-
'source-layer': 'railway_line_high',
3155-
filter: ['all',
3156-
['!=', ['get', 'gauge1'], null],
3157-
['==', ['get', 'railway'], 'construction'],
3158-
],
3159-
paint: gaugeFillPaint('gauge1', 'gaugeint1', dual_construction_dashes),
3160-
layout: gaugeLayout,
3161-
},
3162-
{
3163-
id: 'loading_gauge_railway_multi_gauge_line',
3164-
type: 'line',
3165-
minzoom: 8,
3166-
source: 'high',
3167-
'source-layer': 'railway_line_high',
3168-
filter: ['all',
3169-
['!=', ['get', 'gauge2'], null],
3170-
['!=', ['get', 'railway'], 'construction'],
3171-
],
3172-
paint: gaugeFillPaint('gauge2', 'gaugeint2', gauge_multi_gauge_dashes),
3173-
layout: gaugeLayout,
3174-
},
3175-
{
3176-
id: 'loading_gauge_railway_multi_gauge_line_construction',
3177-
type: 'line',
3178-
minzoom: 8,
3179-
source: 'high',
3180-
'source-layer': 'railway_line_high',
3181-
filter: ['all',
3182-
['!=', ['get', 'gauge2'], null],
3183-
['==', ['get', 'railway'], 'construction'],
3184-
],
3185-
paint: gaugeFillPaint('gauge2', 'gaugeint2', multi_construction_dashes),
3186-
layout: gaugeLayout,
3154+
paint: loadingGaugeFillPaint(gauge_construction_dashes),
3155+
layout: loadingGaugeLayout,
31873156
},
31883157
preferredDirectionLayer('railway_preferred_direction', ['any',
31893158
['==', ['get', 'preferred_direction'], 'forward'],
@@ -3324,7 +3293,7 @@ const layers = {
33243293
layout: {
33253294
'symbol-z-order': 'source',
33263295
'symbol-placement': 'line',
3327-
'text-field': '{gauge_label}',
3296+
'text-field': '{loading_gauge}',
33283297
// TODO not present: oblique font
33293298
'text-font': ['Noto Sans Bold'],
33303299
'text-size': 11,

0 commit comments

Comments
 (0)