logo separator

[mkgmap-dev] dead end check patch

From Mike Baggaley mike at tvage.co.uk on Wed Feb 26 12:47:47 GMT 2020

Hi Gerd, 

Why would you want to remove the dead ends check code? I accept that there
are probably other tools that can find these errors, but it is definitely
beneficial to be able to report or these during the process of building a
Garmin map. I note that removing the dead ends check would also be not
backwards compatible.

The existing solution is hard coded to look for fixme=* and FIXME=*, which
is a poor solution and not documented. The code already uses
mkgmap:dead-end-check for ways that should be ignored and to me at least it
makes much more sense to also use this for nodes, which makes it much more
flexible. I included a change to the default style so that it is backwards
compatible (with an enhancement of also causing certain known dead ends to
be omitted). I do not think that changes to mkgmap always need to be 100%
backward compatible. Its future development will be massively constrained by
enforcing backwards compatibility. None of the styles supplied with mkgmap
set a fixme value, so the only people who will be affected are those who
have their own styles who are also using --report-dead-ends. This is going
to be a very small number and they must be reasonably knowledgeable about
mkgmap to be doing that. Hence I consider it to be a very small hardship for
them to tweak their build process with a one line change to their style.

I had considered as an alternative a new command line option as follows:
--dead-ends[=key[=value]][,key[=value]...]
Specify a list of keys and optional values that should be considered
to be valid dead ends when found on the node at the end of a way. Ways with
nodes matching any of the items in the list will not be reported as dead
ends.
If no value or * is specified for value then presence of the key alone will
cause the dead end check to be skipped. The default is
--dead-ends=fixme,FIXME.

This is backwards compatible, but to me the use of the mkgmap:
dead-end-check in the style file is a more elegant solution.

Regards,
Mike

-----Original Message-----
From: Gerd Petermann [mailto:gpetermann_muenchen at hotmail.com] 
Sent: 26 February 2020 09:21
To: 'Development list for mkgmap' <mkgmap-dev at lists.mkgmap.org.uk>
Subject: Re: [mkgmap-dev] dead end check patch

Hi Mike,

you change is not compatible with existing styles which set fixme=* or
FIXME=*
I'd rather remove the code for dead-end check. I see no need for this in
mkgmap.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Mike
Baggaley <mike at tvage.co.uk>
Gesendet: Mittwoch, 26. Februar 2020 09:11
An: 'Development list for mkgmap'
Betreff: [mkgmap-dev] dead end check patch

Hi Gerd,

please find attached a small patch that improves the dead end check. It
amends the code that looks for a fixme tag on a node to make it look for a
mkgmap:dead-end-check tag instead, and adds a line to the points file
setting mkgmap:dead-end-check=no for nodes with amenity=parking_entrance,
railway=car_shuttle, railway=rolling_highway, fixme=* or FIXME=*.

Please review.

Thanks,
Mike






More information about the mkgmap-dev mailing list