
Hi Gerd I've run this on my local area and checked some of the larger lengths of tracks unconnected to the main nextwork and these were as expected. Some could be connected, some should have not been highways and the rest I looked at were footpaths. I'll look at a few more and report tomorrow - I'm away today. Ticker On Sat, 2019-10-19 at 12:48 +0000, Gerd Petermann wrote:
Hi Ticker,
yes, it is already quite complicated. In Australia I see islands of private tracks with a total length of > 50.000 m.
I've also not yet decided where the checks should be done (StyledConverter or RoadNetwork). StyledConverter still knows the OSM way, RoadNetwork doesn't. On the other hand RoadNetwork does all the network calculations and therefore it seems stupid to code them also in StyledConverter.
Please check r4304: http://www.mkgmap.org.uk/websvn/revision.php?repname=mkgmap&rev=4304 http://www.mkgmap.org.uk/download/mkgmap-NET-no-NOD-r4304.zip
Sample output: SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: check for routing islands found 5 islands SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: routing island with 1 routing node(s) at 51.554362,-0.197136 has length 156 m SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: routing island with 2 routing node(s) at 51.623528,-0.143968 has length 263 m SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: routing island with 2 routing node(s) at 51.623368,-0.146458 has length 1063 m SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: routing island with 3 routing node(s) at 51.640080,-0.143457 has length 282 m SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: routing island with 4 routing node(s) at 51.583387,-0.157835 has length 2250 m SEVERE (RoadNetwork): test/resources/in/osm/uk-test-1.osm.gz: routing island check took 20 ms
All islands are reported, no matter how many nodes there are. There is no particular order for now. Sample output when option --x-check-routing-island-len=500 is used: ... SEVERE (RoadNetwork): e:\osm_out_work\wales\63240001.osm.pbf: routing island with 2 routing node(s) at 53.326519,-3.453854 has length 697 m SEVERE (RoadNetwork): e:\osm_out_work\wales\63240001.osm.pbf: routing island with 2 routing node(s) at 53.314260,-3.502073 has length 106 m SEVERE (RoadDef): e:\osm_out_work\wales\63240001.osm.pbf: road ( http://www.openstreetmap.org/browse/way/511855016) is removed from NOD, length: 105 m SEVERE (RoadDef): e:\osm_out_work\wales\63240001.osm.pbf: road ( http://www.openstreetmap.org/browse/way/511855016) is removed from NOD, length: 1 m SEVERE (RoadNetwork): e:\osm_out_work\wales\63240001.osm.pbf: routing island with 2 routing node(s) at 53.313371,-3.501693 has length 109 m SEVERE (RoadDef): e:\osm_out_work\wales\63240001.osm.pbf: road ( http://www.openstreetmap.org/browse/way/511855022) is removed from NOD, length: 107 m SEVERE (RoadDef): e:\osm_out_work\wales\63240001.osm.pbf: road ( http://www.openstreetmap.org/browse/way/511855022) is removed from NOD, length: 2 m SEVERE (RoadNetwork): e:\osm_out_work\wales\63240001.osm.pbf: routing island with 2 routing node(s) at 53.313692,-3.502430 has length 25 m SEVERE (RoadDef): e:\osm_out_work\wales\63240001.osm.pbf: road ( http://www.openstreetmap.org/browse/way/511855021) is removed from NOD, length: 22 m SEVERE (RoadDef): e:\osm_out_work\wales\63240001.osm.pbf: road ( http://www.openstreetmap.org/browse/way/511855021) is removed from NOD, length: 3 m ... It shows that many islands are in fact closed Ways which were split for routing purposes, ofter areas.
Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Samstag, 19. Oktober 2019 12:40 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Please test branch NET-no-NOD
Hi Gerd
Maybe yes, but a long unconnected road is no use for route generation except to somewhere else near the same road, which doesn't need route generation anyway. Trying to get to anywhere else will probably give a "route calculation error"
It occurs to me that almost the examples I've found are small networks of paths where motor-vehicle=no. These are often the ones that get picked up as the closest for starting/ending a car journey (wrong in itself) and then cause "route calculation error" because of the isolation from the main network.
Could there be some options to control the cut-off based on number of nodes, total length, and non-motor vehicle?
I realise this is getting complicated.
Ticker
On Fri, 2019-10-18 at 15:51 +0000, Gerd Petermann wrote:
Hi Ticker,
I think it would be better to measure the sum of road lengths instead of the number of nodes. In some areas you may have unconnected roads with many km length, e.g. in Canada or Australia.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Freitag, 18. Oktober 2019 17:02 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Please test branch NET-no-NOD
Hi Ticker,
okay, I am working on the part that removes those islands from NOD. I am developing it with the NET-no-NOD branch. With trunk you get higher counts as each end of an unconnected way is also a routing node.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Freitag, 18. Oktober 2019 16:28 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Please test branch NET-no-NOD
Hi Gerd
That runs OK.
As before, I get lots of 2 node roads - often bridges over streams in open land, and quite a few (about 1/10 the number of the 2 noders) are 3 and 4 nodes - frequently paths between buildings in schools / campuses and short bits of path at either end of the bridges in open land.
I upped the test from 5 to 10 and got more of the same + networks of short paths on golf courses, walkways on piers (which should have been connected to something), paths in an enclosed quadrangle, etc, etc
All of these I would consider to be a hindrance to route calculations.
Having an option, defaulting to, say, 10, to stop these road -islands being added to NOD must be a good idea. Setting the value to 0 would give the current behaviour
Ticker
On Fri, 2019-10-18 at 12:35 +0000, Gerd Petermann wrote:
Hi Ticker,
here is the patch without recursive call.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen@hotmail.com> Gesendet: Freitag, 18. Oktober 2019 12:46 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Please test branch NET-no-NOD
Hi Ticker,
thanks for testing. I'll work on a patch without recursive calls.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Freitag, 18. Oktober 2019 12:41 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Please test branch NET-no-NOD
Hi Gerd
I've applied the patch to my 'current' version and tried running it but it gives:
java.lang.StackOverflowError at uk.me.parabola.imgfmt.app.net.RouteNode.visitNet(RouteNode.java:9 38 ) at uk.me.parabola.imgfmt.app.net.RouteNode.visitNet(RouteNode.java:9 41 ) ... 1020 lines like this ... at uk.me.parabola.imgfmt.app.net.RouteNode.visitNet(RouteNode.java:9 41 ) at uk.me.parabola.imgfmt.app.net.RouteNode.visitNet(RouteNode.java:9 41 ) Exiting - if you want to carry on regardless, use the --keep -going option
My source had the patches "avoid-to-split-via-ways.patch" and "only_with_via_ways.patch". I can remove these and try again if you think there might be an interaction.
I don't think there is a need to try and check on islands of different access modes; the apparent behaviour of my device is that it finds the closest highway of any type to get into or out of the main road network. ie, if here is a footpath closer to the destination that any motor-vehicle road, car route planning will direct me onto it.
Ticker
On Fri, 2019-10-18 at 09:25 +0000, Gerd Petermann wrote:
Hi Ticker,
please check: attached is a simple patch that implements the calculation of routing islands. It just reports islands with less than 5 routing nodes and the position of one of the nodes. It ignores such islands which have at least one node that is a boundary node. Remember that we also create nodes oncountry borders. Maybe those should be ignored here?
A more detailed test might also check the access attributes, so that we report islands for pedestrian, bicycle etc.
The patch doesn't change the data written to the img files. Please play with it and let me know how it works for you.
Gerd
________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap@jagit.co.uk> Gesendet: Samstag, 12. Oktober 2019 19:34 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Please test branch NET-no-NOD
Hi Gerd
I was thinking of a threshold (maybe < 5) and then not adding any of them to NOD.
The reason is that a while ago I found many instances where tracks lead up to the edge of car-parks but didn't join to each other or the car -park access road and so walking routing, where one was expected to cross the car-park, didn't work. I tried adding a footway around the edge of the car-park and this helped in a lot of cases but I got driving route-calculation-error in or out of the car-park if the access road wasn't correctly specified. Your latest change will help in a lot of instances but sometimes there car-park was defined by more than 1 line.
Ticker
On Sat, 2019-10-12 at 10:10 -0700, Gerd Petermann wrote:
Ticker Berkin wrote
Do you attempt to isolate small road networks that are not connected to the rest of the system or just a single road?
Not yet. Do you think about some kind of threshold value giving the minimal number of connections or maybe a bbox size or a sum of road lengths? if the isolated network is "small" we might not add any of its roads to NOD. Is that what you think about?
Gerd
-- Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.ht ml _______________________________________________ mkgmap-dev mailing list 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 http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list 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 http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list 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 http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
mkgmap-dev mailing list 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 http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list 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 http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev