gravitystorm / openstreetmap-carto

A general-purpose OpenStreetMap mapnik style, in CartoCSS
Other
1.52k stars 814 forks source link

Problems with highway=raceway: inconsistent line width, no casing, odd color, illegible at low zoom #3852

Open jeisenbe opened 4 years ago

jeisenbe commented 4 years ago

Expected behavior

See https://wiki.openstreetmap.org/wiki/Tag:highway=raceway - A racetrack for motorised racing, eg cars, motorbikes and karts.

Actual behavior

Links and screenshots illustrating the problem

Tir Prince raceway, northern Wales

z17 z17-tir-prince-raceway-before

z16 z16-tir-prince-raceway-before-16:53 3042:-3 5304

z15 z15-tir-prince-raceway-before

z14 z14-tir-prince-raceway-before

z13 z13-tir-prince-raceway-before

z12 - 2 large ovals visible center and west side, also see tiny pink dot in northeast, and see northwest side. z12-rhyl-raceways-before-12:53 3388:-3 3922

Presthaven raceway (for go-karts?) - size of a mini-golf course (see z17)

http://www.openstreetmap.org/#map=15/53.3497/-3.3511 z14 - small pink area? z14-presthaven-raceway-before z15 z15-presthaven-track-before-15:53 3497:-3 3511 z16 z16-presthaven-track-before z17 - now it's finally intelligible as a raceway. z17-presthaven-track-before-15:53 3497:-3 3511

matkoniecz commented 4 years ago

highway=raceway should be clearly related to roads, or possibly somewhat related to leisure=track rendering

color is pink, which is odd compared to similar features

For me it seems that raceway is closer to theme parks/retail/tourism attractions than to for example residential road or motorway. It is used for entertainment rather than for a transportation.

Prince-Kassad commented 4 years ago

Maybe we can use way_pixels to inhibit smaller racetracks on low zoom levels. I think it's beneficial to have e. g. Nürburgring https://www.openstreetmap.org/#map=12/50.3740/7.0354 show up on z12, but I understand that small racetracks e. g. for kart racing or motocross can be problematic. Since racetracks are by definition not routable it should not be a problem to make them disappear.

matkoniecz commented 4 years ago

Maybe we can use way_pixels to inhibit smaller racetracks on low zoom levels.

As usually, not feasible with raw unprocessed ways. Long way may be split into many short ones due to changing attributes.

pnorman commented 4 years ago

How are raceways typically shown on other maps?

cc @rwelty1889

Prince-Kassad commented 4 years ago

Google Maps doesn't show raceways at all - Nürburgring is completely missing there.

My old printed map "Germany 1:250 000" from 2002 shows raceways the same as highway=secondary.

jeisenbe commented 4 years ago

printed map "Germany 1:250 000" from 2002 shows raceways the same as highway=secondary

Is that only done for motorcar raceways, or are motocross and kart raceways also shown in the same style?

A large percentage, probably a majority, of highway=raceway are for karts or motorbikes, and these are usually much smaller than Formula 1 or NASCAR raceways for motorcars.

jeisenbe commented 4 years ago

I researched if there were any tags we could use to adjust the rendering.

Since raceways are occasionally broken up into multiple OSM ways, we should not rely on the length of the way or the size of the bounding box to determine the rendering (without first preprocessing ways) - we wouldn't want to discourage mappers from breaking a raceway into smaller segments to tag more details.

Width= is rarely used, less than 1000 times out of 25,000 highway=raceway features. However, `sport=is used over 10,000 times, on over 42% of the features. Most ways are tagged withsport=motor(6551), but there are 1486 ways withsport=kartingand 1417 withsport=motocross, 114 withsport=rc_car- (which must look quite bad in the current rendering). There are also 113 withsport=motor;karting(for example: https://www.openstreetmap.org/way/662114219) and 101 withsport=motor;motocross, and 100 with undocumentedsport=speedway`.

There are also a few uses with non-motorized sports like sport=horse_racing/running/cycling/speed_skating/toboggan etc. - note that 1200 highway=raceway are dual-tagged with leisure=track

Unfortunately, the most common tag, sport=motor, is used for auto racing and also motocross, karting, etc - so it does not confirm that the track is long or wide (For example, https://www.openstreetmap.org/way/511229695 - apparently a karting raceway?). But the other main tags, sport=motocross, sport=karting, and sport=rc_car are always smaller tracks, especially the later two, so we could consider rendering these differently.

The surface=* tag is also fairly common, but improving this should be considered separately.

jeisenbe commented 4 years ago

Here are some examples of how highway=raceway is rendered in a couple of vector map styles, from the maps.me and OsmAnd apps.

I took screenshots on my phone, and then reduced the resolution by 50% (because these were "retina" resolution) so that they will look more similar to our current standard-resolution rendering.

maps.me

OsmAndMaps

There are 6 styles, one of which closely imitates this style (though it's a bit out of date), and another which does not show highway=raceway, but the others are worth checking, since most are somewhat similar to this stylesheet.

OsmAnd (style) - yellow fill with heavy brown casing (similar to tertiary)

OsmAnd-style-1 OsmAnd-style-2

UniRS - pink fill with brown casing

OsmAnd-UniRS-1 OsmAnd-UniRS2

Touring - yellow-orange fill with brown casing (between tertiary and secondary)

OsmAnd-Touring-1 OsmAnd-Touring-2

Offroad - near-white with heavy brown casing

OsmAnd-Offroad-1 OsmAnd-Offroad-2

Current rendering for comparison

Wamena (motocross raceway, about 200m x 300m) z13 z13-wamena-raceway-current

z14 z14-wamena-raceway-current

z15 z15-wamena-raceway-current

z16 z16-wamena-raceway-current

matkoniecz commented 4 years ago

100 with undocumented sport=speedway.

I created https://www.openstreetmap.org/note/1902000 and some other to trigger either documenting or fixing tagging

jeisenbe commented 4 years ago

I tried to find how raceways are rendered in the Ordnance Survey key / legend, but they don't appear. They are also missing from the French IGN topo map key / legend.

But the USGS Topo map legend shows that they are rendered either as a wide solid gray line, or a double line (casing) with white center: raceway-USGS-topo-map-legend

Here's how other roads / highways and paths are rendered on USGS maps for comparison: USGS-map-legend-roads

boothym commented 4 years ago

@matkoniecz regarding your note - I'd say that speedway is different to motocross and does add something to that raceway https://en.wikipedia.org/wiki/Motorcycle_speedway

I would agree with changing the rendering level for kart tracks based on sport=karting so it doesn't look like a pink blob at z12.

One thing I did just notice is that iD offers to "upgrade" highway=raceway tags to add sport=motor, which it really shouldn't do as there are other sports it could be.

jeisenbe commented 4 years ago

speedway is different to motocross and does add something to that raceway https://en.wikipedia.org/wiki/Motorcycle_speedway

@boothym - Thank you for bringing that up. Could you check if most of the features currently tagged with sport=speedway are motorcycle speedways, at least in your area? I believe "speedway" might also be used for automobile raceways in some countries like the USA and Australia; see for example "Indianapolis Motor Speedway" used for the Indycar 500 and NASCAR events and https://en.wikipedia.org/wiki/Oval_track_racing, or search for "Speedway" in Australia.

iD offers to "upgrade" highway=raceway tags to add sport=motor, which it really shouldn't do as there are other sports it could be.

Re: iD, do you have time to open an issue at https://github.com/openstreetmap/iD/issues about offering sport=karting and sport=motocross as options in addition? Maybe they will invent a sport=auto_racing tag too. ;-) (Joking - it would be best to discuss that on the Tagging list first)

rwelty1889 commented 4 years ago

On 8/30/19 7:01 PM, jeisenbe wrote:

speedway is different to motocross and does add something to that
raceway https://en.wikipedia.org/wiki/Motorcycle_speedway

@boothym https://github.com/boothym - Thank you for bringing that up. Could you check if most of the features currently tagged with |sport=speedway| are motorcycle speedways, at least in your area? I believe "speedway" might also be used for automobile raceways in some countries like the USA and Australia; see for example "Indianapolis Motor Speedway" used for the Indycar 500 and NASCAR events and https://en.wikipedia.org/wiki/Oval_track_racing, or search for "Speedway" in Australia.

there are huge numbers of auto racetracks in the US which have Speedway in their names. i would not even attempt to estimate the number.

richard

-- rwelty@averillpark.net Averill Park Networking - GIS & IT Consulting OpenStreetMap - PostgreSQL - Linux Java - Web Applications - Search

jeisenbe commented 4 years ago

there are huge numbers of auto racetracks in the US which have Speedway in their names. i would not even attempt to estimate the number.

True, but that doesn't seem to be the problem.

I checked with overpass-turbo, and there are 32 highway=raceway ways in the United Kingdom with sport=speedway (30 in England), 8 in Denmark, 6 in Sweden, 3 in Norway, 1 in Australia, and only 3 in the USA, so England is the main site of usage, and then Scandinavia but it's still rare there. There were only 100 globally.

boothym commented 4 years ago

@jeisenbe I've fixed the ones in the USA which were wrongly tagged, and there seems to only one actual speedway venue in the USA according to wikipedia.

Elsewhere there may also be some which are both for both speedway and stock cars. There were some tagged leisure=track but annoyingly highway=raceway doesn't seem to get rendered on a multipolygon relation like leisure=track does, so nothing shows up.

I've opened an issue with iD: https://github.com/openstreetmap/iD/issues/6826

Going back to the OP:

Since motorsport venues generally have grass around the racetrack - if that is mapped in OSM or a pitch/sports_centre tagged around it, then the mixture of pink v green isn't great, especially with no casing. For example, Silverstone: https://www.openstreetmap.org/#map=15/52.0710/-1.0170

Another example where the karting doesn't become visible as more than a blob until z15/16: https://www.openstreetmap.org/#map=16/56.1289/-3.5055 - perhaps the sport=karting tag can prevent it from rendering until then?

For sport=motocross, could a dashed outline be added to show it's unpaved? Could a casing be added for sport=motor and surface=asphalt?

jeisenbe commented 4 years ago

Thank you, @boothym.

highway=raceway doesn't seem to get rendered on a multipolygon relation

Yes, we render highway=raceway like almost all other highway features, as a line only. The only features rendered as areas are highway=pedestrian with area=yes and similar features that can represent squares or plazas. It's recommended to map the surface area of the raceway with area:highway=raceway if at all, according to the wiki page.

perhaps the sport=karting tag can prevent it from rendering until then?

This is a reasonable idea.

could a dashed outline be added to show it's unpaved? Could a casing be added for sport=motor and surface=asphalt?

There is a PR in the works to adjust the rendering of all highway features for unpaved surface=* values, see #3399

HolgerJeromin commented 4 years ago

Color should be not too obtrusive

What about rendering them similar to an access=private highway. Both have many things in common.

jeisenbe commented 4 years ago

A similar rendering to private highways could be tried, but it should not be identical. There can be a private service road which connects to a raceway (to allow service vehicles to access the raceway), and this should be distinguished from the raceway itself.

matkoniecz commented 4 years ago

Note also #1688 about tunnels and bridges on a raceway