source: josm/trunk/data_nodist/amenity-in-amenity.osm@ 15898

Last change on this file since 15898 was 15102, checked in by GerdP, 5 years ago

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 size: 1.6 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<osm version='0.6' upload='never' generator='JOSM'>
3 <node id='-3879' action='modify' visible='true' lat='-22.69072960433' lon='-48.5607904595' />
4 <node id='-3877' action='modify' visible='true' lat='-22.69078106744' lon='-48.56082153115' />
5 <node id='-3875' action='modify' visible='true' lat='-22.6907376271' lon='-48.56085907164' />
6 <node id='-3871' action='modify' visible='true' lat='-22.69070289438' lon='-48.56081834975' />
7 <node id='-3863' visible='true' lat='-22.69071631095' lon='-48.56081028236' />
8 <node id='-3862' visible='true' lat='-22.69074204865' lon='-48.56081115962' />
9 <node id='-3861' visible='true' lat='-22.69071809155' lon='-48.56082765213' />
10 <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>
14 <way id='-3880' action='modify' visible='true'>
15 <nd ref='-3877' />
16 <nd ref='-3879' />
17 <nd ref='-3871' />
18 </way>
19 <way id='-3876' action='modify' visible='true'>
20 <nd ref='-3871' />
21 <nd ref='-3875' />
22 <nd ref='-3877' />
23 </way>
24 <way id='123' version='3' visible='true'>
25 <nd ref='-3861' />
26 <nd ref='-3860' />
27 <nd ref='-3862' />
28 <nd ref='-3863' />
29 <nd ref='-3861' />
30 <tag k='amenity' v='hospital' />
31 </way>
32 <relation id='123' version='3' action='modify' visible='true'>
33 <member type='way' ref='-3876' role='outer' />
34 <member type='way' ref='-3880' role='outer' />
35 <tag k='amenity' v='hospital' />
36 <tag k='type' v='multipolygon' />
37 </relation>
38</osm>
Note: See TracBrowser for help on using the repository browser.