
Hi Gerd Looks good, but should add, after "island as a start", " or end". Also fix "metres" to "meters" Ticker On Tue, 2019-11-05 at 09:18 +0000, Gerd Petermann wrote:
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@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@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@hotmail.com<mailto: gpetermann_muenchen@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@lists.mkgmap.org.uk<mailto: mkgmap-dev-bounces@lists.mkgmap.org.uk>> im Auftrag von Felix Hartmann <extremecarver@gmail.com<mailto:extremecarver@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@jagit.co.uk<ma ilto:rwb-mkgmap@jagit.co.uk><mailto:rwb-mkgmap@jagit.co.uk<mailto: rwb-mkgmap@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@lists.mkgmap.org.uk<mailto: mkgmap-dev-bounces@lists.mkgmap.org.uk><mailto: mkgmap-dev-bounces@lists.mkgmap.org.uk<mailto: mkgmap-dev-bounces@lists.mkgmap.org.uk>>> im Auftrag von Pinns UK <osm@pinns.co.uk<mailto:osm@pinns.co.uk><mailto: osm@pinns.co.uk<mailto:osm@pinns.co.uk>>> Gesendet: Montag, 4. November 2019 16:29 An: mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk><mailto: mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@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@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk><mailto: mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk>><mailto: mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk><mailto: mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk><mailto: mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@lists.mkgmap.org.uk>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk<mailto:mkgmap-dev@lists.mkgmap.org.uk> <mailto:mkgmap-dev@lists.mkgmap.org.uk<mailto: mkgmap-dev@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 _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev