Hi Joris,

up to now we only mentioned nodes with a highway=* tag used in ways with a 
highway=* tag.
I've coded a rather simple patch for that, but while I did that I wondered why 
this should be limited to highways.
I decided to use the prefix "mkgmap:from-node:". Tags with prefix mkgmap:  are 
not copied.

My understanding is that you want a function which tells you if a tagged node 
is used in one or more ways with a given tag.
For example, you may want to render a node with entrance=main, but only when it 
is the entrance to a building=mall.
This will not work, because only nodes with the tags barrier or highway are 
treated special.

I think it is possible to implement this as well. We probably just have to 
check the points rules and look for uses of "mkgmap:from-node:".
Maybe this would also allow to get rid of the computational overhead produced 
by the add-poi-to-lines option. The current implementation of this option is 
really ugly as it computes lots of points which are never used to generate any 
map object. Think of a complex natural=wood polygon (no other tags). If the 
points file doesn't contain a rule for natural=wood there is no need to 
generate the POIs.

I've uploaded a binary compiled with the attached patch here:
http://files.mkgmap.org.uk/download/473/mkgmap.jar

Gerd


________________________________________
Von: mkgmap-dev <[email protected]> im Auftrag von Joris 
Bo <[email protected]>
Gesendet: Sonntag, 31. Mai 2020 09:06
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] is_in() function for point on line

Hi Gerd

Thanks for the answer, always nice if it makes sense again. Then it was worth 
the testing 😊
For me that would be perfect, the number of cases this will occur is limited so 
that it's no problem to explicitly test against this replace value. There are 
probably more situations around highways where this could occur like highway = 
bus_stop, highway = speedcamera, and traffic signals.

Kind regards,
Joris



-----Oorspronkelijk bericht-----
Van: mkgmap-dev <[email protected]> Namens Gerd Petermann
Verzonden: zaterdag 30 mei 2020 18:39
Aan: Development list for mkgmap <[email protected]>
Onderwerp: Re: [mkgmap-dev] is_in() function for point on line

Hi Joris,
yes, it is a special case. The generated POI gets the tags from the way, so 
highway=turning_circle is replaced by highway=track.
The node 7131748927 appears only with the tag highway=turning_circle (and maybe 
the address tags)

Not sure what to do. Maybe store the replaced tag(s) with a prefix, e.g. 
mkgmap:replaced:highway=turning_circle in this case?

Gerd

________________________________________
Von: mkgmap-dev <[email protected]> im Auftrag von Joris 
Bo <[email protected]>
Gesendet: Samstag, 30. Mai 2020 18:11
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] is_in() function for point on line

Hi Gerd

Could it be possible that in this case the highway tag of the line is ignored 
because the point turning_circle is of type highway as well?

It's like there is a point {highway = turning_circle} on a line {highway =  
track} It looks like I cannot catch it with the mkgmap:line2poitype and 
mkgmap:line2poi.

Somewhere else I already use
leisure = slipway & mkgmap:area2poi != true & mkgmap:line2poitype = mid  and 
that works fine

Kind regards,
Joris


-----Oorspronkelijk bericht-----
Van: mkgmap-dev <[email protected]> Namens Gerd Petermann
Verzonden: zaterdag 30 mei 2020 17:51
Aan: Development list for mkgmap <[email protected]>
Onderwerp: Re: [mkgmap-dev] is_in() function for point on line

Hi Joris,

is_in() only works with polygons. You can use --add-pois-to-lines, but be aware 
that it produces a lot of points for which you probablly don't want to add an 
object to the map. See the help for the details.

Gerd

________________________________________
Von: mkgmap-dev <[email protected]> im Auftrag von Joris 
Bo <[email protected]>
Gesendet: Samstag, 30. Mai 2020 17:40
An: Development list for mkgmap
Betreff: [mkgmap-dev] is_in() function for point on line

Hi

Does the is_in() function should also work for a point on a line in stead of in 
a polygon?

highway = turning_circle & is_in(highway, track, in_or_on) = true      [0x641a 
resolution 24]

It returns false for this situation where the turningcircle is attached to a 
highway = track.
(mkgmap:cache_is_in_POINT_highway_track_in_or_on=false)

Would there be another way to know if the point is attached to a highway = 
track rather then a for example highway = residential?
I use add-pois-to-lines, and link-pois-to-ways but as far as I can see, that 
doesn't give me more information.

https://www.openstreetmap.org/#map=18/49.65888/5.45845
[cid:[email protected]]


Kind regards
Joris

_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Attachment: poi.patch
Description: poi.patch

_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to