logo separator

[mkgmap-dev] Test if POI is part of a line

From ankeric.osm at gmail.com ankeric.osm at gmail.com on Mon Oct 10 11:59:34 BST 2022

Hi Gerd,

I also have a - similar? - issue implementing poi2line.
I cannot Add or Delete poi2line nodes.

Perhaps (as you said):
"One problem with your suggested solution is that the current implementation in mkgmap processes (tagged) nodes before lines".

In 'lines' this is working OK:

access:conditional = 'no @ sunset-sunrise'      { delete access:conditional }
access:conditional = 'no @ sunset - sunrise'    { delete access:conditional }
access:conditional = 'no @ (sunset-sunrise)'    { delete access:conditional }
access:conditional = 'no @ (sunset - sunrise)'  { delete access:conditional }

opening_hours      = '24/7'                                    { delete opening_hours } 
opening_hours      = '(24/7)'                                 { delete opening_hours } 

and 50 more lines of script because these tags are useless and/or polluting the map and/or default and/or needless. IMO!

But once I add 'omsid()=...' to mkgmap it doesn't work anymore to remove line2poi.

highway=unclassified & osmid()=912437951 {delete smoothness; delete opening_hours}

In next example I delete all tags (don't want to render this highway), highway is deleted (not rendered) but line2poi is still rendered.

highway=cycleway & osmid()=1011546906 {deletealltags}

I also cannot ADD a line2poi tag:

highway=unclassified & osmid()=176775241 {set opening_hours="may be closed during sport events"}

I want to add private tags (line2poi), IMO tags, subjective tags, 'necessary' tags (IMO) that are not allowed on OSM (f.i.: bicycle=dismount, scenic=yes, which are only 'allowed' if a (traffic)sign is 'on the ground' to confirm dismount/scenic).


-----Original Message-----
From: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> On Behalf Of Gerd Petermann
Sent: maandag 10 oktober 2022 12:49
To: Development list for mkgmap <mkgmap-dev at lists.mkgmap.org.uk>
Subject: Re: [mkgmap-dev] Test if POI is part of a line

Hi Felix,

the current implementation of the link-pois-to-ways doesn't transfer the access tag(s) to the way. It just creates a route restriction which tells Garmin that it must not route the given vehicles through the barrier. Older implementations created a short stub close to the barrier node.


Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Felix Hartmann <extremecarver at gmail.com>
Gesendet: Montag, 10. Oktober 2022 12:13
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] Test if POI is part of a line

Also I don't like using --link-pois-to-ways to put an access=private onto a road - and then remove this road. Because in the case of a park - the footways/pathes on both sides of the gate do exist. So an access=private does not actually apply to the road. So it's correct to show the road, and show the gate that is blocking the road. I think this is better that deleting that road because of the gate.

On Mon, 10 Oct 2022 at 11:47, Felix Hartmann <extremecarver at gmail.com<mailto:extremecarver at gmail.com>> wrote:
Hi Gerd,

No  --add-poi-to-lines creates points from a line that has certain tags. What I try to achieve is actually to remove points that are NOT part of a line / or  part of a line that is not rendered in the map. There is no reason to show a gate if you don't have a line/road.So essentially for me there is no sense to show a gate for me if it is not part of a routable line.
However points created by add-pois-to-lines are also not what I want - because it would show the gate in an incorrect position.

So the clutch of using --link-pois-to-ways  to get the access tags onto the line - then never show an actual barrier=gate/highway=gate but only show one created by the --add-poi-to-line command?  The logical solution is to really only show a gate where it is tagged, but only if the map is creating a routable line for it and remove all other barrier=* / highway=gate / entrance=yes POI.

If this is too much work to implement - then drop it. But as far as I understand right now there is no good solution by mkgmap for this. The same would be for traffic lights - if you remove a road because your map does not show private roads - but a private road has a traffic light - this traffic light should not be in the map either. And yes I know the dilemma - we need points to be looked at pre lines for --link-pois-to-ways to work, but for some other things we would need to look at them later again. So this would need to be some kind of seond_finalize rules in the points file that is executed after the lines file - and removes points from the map again. It's not a big problem - but right now this really makes it inconvenient to put gates into your map - as 75% of gates are just cluttering up the map without providing any information to the user (except if you want to create a cataster type of map showing everything). Leaving gates out completely on the other hand makes it very ha  rd to show for example with parks where people can enter and where not. As very often there are service entries to parks not open to public - so these are the main ones that we want to show in a map.

On Mon, 10 Oct 2022 at 08:35, Gerd Petermann <gpetermann_muenchen at hotmail.com<mailto:gpetermann_muenchen at hotmail.com>> wrote:
Hi Felix,

my first thought was that --add-poi-to-lines is all that you need, but maybe I've missed something?

One problem with your suggested solution is that the current implementation in mkgmap processes
(tagged) nodes before lines. I can't remember exactly why but a change probably causes side effects.


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: Freitag, 7. Oktober 2022 23:12
An: Development list for mkgmap
Betreff: [mkgmap-dev] Test if POI is part of a line

I read through the old

is_in()function for point on line discussion - but what I want is actually different and should be much easier?

Could there be a solution to check if a point is a single point vs if it is part of a open/closed line?

I would only like to display barrier/highway=gate point icons if they are part of a (best routable) line. Especially for gates  most are just useless clutter because they are tagged on private houses and similar.

If there was a way to delete afterwards/or create only in first place those points that are part of a line would be good, best would be if they are only shown if part of a routable line (so after the lines stye-file is processed).

Felix Hartman - Outdoormaps LTD - Openmtbmap.org & VeloMap.org

mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk<mailto:mkgmap-dev at lists.mkgmap.org.uk>

Felix Hartman - Outdoormaps LTD - Openmtbmap.org & VeloMap.org

Felix Hartman - Outdoormaps LTD - Openmtbmap.org & VeloMap.org

mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk

More information about the mkgmap-dev mailing list