logo separator

[mkgmap-dev] is_in with own Tags?

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Sun Feb 21 21:32:26 GMT 2021

Hi Jan

I don't think you'll be able to do what you hope for.

Each possible POI comes either:
a) direct from a point
b) from a polygon if --add-pois-to-areas, setting mkgmap:area2poi=true
   This happens regardless of any rules etc.

All you can do in the points rule processing is choose to display a POI
or not.

For a direct POI, you can test if is_in any of the types of polygon and
suppress it if you choose.

For an area2poi POI, it is almost certain that it is_in(its own type)
but you can exclude it if is_in(the other types).

There is no is_in() test for being in a polygon (of some type) that is
in another polygon (of same or any other type). 

It is clearer to apply these tests to the POI generation rule rather
than {delete} the tag to be tested. For {delete} to work, it has to be
done before the rule that might generated the [POI]. It is obscure to
show the {delete} afterwards, even though, with careful rule ordering,
the same effect could be achieved. 

Does this make sense?

Ticker

On Sun, 2021-02-21 at 18:04 +0100, jan meisters wrote:
> (Still problems with attachments. Now with link)
> 
> Hi Ticker,
> 
> I want to ask for relevant swimmings, one after another, and after
> every rule exclude further swimmings inside aleady matched areas.
> In the end the style should dismiss e.g. leisure=swimming_pools which
> lay in a (leisure=stadium & sport=swimming) already matched:
> 
> 1.	leisure=stadium & sport=swimming {name '${name} (stadium
> swim)‘ | '(stadium swim)'} [0x2d09 resolution 24]
> 	sport=swimming & is_in(leisure,stadium,in_or_on)=true &
> is_in(sport,swimming,in_or_on)=true {delete sport}
> 2.	leisure=water_park & sport=swimming {name '${name}
> (waterpark swim)‘ | '(waterpark swim)'} [0x2d09 resolution 24]
> 	sport=swimming & is_in(leisure, water_park,in_or_on)=true &
> is_in(sport,swimming,in_or_on)=true {delete sport}
> 3.	leisure=swimming_pool & sport=swimming {name '${name} (pool
> swim)‘ | ‚(pool swim)'} [0x2d09 resolution 24]
> 	sport=swimming & is_in(leisure, swimming_pool,in_or_on)=true &
> is_in(sport,swimming,in_or_on)=true {delete sport}
> 4.	…
> 
> With the above ruleset I have correct results for nodes so far, but
> not for polygons.
> The is_in-rule seems to lack the epression of is_n(leisure=stadium &
> sport=swimming), instead matches a polygons own swimming as well -
> what I don´t want.
> But I´ve got no clue how to write it.
> 
> In swim.osm the surrounding left stadium has swimming, the right one
> not. Inside both stadium, water_park and sports_centre as area and
> poi. (See http://files.mkgmap.org.uk/detail/500 for the following
> screenshots)
> 
> Above ruleset gives this: 1-result.jpg
> In left stadium pois for stadium/swim (area, area inside, poi
> inside), nothing else: correct.
> In right stadium pois for all swim inside except for the areas:
> wrong.
> 
> What I expect is this: 2-expected.jpg
> Left as before, but In the right pois for all swim inside including
> areas.
> 
> Hope I made it clearer
> Jan
> 
> 
> > Am 21.02.2021 um 13:01 schrieb Ticker Berkin <
> > rwb-mkgmap at jagit.co.uk>:
> > 
> > Hi Jan
> > 
> > I'm slightly confused as to what you are trying to do here when you
> > say
> > it works for nodes but not polygons.
> > 
> > After you've output a POI from the first rule what are you trying
> > to
> > do?
> > 
> > Ticker
> > 
> > On Sun, 2021-02-21 at 10:42 +0100, jan meisters wrote:
> > > Hi Gerd,
> > > 
> > > my first impression didn´t get trough further test.
> > > 
> > > This works for nodes, but not for polygons:
> > > 	leisure=stadium & sport=swimming [0x2d09 resolution 24]
> > > 	sport=swimming & is_in(leisure,stadium,in_or_on)=true &
> > > is_in(sport,swimming,in_or_on)=true {delete sport}
> > > 
> > > It matches it´s own swimming tag as well, not only when stadium
> > > is
> > > given.
> > > Tried various spellings/brackets, but I can´t get it to work for
> > > stadium and swimming as a combination only.
> > > I guess we don´t have a syntax for this?
> > > 
> > > Attached a small example.
> > > 
> > > Jan
> > > 
> > > 
> > > > Am 16.02.2021 um 18:28 schrieb jan meisters <jan_m23 at gmx.net>:
> > > > 
> > > > Hi Gerd,
> > > > 
> > > > so easy - that works!
> > > > Thanks for helping me out
> > > > Jan
> > > > 
> > > > > Am 16.02.2021 um 17:44 schrieb Gerd Petermann <
> > > > > gpetermann_muenchen at hotmail.com>:
> > > > > 
> > > > > Hi Jan,
> > > > > 
> > > > > is_in(leisure,park,...) & is_in(sport,swimming,...)
> > > > > should work.
> > > > > 
> > > > > Gerd
> > > > > 
> > > > > ________________________________________
> > > > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im
> > > > > Auftrag von jan meisters <jan_m23 at gmx.net>
> > > > > Gesendet: Dienstag, 16. Februar 2021 17:31
> > > > > An: Development list for mkgmap
> > > > > Betreff: Re: [mkgmap-dev] is_in with own Tags?
> > > > > 
> > > > > Hi Joris,
> > > > > 
> > > > > thanks for stating - I guessed something like that.
> > > > > 
> > > > > What I want is to is_in for a tag-combination, e.g.
> > > > > leisure=park
> > > > > & sport=swimming.
> > > > > I have a poi-rule for park&swimming first and further want to
> > > > > exclude swimmings inside matching polygons.
> > > > > 
> > > > > Do I have another option to define the combination so that it
> > > > > can
> > > > > be seen by is_in?
> > > > > 
> > > > > Thanks
> > > > > Jan
> > > > > 
> > > > > > Am 16.02.2021 um 14:48 schrieb Joris Bo <
> > > > > > jorisbo at hotmail.com>:
> > > > > > 
> > > > > > Hi Jan
> > > > > > 
> > > > > > As far as i understood this function really checks the
> > > > > > polygons
> > > > > > around the poi to check if the poi-coordinates are located
> > > > > > within the polygon specified.
> > > > > > It can not check variables because they don't have an
> > > > > > outline.
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > Met vriendelijke groeten,
> > > > > > 
> > > > > > Joris Bo
> > > > > > jorisbo at hotmail.com
> > > > > > 
> > > > > > -----Oorspronkelijk bericht-----
> > > > > > Van: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk>
> > > > > > Namens
> > > > > > jan meisters
> > > > > > Verzonden: dinsdag 16 februari 2021 14:12
> > > > > > Aan: Development list for mkgmap <
> > > > > > mkgmap-dev at lists.mkgmap.org.uk>
> > > > > > Onderwerp: [mkgmap-dev] is_in with own Tags?
> > > > > > 
> > > > > > Hi all,
> > > > > > 
> > > > > > I try to use is_in to fetch pois inside own invented tags,
> > > > > > e.g.:
> > > > > > 
> > > > > >    leisure=park {add processed=yes} [0x2c06 resolution 24
> > > > > > continue with_actions]
> > > > > >    leisure=swimming_pool &
> > > > > > is_in(processed,yes,in_or_on)=true
> > > > > > {delete leisure}
> > > > > > 
> > > > > > This fails, however „is_in(leisure,park,in_or_on)=true“
> > > > > > works
> > > > > > in the example.
> > > > > > Could someone explain where I´m wrong?
> > > > > > 
> > > > > > Thanks
> > > > > > Jan
> > > > > > _______________________________________________
> > > > > > mkgmap-dev mailing list
> > > > > > mkgmap-dev at lists.mkgmap.org.uk
> > > > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > > > > > _______________________________________________
> > > > > > mkgmap-dev mailing list
> > > > > > mkgmap-dev at lists.mkgmap.org.uk
> > > > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > > > > _______________________________________________
> > > > > mkgmap-dev mailing list
> > > > > mkgmap-dev at lists.mkgmap.org.uk
> > > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > > > > _______________________________________________
> > > > > mkgmap-dev mailing list
> > > > > mkgmap-dev at lists.mkgmap.org.uk
> > > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > > > _______________________________________________
> > > > mkgmap-dev mailing list
> > > > mkgmap-dev at lists.mkgmap.org.uk
> > > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > > _______________________________________________
> > > mkgmap-dev mailing list
> > > mkgmap-dev at lists.mkgmap.org.uk
> > > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> > _______________________________________________
> > mkgmap-dev mailing list
> > mkgmap-dev at lists.mkgmap.org.uk
> > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev


More information about the mkgmap-dev mailing list