To account for signs like the following:
Maybe like on a city boundary, set a default maxspeed?
I’m guessing the city at hand would be Maple Ridge, British Columbia - Wikipedia?
In that case, 50 km/h is actually the standard across the province.
As such, it suffices to mark the streets within city bounds with
maxspeed=50
maxspeed:type=CA-BC:urban
zone:traffic=urban
unless otherwise signposted. See also Key:maxspeed - OpenStreetMap Wiki
Is there an established and supported method to tag this on the city boundary somehow, to avoid having to update all roads within the bounds?
There have been some experiments, but nothing with any realistic hope of software support. There’s also a big table on the wiki envisioned as a source for routers to intelligently backfill missing speed limits on demand. For maintainability, the table is limited to national, state, and provincial laws, so it’s of limited use in the U.S., where local laws often matter just as much. This scraper turns it into something more digestible, but it has some limitations because many speed limit laws are vague and even subjective, not intended for machine readability.
There’s a relevant discussion in the StreetComplete project with respect to Austrian citywide speed limits and, since I was asked, American ones too. As in this case, cities in some U.S. states commonly post “citywide” speed limits that are redundant to the state’s laws about cities, but it’s still useful to explicitly distinguish this situation from cities that raise the citywide limit above the state norm, and of course from those “otherwise posted” limits.
So far, the most common approach in the U.S. and probably Canada is to simply tag every individual street with whichever speed limit applies to it. If you start by blanketing the city in speed limits before meticulously documenting all the exceptions, then maxspeed:type=*
is useful for clarifying the basis for tagging the speed limit in the first place. Otherwise, most mappers assume the street got individual attention and may unfortunately defer to whoever tagged it originally, despite more specific observations.
Not really. At least part of the issue is that the administrative boundary doesn’t necessarily define where the urban speed limit applies. Another issue is that zones are difficult to parse for consumers, which is why we tag all streets in e.g. 30-zones instead of its boundaries.
In the OP’s example, it literally does
Yeah, skimming through links posted by Minh suggests that’s more the reason. Though the type=defaults relation is beautiful in its own way…
@queenofthenightosphere It would be helpful to know the locations of these signs.
I would presume - as shown on the first image - that they are posted where the built-up area begins, not where the administrative boundary lies. The second image is less clear, so maybe that’s a counterexample, but then it would have to lie on (or at least near) the boundary line, probably somewhere between nothing and a forest.
Though the type=defaults relation is beautiful in its own way…
If it actually is the administrative boundary (or some other area), then that relation would probably be the closest thing to an answer for this given question.
I would presume - as shown on the first image - that they are posted where the built-up area begins, not where the administrative boundary lies.
They are both directly on the administrative boundary. The first is approximately at 49.185805,-122.4256713
, the second 49.22125,-122.4229315
.
I checked the area on OSM, and it’s all seems quite built-up, so either way, I’d be fine with it.
It’d be interesting to know, though, how the maxspeed
on Way: ‪Golden Ears Parkway‬ (‪339374042‬) | OpenStreetMap came to be. I looked at mapillary from last year, and found no related sign. Maybe it just needs updating.
I have asked before breaking it up before, for vehicle class definitions. Certainly it can be considered to create subpages of subdivisions, and municipalities? Talk:Default speed limits - OpenStreetMap Wiki
This table should’ve been a code repository all along. Fundamentally, cataloguing laws in machine-readable format requires an expressiveness that doesn’t come naturally to the OSM data model and a rigidness that doesn’t come naturally to wikitext. Wikidata could conceivably manage this data more effectively, since by definition none of this information is specific to OSM. However, it would still be overly complex for data consumers. A dedicated code repository would at least cut out the existing step of translating the wikitext into a router-ready lookup table. A side benefit would be the ability to scale up the dataset to cover more local speed limits and their sources.
Call it SSI, the Speed Suggestion Index
It’d be interesting to know, though, how the
maxspeed
on Way: ‪Golden Ears Parkway‬ (‪339374042‬) | OpenStreetMap came to be. I looked at mapillary from last year, and found no related sign. Maybe it just needs updating.
Thanks. I think a defaults
relation is the most appropriate way to tag the default speed limit.
I’ve walked portions of the road after the latest atmospheric river to update changes in the area as a result.
e.g. Photo from my OsmAnd notes: Imgur: The magic of the Internet
I have added the locations of some traffic signs along portions of the road, which can be found from this Overpass Turbo query.
A web based data mining tool for OpenStreetMap which runs any kind of Overpass API query and shows the results on an interactive map.
One challenge with mapping maxspeed in British Columbia is that there is no high quality authoritative data for roads and road metadata. In addition, most areas lack required signage and therefore create ambiguous situations. That’s why I generally don’t bother with mapping maxspeed unless it’s very obvious or it’s within a park.
For maintainability, the table is limited to national, state, and provincial laws, so it’s of limited use in the U.S
Arguably, entirely useless in the US. In just the states, excluding territories and tribal jurisdictions, there is a lower boundary of 22,694 different speed-limit-setting jurisdictions in the US. And the permutations on whose rules override what is basically incalculable. All you can really do is hope you have a relatively straightforward situation like Oregon does (Oregon DOT has final authority on all speed limits not on privately owned or federal property in the state, and more local jurisdictions must ask ODOT for adjustments, and Oregon DOT has an online system to verify speed limits statewide. So far Oregon’s the only state that seems to get “setting speed limits” even close to anything reasonable or straightforward.
In just the states, excluding territories and tribal jurisdictions, there is a lower boundary of 22,694 different speed-limit-setting jurisdictions in the US.
That sounds about right. According to American Legal Publishing, one of three major municipal code publishers, there are 13,102 municipal ordinances related to speed limits across the United States.[1] Some are redundant to state laws regarding municipal speed limits, but most override state laws either up or down, depending on the state’s need for speed. That’s a big wiki table.
I’m not sure defaults
relations would be much better. The closer you look at these ordinances, the more you realize they were written by English majors specializing in creative writing rather than Computer Science majors with a specialty in database design.
Set “Select document types to include” to “Codes Only” and “This exact phrase” to speed limit
, and enable “Find alternate word forms (stemming)”. ↩︎
The closer you look at these ordinances, the more you realize they were written by English majors specializing in creative writing rather than Computer Science majors with a specialty in database design.
I think English majors would look at most municipal codes and not recognize it as English and refer you to a Law major.