osm-americana / openstreetmap-americana

A quintessentially American map style
https://americanamap.org
Creative Commons Zero v1.0 Universal
183 stars 59 forks source link

Render railway stations #790

Closed wmisener closed 1 year ago

wmisener commented 1 year ago

Railway stations can be major landmarks in big cities and small towns alike across America, making them in some sense community anchor institutions (#435) and certainly a POI the project should render (#692). After the rendering of railroad tracks (#101) and some discussion of highlighting passenger routes (#745), I thought I'd spin off this issue to discuss and track rendering the stations specifically.

These icons should probably be purple, befitting their status as transportation hubs. Different maps use different symbologies. There are quite a few examples of different choices in the track samples of #101, some of which I'll re-post here. European OSM maps like Carto use a simple square. This befits a rail station's importance, and a simple symbol along the track is similar to what is used on some American maps, at least at a state-wide scale level.

When zoomed further in to a city scale, I'm personally thinking that a plain square is not sufficient/desirable. One possibility is to riff on the MUTCD rail shield: image A shielded train station symbol would have a nice synergy with a shielded bus station rendering proposed in #436. The MUTCD symbol contains a platform, but other maps use just the train on tracks, like iD/temaki:

Even an old-timey steam train symbol would probably be recognizable as a station icon, if a bit hokey:

In the future, we could even consider rendering the rail operator's brand symbol. On US maps, for example, the Amtrak logo is a fairly ubiquitous symbol for rail stops. But a non-specific default should probably be established first.

1ec5 commented 1 year ago

One possibility is to riff on the MUTCD rail shield

This symbol isn’t unique to the MUTCD. Similar symbols appear in wayfinding signs at airports, train stations, and bus stations. Some public transportation agencies use these symbols instead of fancy logos to represent their individual services.

Civic Center

Downtown Mountain View

If we use an icon that depicts a train, then it would be helpful to distinguish between different kinds of trains, particularly heavy rail/commuter rail versus light rail, and maybe also subways. On the other hand, the traditional OSM distinction between stations and halts really doesn’t matter in the context of North American passenger rail; we’d probably only want that to influence filtering at different zoom levels.

wmisener commented 1 year ago

I agree that the distinctions that make the most sense to me from a US perspective are (a) heavy/commuter rail, (b) subways, and (c) light rail/trams. I think (a) a large rail train, (b) a subway-style train in some sort of tube, and (c) a train with a pantograph would be recognizable and understandable distinguishing icons for the three, despite all the obvious caveats (some subways aren't in tubes, some commuter and light rail lines are, etc).

Unfortunately (and I'm not that experienced with OMT so someone please correct me if I'm missing something), I don't think the tiles distinguish light rail stations from other rail stations. For the railway class, the tiles appear to contain the subclasses subway (looks like railway=station+station=subway), tram_stop (railway=tram_stop), and station (all other railway=station, regardless of the presence of station=light_rail or other more unusual station values like monorail).

I don't think railway=halt comes through at all, though I agree for our purposes that they should at first brush render identically to the stations of a given mode.

wmisener commented 1 year ago

Meant to add, in my opinion the distinction between trams and light rail is not well defined in a US context, so I'd be comfortable rendering them identically in this project. That is, the symbol for railway=tram_stop and railway=station+station=light_rail would be the same.

wmisener commented 1 year ago

A conceptual proposal: to distinguish transport from other POI types, I suggest using a circular badge to represent train and other transport stations:

(Note: the icon itself is just a quick mockup I made riffing off the Temaki icon. It probably needs to be modified, with different icons for each mode)

The reason I suggest this is that circles are commonly used to denote train stations in urban-scale maps, both in the context of actual train system diagrams (e.g. NYC subway, LA Metrolink commuter rail, Dallas DART light rail, Amtrak national network) and in print maps of urban areas with subways.

If we use squares to represent other POI icons (e.g. hospitals), it might be good to have transport stations distinguished by shape as well as by color.

wmisener commented 1 year ago

As an aside, now that aerialways are magenta as of #755, it's unclear to me whether magenta, "airport"/"transport" purple, or another similar shade is the most appropriate for other transport features.

claysmalley commented 1 year ago

Unfortunately (and I'm not that experienced with OMT so someone please correct me if I'm missing something), I don't think the tiles distinguish light rail stations from other rail stations. For the railway class, the tiles appear to contain the subclasses subway (looks like railway=station+station=subway), tram_stop (railway=tram_stop), and station (all other railway=station, regardless of the presence of station=light_rail or other more unusual station values like monorail).

I don't think railway=halt comes through at all, though I agree for our purposes that they should at first brush render identically to the stations of a given mode.

subclass is populated by the value of the railway tag, so station, halt and tram_stop are passed through directly. subclass=subway, however appears to be populated by station=subway in OSM. It would be helpful for OpenMapTiles to support other documented values of station=*, namely light_rail, monorail, and funicular: openmaptiles/openmaptiles#1517

in my opinion the distinction between trams and light rail is not well defined in a US context, so I'd be comfortable rendering them identically in this project.

The distinction between trams and light rail is fuzzy worldwide. But my understanding is that stations are modeled differently: tram stops are mapped individually like bus stops, and light rail stations are mapped as groups of stops like subway stations. For each transit system, it's a judgment call whether whole stations or individual stops are more worth highlighting on maps, but it should be kept consistent across the whole system.

As an aside, now that aerialways are magenta as of https://github.com/ZeLonewolf/openstreetmap-americana/pull/755, it's unclear to me whether magenta, "airport"/"transport" purple, or another similar shade is the most appropriate for other transport features.

The intent was for aerialway magenta to be used for public transit features. Airports are not necessarily passenger facilities, but aerial lifts almost always are.

Pengor commented 1 year ago

The shape of the icon outline doesn't matter too much to me as long as they're consistent between transit modes. I think you're on the right track (heh) with the mocked up train icon, it definitely fits with iconography used by my regional transit agency (Sound Transit) to indicate different transit modes: web-brand-icons-all.png https://www.soundtransit.org/get-to-know-us/our-brand/graphic-elements

1ec5 commented 1 year ago

One potential issue with putting the icon of any POI in a circle is that the user will intuitively expect to be able to click on it for more information. This is especially the case if the icon is filled in a darker color or given a faux 3D appearance. (I don’t think our New Jersey state route icon, for instance, cries out to be clicked.) A square or diamond doesn’t have this issue, purely because online maps haven’t typically used squares for interactive map elements. Of course, we could mitigate this issue by actually hooking up the icon to a click handler: https://github.com/ZeLonewolf/openstreetmap-americana/issues/76#issuecomment-1058521292.

wmisener commented 1 year ago

The intent was for aerialway magenta to be used for public transit features. Airports are not necessarily passenger facilities, but aerial lifts almost always are.

@claysmalley do you think you could add the shade you used to the Contributing Guidelines? Maybe the purple should be in a new "Air" category, with magenta replacing it for "Transport"