logo separator

[mkgmap-dev] documentation of new option in branch

From Gerd Petermann gpetermann_muenchen at hotmail.com on Tue Nov 5 09:18:47 GMT 2019

Hi all,

thanks for all the input. Here is my 2nd try:
--check-routing-island-len=INTEGER
        Routing islands are small road networks which are not connected to other
        roads. A typical case is a footway that is not connected to the main
        road network, or a small set of ways on the inner courtyard of a large
        building
        These islands can cause problems if you try to calculate a route and the GPS
        selects a point on the island as a start. It will fail to calculate the
        route even if a major road is only a few steps away. If this option is
        specified, then mkgmap will detect these islands. If the value is set to
        zero, mkgmap will simply report the islands (you will need to set
        uk.me.parabola.imgfmt.app.net.RoadNetwork.level=INFO to activate logging of
        the message). If the value is greater than zero, mkgmap will mark islands
        with a total length less than the specified value in metres as not routable.
        Reasonable values are 500 or higher.
        The default is for the check to not take place.
        If any of the roads forming the island touches a tile boundary or
        a country border the island is ignored, as it may be connected to other
        roads in a different tile.
        See also option --add-boundary-nodes-at-admin-boundaries.


As Arndt has pointed out there is a possible problem with the island detection when the input file doesn't cover the tile boundary.
This is quite normal. When you split eg. germany-latest.osm.pbf you'll get lots of tiles at the country boundary. Since Geofabrik
uses simplified polygons you will see many small islands next to the cutting polygon. These islands may be connected to the road network
in the neighbour country without touching the country border.
Of course this is also the case when you use a polygon in splitter (options --polygon-file or --polygon-desc-file).
So, I would not use this test for OSM quality checks (geofabric provides this in the routing view of OSM inspector).

Gerd

________________________________________
Von: Gerd Petermann <gpetermann_muenchen at hotmail.com>
Gesendet: Montag, 4. November 2019 18:17
An: Felix Hartmann
Betreff: AW: [mkgmap-dev] documentation of new option in branch

Hi Felix,

the number is about the total length of the roads in the island, measured in meters.

Gerd


________________________________________
Von: Felix Hartmann <extremecarver at gmail.com>
Gesendet: Montag, 4. November 2019 17:51
An: Gerd Petermann
Betreff: Re: [mkgmap-dev] documentation of new option in branch

Ah okay - so it should be explained that the Integer is the number of roads which form an island. e.g. 100 so anything below 200 100 segments is still an island and thereby routing disabled.
That is quite interesting then and an addition (still set_unconnected_type=XXXXX is then pretty obsolete if its only about making the road unroutable).

On Mon, 4 Nov 2019 at 17:40, Gerd Petermann <gpetermann_muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com>> wrote:
Hi Felix,

mkgmap:set_unconnected_type works very different.
1) It only detects single roads not connected to other roads, the island detection also finds multiple roads which are only connected to each other
2) the island detection adds the line as a road to NET, it just doesn't add it to NOD. So address search works as usual.
(I am not yet 100% sure if this is a good idea, have to do more testing here)

Island detection happens after processing of mkgmap:set_unconnected_type, right before the AngleChecker is called.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>> im Auftrag von Felix Hartmann <extremecarver at gmail.com<mailto:extremecarver at gmail.com>>
Gesendet: Montag, 4. November 2019 17:27
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] documentation of new option in branch

Hi
So basically this is a global:

set mkgmap:set_unconnected_type=none;

Or is there a difference? I've used the unconnected_type and semi_connected type basically for all routable lines in my style-file. The unconnected_type is now obsolete if you just used to disable routing by setting an unroutable type - correct?

Have you tested that the global option is run after semi_connected_type and unconnected_type? Because first the style should be able to remove them or change them to unroutable type - then leftover islands should be covered with this method.



Felix


On Mon, 4 Nov 2019 at 17:06, Ticker Berkin <rwb-mkgmap at jagit.co.uk<mailto:rwb-mkgmap at jagit.co.uk><mailto:rwb-mkgmap at jagit.co.uk<mailto:rwb-mkgmap at jagit.co.uk>>> wrote:
Hi

I think the default should be either:
  Don't check for routing islands
or:
  Check for and remove islands of any length
but I don't feel that strongly about this aspect.

In the documentation, it should mention the effect of a road meeting a
tile boundary or boundary nodes added at admin boundaries.

I've been using this feature for a couple of weeks now and it has
stopped a lot of "Route Calculation Error"s - Thanks Gerd.

Ticker

On Mon, 2019-11-04 at 15:37 +0000, Gerd Petermann wrote:
> Hi Nick,
>
> as always the information is written with the logger (1). You have to
> activate logging at info level with
> uk.me.parabola.imgfmt.app.net<http://uk.me.parabola.imgfmt.app.net><http://uk.me.parabola.imgfmt.app.net>.RoadNetwork.level=INFO
>
> (1) https://wiki.openstreetmap.org/wiki/Mkgmap/dev#Enabling_Debugging
>
> Using a negative value for NUM means that mkgmap doesn't calculate
> the islands at all, using
> 0 means that it only reports the islands. If you want to remove
> islands you can start with a value like
> 500. The default is 0.
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>>> im Auftrag
> von Pinns UK <osm at pinns.co.uk<mailto:osm at pinns.co.uk><mailto:osm at pinns.co.uk<mailto:osm at pinns.co.uk>>>
> Gesendet: Montag, 4. November 2019 16:29
> An: mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>>
> Betreff: Re: [mkgmap-dev] documentation of new option in branch
>
> Hi Gerd
>
> Thanks for all you work with regards routing islands!
>
> a) Is there a way of finding out how many .if any. routing islands
> were found given a certain length?
>
> b)  if NUM is negative is there any point in adding --check-routing
> -island-len=NUM
>
> Nick
>
>
>
> On 04/11/2019 13:58, Gerd Petermann wrote:
>
> Hi all,
>
> I think the work on the branch is almost done.
> Attached is a patch to add documentation for the new option.
> Please help to improve it:
>
> --check-routing-island-len=NUM
>         Routing islands are small road networks which are not
> connected to other
>         roads. Typical case is a footway that is not connected to the
> main road
>         network. These islands can cause problems if you try to
> calculate a route
>         and Garmin selects a point on the island as a start. It will
> fail to
>         calulate the route even if a major road is only a few steps
> away.
>         When calculating the NOD data mkgmap detects the islands. The
> option
>         --check-routing-island-len=NUM can be used to tell mkgmap
> that islands with
>         a total length below NUM meters should not be written to NOD.
> The effect is
>         that the corresponding roads are visible as usual but they
> are not
>         routable.
>         A negative value for NUM means that mkgmap skips the island
> check.
>
> ciao
> Gerd
>
>
>
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>>>
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>>
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>>
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


--
Felix Hartman - Openmtbmap.org & VeloMap.org
Schusterbergweg 32/8
6020 Innsbruck
Austria - Österreich


--
Felix Hartman - Openmtbmap.org & VeloMap.org
Schusterbergweg 32/8
6020 Innsbruck
Austria - Österreich


More information about the mkgmap-dev mailing list