logo separator

[mkgmap-dev] Basecamp and NET/NOD changes

From Gerd Petermann gpetermann_muenchen at hotmail.com on Sat Nov 23 09:09:01 GMT 2019

Hi Ticker,

I looked at some Garmin demo maps and I found no case where a road appeared in NET but not in NOD, so I think it should better not be done.
No idea what problem it causes, but the Garmin software is probably not prepared to handle this case and fails to build internal data structure.
I think we see a similar effect with the routable types without NET info (e.g. when you use line type 0x16 without road_class or road_speed).

So, I think we should remove the documentation and also the code as it is now.
Maybe the island detection could work in a very different way. My current thinking is that it could work like the special tags  mkgmap:set_unconnected_type=<type> and mkgmap:set_semi_connected_type=<type>
So, instead of adding those special tags to various lines in the style we might use a simple replacement table containing the
replacement type (or "none") for each routable type.
The table might be a new style file containing something like

# routing island replacement types
0x01: 0x10800
0x02: 0x10801
0x03: 0x10802
....
0x07: none
...

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen at hotmail.com>
Gesendet: Freitag, 22. November 2019 17:53
An: Ticker Berkin; Development list for mkgmap
Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes

Hi Ticker,

I also saw routing errors in Mapsource with my sample and the --preserve-element-order activated.
I think the Basecamp dialog shows some options which are not really available in non-NT maps, maybe there is a wrong fallback
so that motorcycle routing works like pedestrian or maybe bicycle routing.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Freitag, 22. November 2019 17:48
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes

Hi Gerd

I'll build this and experiment.

Reg. previous email - Basecamp generating routes for MotorCycle is very
strange. I tried setting all the attributes of Motorcar to the same as
Motorcycle and it made no difference, so the must be some unknown bits
in the img that mkgmap isn't getting quite right.

Ticker

On Fri, 2019-11-22 at 16:41 +0000, Gerd Petermann wrote:
> Hi Ticker,
>
> attached is a patch which improves routing for my small sample with
> only one island. It also fixes some of the problems reported by
> display tool by calling the island detection before writing RGN.
> Still, it doesn't help at all with your test case.
> I did not see any effect on routing when I changed the order of roads
> in NET.
> So, order in RGN is important, but maybe the problem is not the order
> within one subdiv, maybe it would be better to change the split
> process so that
> non-routable roads (those with skipAddToNOD() == true) are in
> different sub divisions.
>
> The sample is here:
> http://files.mkgmap.org.uk/download/456/ticker-part-mod.zip
>
> Maybe you want to play with that, I'll continue tomorrow...
>
> Gerd
>
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Gerd Petermann <gpetermann_muenchen at hotmail.com>
> Gesendet: Freitag, 22. November 2019 12:57
> An: Ticker Berkin; Development list for mkgmap
> Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes
>
> Hi Ticker,
>
> Reg. order: All files (RGN, NET, NOD) show changes when the order
> changes.
> Strange thing is that Basecamp doesn't fail to calculate the route
> for other vehicles.
>
> I also looked at those messages from NodCheck. I think it doesn't
> handle the case that two boundary nodes appear at the same (Garmin)
> location. Anyhow, in my reduced data this message is not displayed
> and still routing fails.
>
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> Gesendet: Freitag, 22. November 2019 12:17
> An: Development list for mkgmap
> Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes
>
> Hi Gerd
>
> That's interesting. What effect does this ordering have on the
> resultant NET/NOD/RGN ordering and contents? Should the RouteCenters
> have the same contents?
>
> I've been trying to decipher the way these are written and there is a
> lot of leaving space for later writing once offsets are known, so if
> some sizes or counts are not what the logic expects, it could cause
> apparently random problems depending ordering.
>
> Looking at the errors at the end of NodCheck:
> > ERROR: class boundary node:f81c5: not sorted
> > ERROR: node 35bdd: high class boundary node not included in NOD 4
> [1,]
> the first happens with older releases, before the NET-no-NOD merge,
> but
> the next is new. NodCheck might just be running off the end of that
> section of the file, but I was trying to work out group logic was
> processing road-class for NODs that would be dropped
>
> Ticker
>
> On Fri, 2019-11-22 at 10:44 +0000, Gerd Petermann wrote:
> > Hi Ticker,
> >
> > some news:
> > I am able to reproduce the routing problems in Basecamp with a
> > rather
> > small input file and the default style. The involved route is very
> > short.
> > The interesting point is this:
> > When I use this command the routing problem appears:
> > --check-routing-island-len=700 --route --gmapi --preserve-element
> > -order ticker-part-mod.osm
> > When I remove the option --preserve-element-order  the problem
> > disappears.
> > --check-routing-island-len=700 --route --gmapi ticker-part-mod.osm
> >
> > The data contains an island which appears as first way in the input
> > file. When I move it before the first relation routing works also
> > with --preserve-element-order,
> > so order seems important. Open question is what needs to be
> > sorted...
> >
> > Gerd
> >
> > ________________________________________
> > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> > von Gerd Petermann <gpetermann_muenchen at hotmail.com>
> > Gesendet: Donnerstag, 21. November 2019 19:52
> > An: Ticker Berkin; Development list for mkgmap
> > Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes
> >
> > Hi Ticker,
> >
> > the attached patch for mkgmap makes display tool happy again but it
> > doesn't solve the routing problems in Basecamp.
> >
> > I still try to find a reason for the routing problems, maybe it
> > simply doesn't like roads without NOD info in a routable map,
> > maybe your two tiles are very special...
> >
> > Gerd
> >
> > ________________________________________
> > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> > von Gerd Petermann <gpetermann_muenchen at hotmail.com>
> > Gesendet: Donnerstag, 21. November 2019 15:42
> > An: Ticker Berkin; Development list for mkgmap
> > Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes
> >
> > Hi Ticker,
> >
> > I'm still investigating. I think display tool fails when it finds
> > nodes in NOD without any arcs. With the current code this happens
> > e.g. for way 23989284
> > in 74210002.osm.pbf, a highway way near the tile boundary, with
> > only
> > one node in the tile and no connection to other roads in the tile.
> > I am not yet sure where to fix that.
> >
> > Gerd
> >
> > ________________________________________
> > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> > von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> > Gesendet: Donnerstag, 21. November 2019 14:19
> > An: Development list for mkgmap
> > Betreff: Re: [mkgmap-dev] Basecamp and NET/NOD changes
> >
> > Hi Gerd
> >
> > Thanks for investigating this. As the eTrex routing seems to work
> > (maybe it is more similar to Mapsource than Basecamp) I'll persist
> > with
> > island removal.
> >
> > Looking at display:NetCheck errors, it looks like the
> > RoadDef.netFlags
> > bit:
> > RoadDef:   public static final int NET_FLAG_ADDRINFO = 0x10;
> > display:   private static final int RD_HAS_STREET_ADDRESS_INFO =
> > 0x10;
> > and/or nodeCountInner isn't getting set correctly when island
> > -removal
> > happens to the road.
> >
> > Ticker
> >
> > On Thu, 2019-11-21 at 10:00 +0000, Gerd Petermann wrote:
> > > Hi Ticker,
> > >
> > > I think we have two different problems here.
> > > I can reproduce the errors with display tool even with very small
> > > input files and it seems that it existed in almost all versions
> > > of
> > > the NET-no-NOD branch :-(
> > > I have no idea why I didn't see it in various tests before. These
> > > problems disappear when I change the code so that the first and
> > > last
> > > node in a road are always routing nodes. (as it was before r4300)
> > > Maybe display tool simply expects this and searches for nodes
> > > which
> > > don't exist?
> > > On the other hand I can reproduce the routing problems with
> > > Basecamp
> > > (4.7.1), but not with MapSource.
> > > And the problems in Basecamp do not disappear when I change the
> > > code
> > > to add the nodes again, they seem to depend on
> > > option --check-routing-island-len only.
> > > I always thought that Garmin uses the same routing algo in
> > > Mapsource
> > > and Basecamp, but at least 4.7.1 shows that I am wrong.
> > >
> > > So, for now, I'd say that option --check-routing-island-len
> > > should
> > > not be used :(
> > >
> > > Gerd
> >
> > _______________________________________________
> > mkgmap-dev mailing list
> > 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
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> 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
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
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
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


More information about the mkgmap-dev mailing list