logo separator

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

From Felix Hartmann extremecarver at gmail.com on Mon Sep 18 19:14:28 BST 2017

Hi Gerd,

2. yes it's the case for both tags.
3. I'm fine with another name - maybe mkgmap:set_semi_connected_line=none
and mkgmap:set_unconnected_line=none?
Well I actually already went through my style and added
mkgmap:set_semi_connected_type=none - I'm just missing the overlays also
being removed as explained to fully use it. I actually had not noticed that
mkgmap:set_unconnected_type=none did not remove all the lines that I
intended to be removed by it because I never properly checked it using a
test file - and there are not many unconnected ways in real OSM data (while
there are far more semi_connected lines/ways). Actually I think it should
be semiconnected as we alo use unconnected and not un_connected (even
though it is two words in proper spelling).

On 18 September 2017 at 19:49, Gerd Petermann <
gpetermann_muenchen at hotmail.com> wrote:

> Hi Felix,
>
> 1) the tag mkgmap:set_semi_connected_type is only special because it starts
> with the mkgmap: prefix, within the style processing it is treated like any
> other tag. The tag is first evaluated by mkgmap after all
> elements where processed by the style.
> 2) I agree that the new function doesn't work well for a style that creates
> multiple lines for a single
> OSM way. I also think that this is the case with
> mkgmap:set_unconnected_type.
> 3) You suggested to implement the new tag similar to
> mkgmap:set_unconnected_type, but
> it seems you never used it?
>
> It is easy to change the code so that it removes an overlay line when there
> is no routable line for the same OSM way. I have already coded this on my
> system. I can change the code to check if also the
> overlay line has a special tag, I just don't like the idea that
> mkgmap:set_unconnected_type or
> mkgmap:set_semi_connected_type should be used for this.
>
> Gerd
>
>
> Felix Hartmann-2 wrote
> > thanks for the clarification.
> >
> > Well in my opinion the algo should treat it as close as similar as
> > possible
> > to normal tags.
> >
> > x=* {set mkgmap:set_semi_connected_type=*}
> > as above without [] ---> applies to all objects that follow. also okay if
> > due to the special way it applies simply to all objects no matter if
> > before
> > or after
> >
> > x=* {set mkgmap:set_semi_connected_type=*} [0x01 road-class.. continue
> > with_actions]
> > same as above
> >
> > x=* {set mkgmap:set_semi_connected_type=*} [0x01 road-class.. continue]
> > only apply to the object created
> >
> > x=* {set mkgmap:set_semi_connected_type=*} [0x01 road-class]
> > only apply to the object created
> >
> >
> > The problem is simply that we don't have enough routable types - so many
> > styles use an invisible routable line overlaid with the visible line of
> > the
> > road/street - so both should be removed. Or take a bridge - if you decide
> > to not show the road for that semi_connected_bridge - you may also want
> to
> > not show the bridge.
> > I don't need this for fully non routable lines - but manybe other people
> > see sense in also applying the semi_connected or unconnected tags to
> fully
> > non routable objects.
> >
> > E.g. stairs - maybe someone does not want them to be routable in his map
> -
> > but only show them if they are connected to a routable way. Right now
> > that's not possible. Same maybe for ferry lines, gondolas or public
> > transport platforms.
> >
> > And yes - if it were possible to use it as a standard tag instaed of the
> > special tag - even better. I thought that was not possible due to the way
> > the tag works. Right now it definitely is a bit confusing as it's more or
> > less the only tag that works differently.
> >
> > On 18 September 2017 at 08:11, Gerd Petermann <
>
> > GPetermann_muenchen@
>
> >> wrote:
> >
> >> Hi Felix,
> >>
> >> sorry, was too fast. The algo counts each OSM way only once, so I think
> >> regarding the routable ways it works fine. The algo is simply not used
> >> for
> >> non-routable ines.
> >> If I got you right you also want that the overlaying non-routable line
> is
> >> removed when it has mkgmap:set_semi_connected_type=none ?
> >>
> >> What should happen if the style adds the same OSM way multiple times as
> >> routable line, sometimes with  mkgmap:set_semi_connected_type=none ,
> >> sometimes without?
> >> Or with different values for the tag mkgmap:set_semi_connected_type?
> >> What would be the meaning of mkgmap:set_semi_connected_type=0x10806 for
> >> such an overlay line?
> >>
> >> Sounds too complex for me.
> >>
> >> I think we need a different logic here. My understanding is that you
> only
> >> want the non-routable overlay line(s) if at least one routable line was
> >> created for the same OSM way.
> >> So, we need a method to tell mkgmap that a given non-routable line
> should
> >> be ignored if no routable way line exists for the same OSM way.
> >> I think we should not use the special tags
> mkgmap:set_semi_connected_type
> >> or mkgmap:set_unconnected_type for this.
> >> Do you agree?
> >>
> >> Gerd
> >> ________________________________________
> >> Von: Gerd Petermann
> >> Gesendet: Montag, 18. September 2017 06:47:12
> >> An: Development list for mkgmap
> >> Betreff: AW: [mkgmap-dev] mkgmap:set_unconnected_type differentiate
> >> between connected on both sides or on one side only
> >>
> >> Hi Felix,
> >>
> >> yes, you are right, when you create two or more routable lines from the
> >> same OSM way the algo counts them as connected on each point.
> >> I'll try catch this special case with a new patch.
> >>
> >> Gerd
> >> ________________________________________
> >> Von: mkgmap-dev <
>
> > mkgmap-dev-bounces at .org
>
> > > im Auftrag von
> >> Felix Hartmann <
>
> > extremecarver@
>
> > >
> >> Gesendet: Sonntag, 17. September 2017 23:19:27
> >> An: Development list for mkgmap
> >> Betreff: Re: [mkgmap-dev] mkgmap:set_unconnected_type differentiate
> >> between connected on both sides or on one side only
> >>
> >> well no - I did not want to use continue_with_actions - I mean that
> >> special tag is already set before - even If I set it on the line itself
> >> it
> >> seems to have no effect.
> >>
> >> The tag once set should apply to all iterations created by continue of
> >> the
> >> way, not just to the first (if set in a rule without action).
> >> Only if set in the same rule using continue alone it should make a
> >> difference vs continue_with_actions - so this is clearly not the
> intended
> >> behavior right now.
> >>
> >>
> >> Addendum:
> >> I just tested using continue with_actions --- same problem. The second
> >> line is not type=non but simply processed. Maybe the filter thinks it is
> >> connected to it's underlying original line?
> >>
> >>
> >> In my understanding the special tag should be worked down for the
> >> overlying lines exactly like the underlying lines (I use continue often
> >> 3-4
> >> times on the same way - this case it's only matching once). Normal tags
> >> will also be evaluated for overlying ways.
> >>
> >>
> >> On 17 September 2017 at 22:56, Gerd Petermann <
> >>
>
> > GPetermann_muenchen@
>
> > <mailto:
>
> > GPetermann_muenchen@
>
> > >>
> >> wrote:
> >> Hi Felix,
> >>
> >> I think you wanted to use continue with_actions ?
> >> Besides that the special tags have no effect on the overlay lines .
> >>
> >> Gerd
> >> ________________________________________
> >> Von: mkgmap-dev <
>
> > mkgmap-dev-bounces at .org
>
> > <mailto:mkgmap-
> > >
>
> > dev-bounces at .org
>
> >>> im Auftrag von Felix Hartmann <
> >>
>
> > extremecarver@
>
> > <mailto:
>
> > extremecarver@
>
> > >>
> >> Gesendet: Sonntag, 17. September 2017 22:13
> >> An: Development list for mkgmap
> >> Betreff: Re: [mkgmap-dev] mkgmap:set_unconnected_type differentiate
> >> between connected on both sides or on one side only
> >>
> >> Hi Gerd,
> >> sorry I should have tested better. Ì actually just inserted the rules
> >> into
> >> my normal ruleset and only used a clean lines file with example c) after
> >> noticing nothings seems to work - should have done that for b) too. So
> it
> >> seems there is some problem with continue following this statement!
> >> My testfile an the following lines file:
> >>
> >> service=driveway & ( highway=service | highway=track | highway=path |
> >> highway=footway | highway=residential ) & access!=yes &
> >> access!=designated
> >> & ( bicycle=no | bicycle=private | bicycle!=* ) & ( vehicle=no |
> >> vehicle=private | vehicle!=* ) & foot!=private & foot!=yes &
> >> foot!=designated & bicycle!=designated & bicycle!=yes & sac_scale!=* &
> >> mtb:scale!=*   {set mkgmap:set_semi_connected_type=none; set
> >> mkgmap:set_unconnected_type=none}
> >> service=driveway {set mkgmap:set_unconnected_type=none}     [0x13
> >> road_class=0 road_speed=0 resolution 24 continue]
> >> service=driveway                                            [0x1040c
> >> resolution 24]
> >>
> >> leads to:
> >> unconnected driveway, as well as semi_connected driveway both ending up
> >> in
> >> the map as 0x1040c. However the first 0x13 road is not in the map
> >> (neither
> >> unconnected, nor semi_connected).
> >> So it seems like after the continue command the previous (1. line of
> >> rules) ruleset is simply ignored.
> >> And yes - my testfile was intentional designed this way because I wanted
> >> to test out if roads being joined could change something.
> >>
> >>
> >> Changing the lines file to:
> >> service=driveway & ( highway=service | highway=track | highway=path |
> >> highway=footway | highway=residential ) & access!=yes &
> >> access!=designated
> >> & ( bicycle=no | bicycle=private | bicycle!=* ) & ( vehicle=no |
> >> vehicle=private | vehicle!=* ) & foot!=private & foot!=yes &
> >> foot!=designated & bicycle!=designated & bicycle!=yes & sac_scale!=* &
> >> mtb:scale!=*   {set mkgmap:set_semi_connected_type=none; set
> >> mkgmap:set_unconnected_type=none}
> >> service=driveway   [0x13 road_class=0 road_speed=0 resolution 24
> >> continue]
> >> service=driveway   [0x1040c resolution 24]
> >>
> >> leads to:
> >> same result.
> >>
> >> even this:
> >> service=driveway & ( highway=service | highway=track | highway=path |
> >> highway=footway | highway=residential ) & access!=yes &
> >> access!=designated
> >> & ( bicycle=no | bicycle=private | bicycle!=* ) & ( vehicle=no |
> >> vehicle=private | vehicle!=* ) & foot!=private & foot!=yes &
> >> foot!=designated & bicycle!=designated & bicycle!=yes & sac_scale!=* &
> >> mtb:scale!=*   {set mkgmap:set_semi_connected_type=none; set
> >> mkgmap:set_unconnected_type=none}
> >> service=driveway {set mkgmap:set_unconnected_type=none}     [0x13
> >> road_class=0 road_speed=0 resolution 24 continue]
> >> service=driveway   {set mkgmap:set_unconnected_type=none}
> >>                            [0x1040c resolution 24]
> >>
> >> leads to the 0x1040c line still being present in the final map. So the
> >> continue statement somehow havocs both the mkgmap:set_unconnected_type
> as
> >> well as the mkgmap:set_semi_connected_tye.
> >>
> >> Felix
> >>
> >> On 17 September 2017 at 19:52, Gerd Petermann <
> >>
>
> > GPetermann_muenchen@
>
> > <mailto:
>
> > GPetermann_muenchen@
>
> > > ><mailto:
>
> > GPetermann_muenchen@
>
> > <mailto:GPetermann_muenchen@
> > > hotmail.com>>> wrote:
> >> Hi Felix,
> >>
> >> just in case it is not yet obvious:
> >> Some ways in your test data have  highway=path but no service=driveway.
> >> Your rules don't add a road for it, so you probably don't get what you
> >> expect from the patch.
> >>
> >> Gerd
> >> ________________________________________
> >> Von: Gerd Petermann
> >> Gesendet: Sonntag, 17. September 2017 19:39:02
> >> An: Development list for mkgmap
> >> Betreff: AW: [mkgmap-dev] mkgmap:set_unconnected_type differentiate
> >> between connected on both sides or on one side only
> >>
> >> Hi Felix,
> >>
> >> I see the same result for b) and c) despite that one uses 0x01 and the
> >> other 0x13.
> >>
> >> Gerd
> >> ________________________________________
> >> Von: mkgmap-dev <
>
> > mkgmap-dev-bounces at .org
>
> > <mailto:mkgmap-
> > >
>
> > dev-bounces at .org
>
> >><mailto:mkgmap-dev-bounces@
> > > lists.mkgmap.org.uk<mailto:
>
> > mkgmap-dev-bounces at .org
>
> > >>> im
> >> Auftrag von Felix Hartmann <
>
> > extremecarver@
>
> > <mailto:
> > >
>
> > extremecarver@
>
> >><mailto:
>
> > extremecarver@
>
> > <mailto:
> > >
>
> > extremecarver@
>
> >>>>
> >> Gesendet: Sonntag, 17. September 2017 18:40:14
> >> An: Development list for mkgmap
> >> Betreff: Re: [mkgmap-dev] mkgmap:set_unconnected_type differentiate
> >> between connected on both sides or on one side only
> >>
> >> only 24% of service=driveway have access tagging (mostly access=private)
> >> -
> >> however I guess 99% of those that are semi-connected and 99.99% that are
> >> unconnected are really not needed in a general map (no matter if they
> are
> >> private or not) - however you just cannot drop all service=driveways
> >> without access tags except for an automotive map as that often leads to
> >> missing important connectors and thereby big detours.
> >>
> >>
> >> also it could be worth a try if long distance autorouting worked better
> >> if
> >> a general rule in the finalize section or further in front like
> >> highway=* & mkgmap:semi_connected=yes {road_class='-2' road_speed='-2'}
> >> (or try with '-1') could improve routing results. But maybe they are
> >> penalized by the garmin algorithm already enough anyhow. Now that rule
> >> really won't work with the current way it works - and I don't even know
> >> it
> >> will help. It's just something,that i would try out if it were possible.
> >>
> >> On 17 September 2017 at 18:26, Felix Hartmann <
>
> > extremecarver@
>
> > <
> > > mailto:
>
> > extremecarver@
>
> >><mailto:
>
> > extremecarver@
>
> > <mailto:
> > >
>
> > extremecarver@
>
> >>><mailto:
>
> > extremecarver@
>
> > <mailto:extremecar
> > >
>
> > ver@
>
> >><mailto:
>
> > extremecarver@
>
> > <mailto:extreme
> > >
>
> > carver@
>
> >>>>> wrote:
> >> b) did not work when I tried it. I have a test file here (very simple):
> >> https://openmtbmap.org/wp-content/images/debug/driveways.osm
> >>
> >>
> >> oh yeah the idea why semi_connected is needed camp up because many
> >> (mainly
> >> highway=service & service=driveway  and no other tags )in France and
> >> Switzerland are actually needed to get from roads for cars onto
> >> pathes/tracks. Often through a supermarket parking or similar while
> >> highway=service & service=driveway (likewise with no other tag) but
> >> mostly
> >> connected only on one side to public roads - are used to map ways to
> >> access
> >> a private house door or garden - they really clutter up the map hence I
> >> want to remove them. And yes - sadly far too little driveways add a
> >> foot=yes or foot=designated, or access=yes/access=designated while also
> >> far
> >> too many really private ways lack a access=private. Some people in OSM
> >> understand that service=driveway means it public without other tags,
> >> while
> >> others understand that it's private.
> >>
> >> On 17 September 2017 at 18:14, Felix Hartmann <
>
> > extremecarver@
>
> > <
> > > mailto:
>
> > extremecarver@
>
> >><mailto:
>
> > extremecarver@
>
> > <mailto:
> > >
>
> > extremecarver@
>
> >>><mailto:
>
> > extremecarver@
>
> > <mailto:extremecar
> > >
>
> > ver@
>
> >><mailto:
>
> > extremecarver@
>
> > <mailto:extreme
> > >
>
> > carver@
>
> >>>>> wrote:
> >> I've seen a couple - but yes - according to taginfo it's really little,
> >> https://taginfo.openstreetmap.org/tags/service=driveway
> >> (most are highway=service, then residential and others are really really
> >> little).
> >>
> >>
> >> do you think you can change the behavior that b) will also work? If not
> >> I'm just going to rewrite my rules for highway=service - and drop the
> >> idea
> >> to get rid of track,residential, footway and path with service=driveway
> >> tag
> >> (and hope this does not change in future).
> >> All other things that are specified in {} brackets also work like b) -
> >> that's why I thought it should work that way too.
> >>
> >>
> >> Another possibility would be if it could be added to the finalize
> section
> >> instead. So have in finalize section
> >> ( highway=service | highway=track | highway=path | highway=footway |
> >> highway=residential ) & service=driveway  {set
> >> mkgmap:set_semi_connected_type=none;
> >> set mkgmap:set_unconnected_type=none}
> >> which would then overrule rules given higher up.
> >> (I did not try if this will work already - but I guess not).
> >>
> >> On 17 September 2017 at 17:33, nwillink <
>
> > osm at .co
>
> > <mailto:osm@
> > > pinns.co.uk><mailto:
>
> > osm at .co
>
> > <mailto:
>
> > osm at .co
>
> > >>
> > <mailto:
> >>
> >
>
> > osm at .co
>
> > <mailto:
>
> > osm at .co
>
> > ><mailto:
>
> > osm at .co
>
> > <mailto:
> > >
>
> > osm at .co
>
> >>>>> wrote:
> >> Hi Gerd
> >>
> >> In the UK , frequently public footpaths are linked to someone's driveway
> >> -
> >> I
> >> have to say it's often quite 'daunting' to walk up someone's drive in
> >> order
> >> to continue along a public footpath.
> >>
> >> r
> >>
> >> Nick
> >>
> >>
> >>
> >> --
> >> Sent from:
> >> http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
> >> _______________________________________________
> >> mkgmap-dev mailing list
> >>
>
> > mkgmap-dev at .org
>
> > <mailto:
>
> > mkgmap-dev at .org
>
> > > ><mailto:
>
> > mkgmap-dev at .org
>
> > <mailto:mkgmap-dev at lists.
> > > mkgmap.org.uk>><mailto:
>
> > mkgmap-dev at .org
>
> > <mailto:
> > >
>
> > mkgmap-dev at .org
>
> >><mailto:
>
> > mkgmap-dev at .org
>
> > <
> > > mailto:
>
> > mkgmap-dev at .org
>
> >>>>
> >> 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
> >>
> >>
> >>
> >> --
> >> Felix Hartman - Openmtbmap.org & VeloMap.org
> >> Schusterbergweg 32/8
> >> 6020 Innsbruck
> >> Austria - Österreich
> >> _______________________________________________
> >> mkgmap-dev mailing list
> >>
>
> > mkgmap-dev at .org
>
> > <mailto:
>
> > mkgmap-dev at .org
>
> > > ><mailto:
>
> > mkgmap-dev at .org
>
> > <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 .org
>
> > <mailto:
>
> > mkgmap-dev at .org
>
> > >
> >> 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 .org
>
> >> 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 .org
>
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>
>
>
>
>
> --
> Sent from: http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
> _______________________________________________
> mkgmap-dev mailing list
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20170918/f6a83920/attachment-0001.html>


More information about the mkgmap-dev mailing list