[mkgmap-dev] is_in with own Tags?
From Ticker Berkin rwb-mkgmap at jagit.co.uk on Mon Feb 22 10:33:59 GMT 2021
Hi Jan To suppress a point POI if is_in an area/polygon that may also generate one: leisure=stadium & sport=swimming & mkgmap:area2poi!=* & is_in(leisure, stadium, in_or_on)=false & is_in(leisure, water_park, in_or_on)=false & is_in(leisure, swimming_pool, in_or_on)=false {...stadium swim...} [0x...] and repeat for the other types To suppress one derived from a polygon if also in another: leisure=stadium & sport=swimming & mkgmap:area2poi=* & is_in(leisure, water_park, in_or_on)=false & is_in(leisure, swimming_pool, in_or_on)=false {...stadium swim...} [0x...] etc. ie similar to above but remove the test for is_in own type There is a problem with this however; if the centre/placement point of the outer polygon falls in_or_on the inner, neither will generate a POI! Ticker On Mon, 2021-02-22 at 10:52 +0100, jan meisters wrote: > Hi Ticker, > > thank you - yes, that explains a lot of my troubles. > > But - if I got you right: isn`t this what I need? > 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). > Do you have an example for the mentioned exclusion? > > Concerning deletion: it seemed to be easier to delete unwanted POIs > while testing, but indeed I prefer to handle this by tagging later. > For sure I want to miss as little information as possible, but > distinguish the available - I dropped the corresponding naming > actions for simplification, and the mopup at the end also ;-) > > Jan > > > > Am 21.02.2021 um 22:32 schrieb Ticker Berkin < > > rwb-mkgmap at jagit.co.uk>: > > > > 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 > > _______________________________________________ > > 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
- Previous message: [mkgmap-dev] is_in with own Tags?
- Next message: [mkgmap-dev] is_in with own Tags?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list