logo separator

[mkgmap-dev] Basecamp and NET/NOD changes

From Gerd Petermann gpetermann_muenchen at hotmail.com on Mon Nov 25 07:16:22 GMT 2019

Hi Ticker,

okay, I was not able to reproduce the problem on my Oregon, and it turned out that the one routing problem in Mapsource was my fault, I asked for a route which was forbidden because of oneway roads.
I think that means that nobody should use option --check-routing-island-len=INTEGER when they use BaseCamp or when they publish their maps unless we find a better implementation.

Gerd

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

Hi Ticker,

OK, I'll ty to reproduce the routing error on my Oregon. If there is no problem on the device we might keep the option
and document that it causes trouble with Mapsource and Basecamp, else I'll remove the code until we know better.

Gerd

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

Hi Gerd

I was wondering if the problem related to this and was going to try
some experiments. eg just changing just type. I think there is some
scope in adding 0x50 to it; one of my devices shows these, but with an
added direction.

But maybe it's being in the road structures that Basecamp does't like.
If this is the case it becomes much more complicated and maybe not
worth doing; and probably better just to keep the option as it is but
document the incompatibility.

I still think, given the random nature of the failures, that there is
as slightly incorrect structure being generated somewhere, and I've
been going through the code looking at positioning, padding for
alignments etc.

Ticker


On Sat, 2019-11-23 at 09:09 +0000, Gerd Petermann wrote:
> 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
_______________________________________________
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