logo separator

[mkgmap-dev] mkgmap:set_unconnected_type differentiate between connected on both sides or on one side only

From Gerd Petermann GPetermann_muenchen at hotmail.com on Sun Sep 17 15:42:05 BST 2017

Hi Felix,

it seems you do not yet understand how the special tag works. Thet ag is evaluated after all elements
were processed by the style rules. It is not possible to do this earlier because mkgmap cannot know which ways
will end up as routable lines before style processing is done.

Gerd
________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Felix Hartmann <extremecarver at gmail.com>
Gesendet: Sonntag, 17. September 2017 14:49:12
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] mkgmap:set_unconnected_type differentiate between connected on both sides or on one side only

So here are my findings - only use case c) works (which means the same behaviour as before - so the patch does not break anything as far as I found out while playing around).

in lines file:
a)
( highway=service | highway=track | highway=path | highway=footway ) & service=driveway  {set mkgmap:set_semi_connected_type=none; set mkgmap:set_unconnected_type=none}
service=driveway & (mkgmap:set_semi_connected_type=none | mkgmap:set_unconnected_type=none) {delete highway; delete service; delete access; delete name;}
highway=path &  service=driveway  [0x13 road_class=0 road_speed=0 resolution 24 ]

Will end up with all service=driveway & highway=path lines deleted, no only those that are unconnected or semi_connected.

b)
( highway=service | highway=track | highway=path | highway=footway ) & service=driveway  {set mkgmap:set_semi_connected_type=none; set mkgmap:set_unconnected_type=none}
# service=driveway & (mkgmap:set_semi_connected_type=none | mkgmap:set_unconnected_type=none) {delete highway; delete service; delete access; delete name;}
highway=path &  service=driveway  [0x13 road_class=0 road_speed=0 resolution 24 ]

Will not do anything.


c)
highway=path &  service=driveway {set mkgmap:set_unconnected_type=none; set mkgmap:set_unconnected_type=none }  [0x01 road_class=0 road_speed=0 resolution 24 ]
works.


It would be great if either a) or b) approach could be taken also. Or if would be possible to simply write a line like:
( highway=service | highway=track | highway=path | highway=footway ) & service=driveway  {set mkgmap:set_semi_connected_type=delete; set mkgmap:set_unconnected_type=delete}
So you could delete those lines without placing many many of set mkgmap:set_semi_connected_type=none in each line in your styles file where you need it.

Another thing about the type which I consider a bit buggy is the following
mkgmap:set_semi_connected_type=0x27 or mkgmap:set_unconnected_type=0x1f
will throw the error no routable type should be used, while AFAIK the only routable types are
0x01-0x16 plus with special consideration  0x1a-0x1c. 0x2? is never routable. So it should not be treated like none. This is not really important though.
Felix



On 5 September 2017 at 10:56, Felix Hartmann <extremecarver at gmail.com<mailto:extremecarver at gmail.com>> wrote:
I will properly test it in around 14 days - I cannot access my computer to compile mkgmap right now. I will try to give it a quick test in the coming days - thanks.

On 5 September 2017 at 07:53, Gerd Petermann <GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com>> wrote:
Hi Felix,

attached is a patch that implements a new special tag mkgmap:set_semi_connected which works like
mkgmap:set_unconnected_type when a road is only connected to other roads in a single node.
Please check if it does what you want. I hope it still works as before for the --report-dead-ends option
and the mkgmap:set_unconnected tag.

If others also want to test:
A binary is here:
http://files.mkgmap.org.uk/download/357/mkgmap.jar

I also thought about other names for the tag, e.g.
mkgmap:set_deadend_type
Maybe better ?

Gerd
________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>> im Auftrag von Felix Hartmann <extremecarver at gmail.com<mailto:extremecarver at gmail.com>>
Gesendet: Montag, 4. September 2017 10:30:03
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] mkgmap:set_unconnected_type differentiate between connected on both sides or on one side only

either that - or create mkgmap:set_unconnected2=0x?? both is fine. (and I think semicolon is better than colon regarding other OSM nomination).

Felix

On 4 September 2017 at 09:24, Gerd Petermann <GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com><mailto:GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com>>> wrote:
Hi Felix,

do you have a suggestion for the tag value?
Up to now we have
mkgmap:set_unconnected_type=none
or
mkgmap:set_unconnected_type=0x???

Maybe we use a colon or semicolon to list two values ?
mkgmap:set_unconnected_type=0x07:0x10007
1st value is used if road leads to other way, 2nd if not

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>>> im Auftrag von Felix Hartmann <extremecarver at gmail.com<mailto:extremecarver at gmail.com><mailto:extremecarver at gmail.com<mailto:extremecarver at gmail.com>>>
Gesendet: Sonntag, 3. September 2017 18:51:38
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] mkgmap:set_unconnected_type differentiate between connected on both sides or on one side only

thanks - if it's not too complicated it would be handy to remove "clutter"

On 3 September 2017 at 09:42, Gerd Petermann <GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com><mailto:GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com>><mailto:GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com><mailto:GPetermann_muenchen at hotmail.com<mailto:GPetermann_muenchen at hotmail.com>>>> wrote:
Hi Felix,

sounds reasonable. I'll have a look at the code, it is already quite complex because of the --report-dead-ends option.

Gerd
________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>><mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk><mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk<mailto:mkgmap-dev-bounces at lists.mkgmap.org.uk>>>> im Auftrag von Felix Hartmann <extremecarver at gmail.com<mailto:extremecarver at gmail.com><mailto:extremecarver at gmail.com<mailto:extremecarver at gmail.com>><mailto:extremecarver at gmail.com<mailto:extremecarver at gmail.com><mailto:extremecarver at gmail.com<mailto:extremecarver at gmail.com>>>>
Gesendet: Samstag, 2. September 2017 15:41:50
An: Development list for mkgmap
Betreff: [mkgmap-dev] mkgmap:set_unconnected_type differentiate between connected on both sides or on one side only

Would it be possible to have the mkgmap:set_unconnected_type=... differentiate between conncected on both sides for lines and only connected on one side?

For example I would like to delete all service=driveway shorther than 100m length if they are connected only on one side to another routable line - if they are in between I would like to keep them. (in some countries - e.g. Switzerland and France) often highway=service&service=driveway leads not only to a house but also connects e.g. to a highway=track or highway=path.

--
Felix Hartman - Openmtbmap.org & VeloMap.org
Schusterbergweg 32/8
6020 Innsbruck
Austria - Österreich
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at 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
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk><mailto:mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at 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

_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at 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


More information about the mkgmap-dev mailing list