Ignore:
Timestamp:
2019-05-21T10:04:36+02:00 (5 years ago)
Author:
GerdP
Message:

fix #10391: Add support for "not element of" operator

  • implement 4 new operators: ⊆,⊈,⊇,⊉
  • ⊆ is a synonym for the existing ∈ operator that uses the ContainsFinder, it

matches for elements which contain one or more elements matching the left Selectors

  • ⊈ matches for elements which do not contain any element matching the left Selectors (also uses the ContainsFinder)
  • ⊇ matches for elements which are contained in an element matching the left Selectors, it uses the InsideOrEqualFinder and is typically slower than ⊆, so it is probably only usefull for the search dialog
  • ⊉ matches for elements which are NOT contained in any element matching the left Selector
  • Both ContainsFinder and InsideOrEqualFinder work with areas, an area is either descibed by a closed way or a valid, complete relation of type=multipolygon or type=boundary. Incomplete objects do not contain something, invalid objects produce unpredictable results.
  • An element A contains another element B when it is an area and when B is either a Node inside the area of A, or when it is also an area that is fully inside or equal to A. An element is not inside a relation when it is a member of that relation.
  • hint: with ∈,⊆,⊈ prefer to use area selector instead of * for the right side, for ⊇,⊉ use area selector on the left side
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data_nodist/amenity-in-amenity.osm

    r11887 r15102  
    55  <node id='-3875' action='modify' visible='true' lat='-22.6907376271' lon='-48.56085907164' />
    66  <node id='-3871' action='modify' visible='true' lat='-22.69070289438' lon='-48.56081834975' />
    7   <node id='-3864' visible='true' lat='-22.69073023197' lon='-48.56082133585'>
    8     <tag k='amenity' v='hospital' />
    9   </node>
    107  <node id='-3863' visible='true' lat='-22.69071631095' lon='-48.56081028236' />
    118  <node id='-3862' visible='true' lat='-22.69074204865' lon='-48.56081115962' />
    129  <node id='-3861' visible='true' lat='-22.69071809155' lon='-48.56082765213' />
    1310  <node id='-3860' visible='true' lat='-22.69074528609' lon='-48.56083782836' />
     11  <node id='123' version='3' lat='-22.69073023197' lon='-48.56082133585'>
     12    <tag k='amenity' v='hospital' />
     13  </node>
    1414  <way id='-3880' action='modify' visible='true'>
    1515    <nd ref='-3877' />
Note: See TracChangeset for help on using the changeset viewer.