Skip to content

Conversation

hiddewie
Copy link
Contributor

@hiddewie hiddewie commented Jun 7, 2025

Hi!

Over the past years I have been working on a fork of the OpenRailwayMap.

The announcement can be found on the OpenRailwayMap mailing list and on the OpenStreetMap community forum.

The fork has several features, and is actively being developed by me and several more contributors:

  • Vector-based data: the map is interactive with e.g. hover and popup showing data details.
  • Map style improvements: station size, state of lines and statons, signal support for many new countries.
  • Visual UI improvements like: configurable background map, map settings and dark mode.
  • Additional layers: loading gauge and track class.
  • Daily data updates for the entire planet.
  • OpenHistoricalMap integration for historical railway infrastructure.

At the moment the fork is hosted on https://openrailwaymap.app using Fly.io. This is purely practical, it could be hosted anywhere else.

This pull request is a starter to discuss:

  • Can we integrate the fork into the Github OpenRailwayMap organization
  • Can we publish the fork on the domain openrailwaymap.org?

These are open questions, any response is appreciated!

hiddewie and others added 30 commits February 22, 2025 16:14
Also remove some irrelevant TODOs
Co-authored-by: Hidde Wieringa <[email protected]>
- Add icons for all possible speed values of BE:PVR, BE:PVA, BE:PVV,
BE:PVO and BE:PVJ
The existing icons are replaced to have the same typo on all signals,
except empty ones.
- Add icons for BE:FLC and BE:RTL
- Update signals_railway_signals.yaml accordingly

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Update the news with the last three months of pull requests.
The `--cache` argument is no longer needed because we do not use the
slim import mode anymore.

```
2025-03-01 19:16:57  osm2pgsql version 2.0.1
2025-03-01 19:16:57  WARNING: Ignoring option -C,--cache. Can only be used in --slim mode.
```
Fixes #236

Idk if this is the correct way to address this

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Fixes #244

The full screen control,
https://github.com/maplibre/maplibre-gl-js/blob/b52cb12b19b1064741bf821683c93e823d50294b/src/ui/control/fullscreen_control.ts#L52
uses the `requestFullscreen()` browser function (see
https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen).

This puts a single element (the map) full screen, instead of the entire
page. Especially the popup dialogs, and the background maps, are
separate components on the screen, so not included in the full screen
component of just the map.

Solution: remove the full-screen button alltogether.

It remains possible to put the browser in full screen mode by using the
`F11` button (or the browser menu controls).


![image](https://github.com/user-attachments/assets/0fa15ea1-f117-4d63-8abc-daf04e7c1ddb)
I think having buffer stops and crossings at a lower level makes the map
more clean at level 13:


![image](https://github.com/user-attachments/assets/0d85b5ff-44c8-4d2f-b9c0-1d1cbc3c5228)

München
Zoom 13

![image](https://github.com/user-attachments/assets/cca14919-0c07-4489-81e6-e78a3951137b)

Zoom 14

![image](https://github.com/user-attachments/assets/9ade96a5-4703-429c-8ae7-b57595d936d6)

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Completely untested...

I noted that non-electrified tracks and also tracks without
electrification tags are rendered in gray while black is already defined
in `styles.mjs`. This might fix it.
Fixes #223

Changes:
- Render large, normal and small stations differently on the map for
zoom levels up to 13.
- Ensure hovering on icons and text works
- Add distinct colors for monorail, miniature and lightrail
stations/halts.
- Remove custom rendering of tram stops, and handle / render them like
all other types of stations.
This should probably conclude this journey (for now)

El 7 and Ne 3 sings aren't tagged, so I can't test them


![image](https://github.com/user-attachments/assets/8cab8692-1c51-40c8-a61b-d04821fb4854)


![image](https://github.com/user-attachments/assets/764d3994-6dec-4d4e-a847-ba4c70d93be7)

---------

Co-authored-by: Hidde Wieringa <[email protected]>
The order of Berlin stations changed in the OSM data.
I've added graphics and some basic code to reflect pointers in PL. Those
are W18 (station_distant), W24 (wrong_road), W32 with variants, WETCS11,
updated WETCS10 and grouped pointers - (W6, W6a, W6b and W7), (W33 and
W34), (W10a and W10b), (We10). I also standardized legend in PL section.


https://wiki.openstreetmap.org/wiki/Pl:OpenRailwayMap/Tagging_in_Poland/Pointers
* W18:
https://wiki.openstreetmap.org/wiki/Pl:OpenRailwayMap/Tagging_in_Poland/Pointers#W_18_%E2%80%94_wska%C5%BAnik_samoczynnej_blokady_liniowej
* W24:
https://wiki.openstreetmap.org/wiki/Pl:OpenRailwayMap/Tagging_in_Poland/Pointers#W_24_%E2%80%94_wska%C5%BAnik_kierunku_przeciwnego
* W32:
https://wiki.openstreetmap.org/wiki/Pl:OpenRailwayMap/Tagging_in_Poland/Pointers#W_32_%E2%80%94_wska%C5%BAnik_czo%C5%82a_poci%C4%85gu

The area of interest with W18 (W19, W20) and W24 is below:

https://openrailwaymap.fly.dev/#view=16.33/52.211138/20.929013&style=signals

![image](https://github.com/user-attachments/assets/cc1667b6-8522-4f9a-b971-e2eb36dd4bcb)

The area of interest with W32 types is below:

https://openrailwaymap.fly.dev/#view=17.5/53.238623/20.167717&style=signals

![image](https://github.com/user-attachments/assets/b495e326-6ea6-4b5a-9623-091ef2fb2552)

I added graphics for W19, W20, but I haven't coded them. I hope I didn't
make a mess

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Co-authored-by: hidde.wieringa <[email protected]>
Part of #231 

Changes:
- Split tile deployment into 6 regions:
  - africa
  - asia
  - europe
  - north-america
  - oceania
  - south-america

Reasoning: serving the entire planet requires more resources. Generating
tiles for the entire planet takes too long, and the resulting tiles
image / deployment becomes too large. Splitting this per region makes
the deployment parallelizable. Every tile server will have 1 vCPU and
256MB memory.
- Create reusable Github Actions workflow to deploy tiles for a certain
region
- Deploy low-zoom tiles (zooms 0-7) with a separate deployment for the
whole planet
- Change nightly data update and deployment to trigger at 22:47 UTC
- This is expected to take the entire night (possibly more) to render
and deploy tiles for the entire planet.
- Change proxy configuration to match incoming tile requests to their
respective tile server using regular expressions matching `z/x/y`
- Remove all map bounds output after import
- Document the deployment
Part of #231 

This pull request adds the bounding boxes of all square-degree areas
that contain railway to the region-specific tile rendering bounding
boxes.
Part of #231

This pull request expands the regions for which tiles are generated, to
cover the entire planet.

This means that any square-degree of planet that contains railways will
be served as tiles. Currently, only zoom 8+ is served if the tile is
within one of the existing regions.
From discussion with #278

The station size is good for showing stations at certain zoom levels,
but there the value small / normal / large is rather arbitrary.


![image](https://github.com/user-attachments/assets/ad1f5c1b-45f8-41d7-b871-ace25e90ecf0)
hiddewie and others added 30 commits September 27, 2025 17:40
Platforms often have multiple references, one for each platform edge.
The data was stored correctly, but output incorrectly: as SQL array,
instead of a `\001e` (record separated) delimited value.

Now the popup shows references `1, 2, 3`:
(http://localhost:8000/#view=17.83/54.100187/11.905644)
<img width="789" height="639" alt="image"
src="https://github.com/user-attachments/assets/eb576b84-d024-4d66-a9e6-9c8493287070"
/>
Fixes #543

Images that do not load correctly, will no longer take a small amount of
space.
Extracted from #580.

Speed and distant speed signals were missing, and some main/combined
signal variants (yellow).
Fixes #460 

This pull request makes the development setup as documented in
https://github.com/hiddewie/OpenRailwayMap-vector/blob/podman-support/SETUP.md
work both with Docker as well as Podman.

See https://podman.io/docs/installation

Changes:
- Resolve DNS resolver within proxy container automatically from
`/etc/resolv.conf`.
- Document Podman support
- Move SSL port from 443 to 8443 to make it non-privileged 

I do not plan to add tests to verify the Podman integration, this
support will be on a best effort basis.

The biggest issue that I cannot solve is the sending of a large context
to the Podman builder when building the images. This makes the builds
slow, but they do work.

UI with Podman Desktop:
<img width="1258" height="867" alt="image"
src="https://github.com/user-attachments/assets/aa24ba46-754a-420c-8f41-f52a9f5ad796"
/>
Fixes #569

This pull request stacks the icon for a single signal using the height
of each icon below. This leaves exactly the same gap between each icon.

Changes:
- Read all icons to parse their width/height for use in offset
calculations during the import
- Offset signal icons using the height of the signals below
- Compress some SVGs which could not be parsed for width/height
- Generate some missing IT signals that did not have icons --> Extracted
to #582
Main/dwarf signals with shunting light add-on, and main signals with
block marker add-on were not configured correctly.

(https://openrailwaymap.app/#view=15.6/51.859503/5.270863&style=signals)
Before:
<img width="1430" height="1112" alt="image"
src="https://github.com/user-attachments/assets/bd1a4de0-5c5d-4838-a03a-323849ac7d47"
/>
After:
<img width="1430" height="1112" alt="image"
src="https://github.com/user-attachments/assets/552d3789-08b2-4e0d-a32b-b8adcae57bb6"
/>

(https://openrailwaymap.app/#view=16/52.305968/6.932672&style=signals)
Before:
<img width="1371" height="530" alt="image"
src="https://github.com/user-attachments/assets/62b2d917-3da6-46de-a7f0-aa26b33c6796"
/>
After:
<img width="1371" height="530" alt="image"
src="https://github.com/user-attachments/assets/8f810579-6342-4ac2-9b57-1a0eae584bc9"
/>
Part of #484

Currently icons are shown for unknown signal types, e.g. an unknown main
signal.

However, signals that do not have a signal type are not shown on the map
at all. This pull request renders the unknown signal type for those
signals.

In Poland there are 616 such signals, of the 44126 total signals. For
example https://www.openstreetmap.org/node/278819312.

(http://localhost:8000/#view=16.9/49.741497/18.623642&style=signals):
<img width="2070" height="1030" alt="image"
src="https://github.com/user-attachments/assets/53fb013a-707c-4e44-971c-1cf8044e2fd6"
/>
There are two kinds of crossing signals of German infra manager AVG:
- crossing signal
[`railway:signal:crossing=DE-AVG:bü200`](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Acrossing%22%3D%22DE-AVG%3Ab%C3%BC200%22+global&R)
([example](https://www.openstreetmap.org/node/1636970608))
- distant crossing signal
[`railway:signal:crossing_distant=DE-AVG:bü200v`](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Acrossing_distant%22%3D%22DE-AVG%3Ab%C3%BC200v%22+global&R)
([example](https://www.openstreetmap.org/node/2574283718))

Both were conflated before so that none of them were rendered on the
map.

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Followup on #574.

Ref
#549 (comment)

Currently OpenRailwayMap is unreachable on https://openrailwaymap.app/
because Cloudflare proxies to port 443 and not to 8443.
Fixes #526

Reverse the left/right signal position if the signal direction is
backwards.

Display a tooltip in the popup explaining the signal position.

Node https://www.openstreetmap.org/node/493675123,
http://localhost:8000/#view=18.79/52.4882436/13.3722984&style=signals:

Before:
<img width="908" height="622" alt="image"
src="https://github.com/user-attachments/assets/180b5982-c77e-4e85-b97b-1b9de31097eb"
/>

After:
<img width="684" height="465" alt="image"
src="https://github.com/user-attachments/assets/a85123a4-b0cc-42d7-ba6f-3e5bd97944b5"
/>

With tooltip:
<img width="557" height="397" alt="image"
src="https://github.com/user-attachments/assets/b6e0fbf0-18ba-4be5-a6e8-b53d8079cb74"
/>
The cursor shows as a "help" cursor while hovering the label for signal
position.
Fixes #575

Always import `railway = platform`.

For `public_transport = platform`:
- Always import if `train = yes`
- Always import if `tram = yes`
- Always import if `subway = yes`
- Always import if `light_rail = yes`
- Else, do not import if any of `bus = yes` or `trolleybus = yes` or
`share_taxi = yes` or `ferry = yes`.



Also see
https://taginfo.openstreetmap.org/tags/public_transport=platform#combinations

(https://openrailwaymap.app/#view=18.46/52.5287048/13.3768069)
Before:
<img width="1099" height="829" alt="image"
src="https://github.com/user-attachments/assets/ea1c003d-e516-49c6-a12d-2bff5bf5b0a1"
/>

After:
<img width="1281" height="759" alt="image"
src="https://github.com/user-attachments/assets/495a08ce-15e4-4a6c-85dd-d03391061784"
/>
Translate it to GB instead.

Before:
<img width="485" height="333" alt="image"
src="https://github.com/user-attachments/assets/72097f8b-ad8c-4ec6-9321-2c6c0eeb0aa2"
/>

After:
<img width="485" height="333" alt="image"
src="https://github.com/user-attachments/assets/0eadac30-5457-4eee-91ed-3721d7fc522a"
/>
Fixes #585 

Currently only station nodes are joined with stop areas.

This PR will also import stations mapped as ways, and allow them to be
joined in stop area "bubbles"

(https://openrailwaymap.app/#view=16.71/-33.874899/151.208629)
Before:
<img width="1430" height="1111" alt="image"
src="https://github.com/user-attachments/assets/bb98a6fb-8d63-409d-859c-69ab8768eec6"
/>

After:
<img width="1430" height="1111" alt="image"
src="https://github.com/user-attachments/assets/a0296165-a273-4102-94be-d6fd18ea4bd8"
/>
Fixes #554

Documentation in
https://wiki.openstreetmap.org/wiki/Relation:public_transport#public_transport.3Dstop_area_group.

Hannover Hauptbahnhof
(http://localhost:8000/#view=16.12/52.377561/9.743367):
<img width="1155" height="727" alt="image"
src="https://github.com/user-attachments/assets/be8949fa-57f5-474c-b467-6dff9945ad37"
/>

Hamburg (http://localhost:8000/#view=15.2/53.552922/10.008825):
<img width="1155" height="727" alt="image"
src="https://github.com/user-attachments/assets/be7405ba-8cdd-442c-926e-286c54e1642b"
/>

Leipzig (http://localhost:8000/#view=15.71/51.345353/12.382657):
<img width="1155" height="727" alt="image"
src="https://github.com/user-attachments/assets/498cbaa9-4356-46b5-8142-873c8da62eb3"
/>

Magdeburg (http://localhost:8000/#view=17.11/52.13075/11.627597):
<img width="1188" height="879" alt="image"
src="https://github.com/user-attachments/assets/d1762be1-3461-4535-8a21-2fc3a81de3b9"
/>
Fixes #310

The derailer and buffer stop receive a slightly dark red color.

Derailer and buffer stop and their signals will only be visible from
zoom 16.

Tested in
http://localhost:8000/#view=17.39/51.350645/12.394897&style=signals:
<img width="1010" height="700" alt="image"
src="https://github.com/user-attachments/assets/9b8c1b63-00a3-4a7d-9963-1192e47b12dc"
/>
<img width="1010" height="700" alt="image"
src="https://github.com/user-attachments/assets/2a294fc0-81af-4bea-a6a5-d9565ad44a64"
/>
For some reason the halo and hover of the signals became almost black.
For the railway lines and text labels this is fine, but for the signals
a more clear halo is nicer.


(http://localhost:8000/#view=17.22/48.629921/9.343935/-76.9&style=signals):

Before:
<img width="1586" height="381" alt="image"
src="https://github.com/user-attachments/assets/5f68fe35-42d6-4f52-92e3-1c453d3afaf1"
/>


After:
<img width="1586" height="381" alt="image"
src="https://github.com/user-attachments/assets/0f866d28-391c-42a0-b4f9-eff723be59c7"
/>
the Australian community is slowly developping a tagging scheme for
signals, this PR adds [NSW - Sydney
Metro](https://osm.wiki/Australian_Tagging_Guidelines/Railways#NSW_-_Sydney_Metro),
which is the first system with a proper tagging schema.

<img width="300" alt="image"
src="https://github.com/user-attachments/assets/04d9a46e-b267-4af4-b81d-3b3064c4b987"
/>


<img width="400" alt="image"
src="https://github.com/user-attachments/assets/4d34ce8f-ebfc-456a-940e-06cd5d57c82b"
/>

Co-authored-by: Hidde Wieringa <[email protected]>
Hi, I've (finally) created graphics for tram signs in Poland - some of
them should appear in a short time in OSM database. (AT-3 and AT-4 signs
aren't yet rendered since we still have discussion for slope/incline
signs tagging). The city's default switch signs have no standarisation
in PL legislation thus I've used the `PL-tram:switch_<city>` template.

Wiki:
https://wiki.openstreetmap.org/wiki/Pl:OpenRailwayMap/Tagging_in_Poland/Other_lines#Tramwaje

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Fixes #594 

This requires the station to have a correctly tagged `stop_area`
relation including both the station and the platforms.

Some stations become rather long, but this should not really be a
problem I think.

(http://localhost:8000/#view=17.8/54.51612/13.638059):
<img width="1130" height="746" alt="image"
src="https://github.com/user-attachments/assets/c5f8a403-00c6-4d51-8929-b0776e22fb7a"
/>

(http://localhost:8000/#view=16.26/53.016288/13.995449):
<img width="1012" height="928" alt="image"
src="https://github.com/user-attachments/assets/0bdb21b7-59cc-4c20-a0be-8592c9faed53"
/>

(http://localhost:8000/#view=16.86/52.498425/13.271625):
<img width="1365" height="709" alt="image"
src="https://github.com/user-attachments/assets/8a3c0b76-73a4-4b45-b52a-e4705f38b89e"
/>

Heidelberger Platz looks great
(http://localhost:8000/#view=16.95/52.479905/13.312576):
<img width="1177" height="1058" alt="image"
src="https://github.com/user-attachments/assets/990c2369-efa8-4d7a-af95-ee9893605c07"
/>
Adds severals well-established signals of the `railway:signal:switch`
category which has not been supported yet.

**Switch signal W 0 through W 14 (general use)**
-
[documentation](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Weichensignale_(W))
(and [for W
0](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Allgemein))
- [440
instances](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Aswitch%22%3D%22DE-BOStrab%3Aw%22+global&R)
in OSM, [example](https://www.openstreetmap.org/node/13097176655)
- Graphics are based on the `BOStrab:f` signal which similarly is
usually a "traffic light" with several signal aspects.

**Switch signal W 14 as a sign**
-
[documentation](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Weichensignale_(W))
- [144
instances](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Aswitch%3Astates%22%3D%22DE-BOStrab%3Aw14%22+global&R)
in OSM, [example](https://www.openstreetmap.org/node/13097176640)

**Switch signals W 0 through W 15 in the city of Karlsruhe**
-
[documentation](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Weichensignale_(W)_2)
- [79
instances](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Aswitch%22%3D%22DE-VBK%3Aw%22+global&R)
in OSM, [example](https://www.openstreetmap.org/node/1481190889)

**Switch distant signal Wv 0/1 in the city of Karlsruhe**
-
[documentation](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Weichenvorr%C3%BCcksignal_(Wv))
- [35
instances](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Aswitch%22%3D%22DE-VBK%3Awv%22+global&R)
in OSM, [example](https://www.openstreetmap.org/node/4121736593)

**Signal contact sign St 1**
-
[documentation](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Signalkontakt_(St_1))
- [130
instances](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Aswitch%22%3D%22DE-BOStrab%3Ast1%22+global&R)
in OSM, [example](https://www.openstreetmap.org/node/1633043598)

**Switch contact sign St 2**
-
[documentation](https://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging_Trams_in_Germany#Weichenkontakt_(St_2))
- [88
instances](https://overpass-turbo.eu/?w=%22railway%3Asignal%3Aswitch%22%3D%22DE-BOStrab%3Ast2%22+global&R)
in OSM, [example](https://www.openstreetmap.org/node/13097176654)

---------

Co-authored-by: Hidde Wieringa <[email protected]>
Fixes #599 

Current implementation uses the AWS Terrarium open data set from
https://registry.opendata.aws/terrain-tiles/.

Hillshading is used until zoom 15, after that will become a bit more
blurry.

Default disabled.

TODO:
- [x] Add layers
- [x] Tune parameters for a good look (light and shadow and highlight)
- [x] Check attribution and licencing
- [x] Test with both raster and vector tiles
- [x] Make usage of hillshading optional
- [x] Test with terrain mode (3D) -- will not be added
Corrected description and tagging of distant stop icons

---------

Co-authored-by: Hidde Wieringa <[email protected]>
This PR adds all light-rail signals
([osmwiki](https://osm.wiki/Australian_Tagging_Guidelines/Railway_Signals)),
except speed signs and switch signals – I'll add those in a different PR
after there's a conclusion to this thread:
#595 (comment)

<img width="84" height="97" alt="image"
src="https://github.com/user-attachments/assets/3814eddd-0142-4b80-9166-b50f595a7e82"
/>

<img width="138" height="103" alt="image"
src="https://github.com/user-attachments/assets/23b61d10-365e-48fb-9302-5610c1323f50"
/>
<img width="248" height="226" alt="image"
src="https://github.com/user-attachments/assets/55b9e9c0-8873-4b57-9ee9-9ddf30e0597d"
/>
<img width="111" height="297" alt="image"
src="https://github.com/user-attachments/assets/6a68688c-3dbd-4d2d-a31d-0a4c2c621d4b"
/>
<img width="147" height="293" alt="image"
src="https://github.com/user-attachments/assets/54abcd08-941f-4b18-bbfd-353e3cf7c571"
/>
<img width="270" height="311" alt="image"
src="https://github.com/user-attachments/assets/20161d68-4296-4d43-88e7-59daa42ab9ba"
/>
<img width="201" height="286" alt="image"
src="https://github.com/user-attachments/assets/1559ba83-92de-43a7-b168-33dcc26ca27f"
/>
<img width="218" height="330" alt="image"
src="https://github.com/user-attachments/assets/25e5b1b7-d847-4389-8acf-718a6a7159a9"
/>
<img width="1" height="1" alt="image"
src="https://github.com/user-attachments/assets/62423241-3987-4ad5-8cd7-dedef3236ced"
/>

tested
[here](http://localhost:8000/#view=14.89/-33.87949/151.20546&style=signals)
and
[here](http://localhost:8000/#view=13.94/-33.80815/150.99553&style=signals)

the signals look a bit weird, but they are actually oblong-shaped
([photo](https://github.com/user-attachments/assets/62423241-3987-4ad5-8cd7-dedef3236ced))
Fixes #611

During #580 the deactivated got lost for these zoom levels.

(http://localhost:8000/#view=14.73/49.29694/10.58621&style=signals):
<img width="731" height="425" alt="image"
src="https://github.com/user-attachments/assets/f52588c0-f1a9-43f0-b081-e5a179f9a6a5"
/>
Fixes #499

Part of #498 

Import tags of the form `railway:position:exact:LINE`, for example
`railway:position:exact:L124 = 7.721` and `railway:position:exact:L26/5
= 1.489`.

Additionally, the API can search for milestones with a position specific
to a line.

Documentation:
https://wiki.openstreetmap.org/wiki/Key:railway:position:exact

Taginfo:
https://taginfo.openstreetmap.org/search?q=railway%3Aposition%3Aexact.
This is used in China and Belgium (and possibly other countries that I
did not find).

Overpass query of nodes in Belgium using exact positions for lines:
https://overpass-turbo.eu/s/2dSo

Brussels (http://localhost:8000/#view=12.99/50.89768/4.42738):
<img width="1038" height="684" alt="image"
src="https://github.com/user-attachments/assets/20fd60c1-23aa-4a95-a1e5-56d511202ebe"
/>
Fixes #466

Currently only the infrastructure and electrification layers show
disused railway lines.

The other styles do not show them at all.

### Testing

Bielefeld (http://localhost:8000/#view=12.53/52.02747/8.56201)

Infrastructure
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/3f9f3f9c-cfa8-4c3e-b857-cda559b98fbb"
/>

Speed
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/ce156431-30fe-4d99-9674-4255fa3f7af3"
/>

Train protection
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/fd3541ae-69eb-4279-9709-b0c3c3de8278"
/>

Electrification
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/0ea9bb2a-3465-45cd-a467-0b71b7fe169e"
/>

Gauge
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/6bed66a7-a146-4658-8d18-7b64528e01e2"
/>

Loading gauge
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/9eb28c82-a890-4191-996e-a0653b38c2ec"
/>

Track class
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/a199d867-0547-463f-a684-3ebf80e6e7ba"
/>

Operator
<img width="1431" height="1113" alt="image"
src="https://github.com/user-attachments/assets/856e716a-e55b-4484-92f1-6a731b74da75"
/>
Fixes #615

(http://localhost:8000/#view=18.11/50.893004/4.314001):

Before:
<img width="1433" height="852" alt="Image"
src="https://github.com/user-attachments/assets/bbc1dc07-8e57-4a72-a9df-1956f6e5f353"
/>

After:
<img width="1433" height="852" alt="image"
src="https://github.com/user-attachments/assets/aa6148e2-d074-4bad-a410-9386fe1a7407"
/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.