logo separator

[mkgmap-dev] Road speed through urban areas

From Fernando Trebien fernando.trebien at gmail.com on Sun Jul 19 02:17:48 BST 2020

On Thu, Jul 16, 2020 at 7:52 AM Ticker Berkin <rwb-mkgmap at jagit.co.uk> wrote:
> Hi all
>
> Various points and ideas:
>
> I think that testing for admin level boundaries is trivial provided you
> are using --bounds=..zip. So, for country XXX, could add the following
> to inc/roadspeed:
>   mkgmap:country=XXX & mkgmap:admin_level8=* {set
> mkgmap:road-speed=-1}
> However, I haven't looked at the
> bounds/admin_level topic in any detail.

If you do, note that querying boundary=administrative would not really
help the situation much, as this is used for administrative areas that
generally include both urban and rural areas of such entities. What I
am suggesting is support for the relatively new boundary=urban, [1]
which has not yet been widely used, but, by definition, represents
(most often almost exactly) the boundary between the urban and the
rural part of administrative entities (such as municipalities). It is
at this boundary that average speeds tend to drop. An alternative to
boundary=urban is place=* on areas, [2] specifically the values of
place=* that represent the boundaries of urban settlements. [3]

So, for example, when mkgmap is processing OSM data and finds a
secondary road (highway = secondary), it can (1) check that the way
does not have mkgmap:fast_road=yes, then (2) query urban boundaries to
find out if it lies within any boundary=urban and, if both are true,
(3) apply some speed reduction (say, 0.5 * maxspeed) to better
estimate the average speed. This would result in a preference for
bypassing cities on the outside and for following main routes instead
of finding slow shortcuts through busy urban streets.

For sure there would be situations where this will not produce an
optimal result, but I think that on average it would improve routing.
It is surely not as accurate as collecting real average speeds, but as
the urban boundary is usually obvious to mappers from satellite images
(and sometimes official data sources exist), it reduces the need for
maxspeed:practical, which presents many issues to the mapping
community. [4] It also saves a lot of mapping work.

[1] https://wiki.openstreetmap.org/wiki/Tag:boundary%3Durban
[2] https://wiki.openstreetmap.org/wiki/Key:place#Mapping_populated_places_as_areas
[3] https://wiki.openstreetmap.org/wiki/Key:place#Populated_settlements.2C_urban
[4] https://wiki.openstreetmap.org/wiki/Proposed_features/Practical_maxspeed


[1] https://wiki.openstreetmap.org/wiki/Proposed_features/Practical_maxspeed

--
Fernando Trebien


More information about the mkgmap-dev mailing list