Database : berlintest Restore : NO Operator : # Number : 1 Signature: (point point) -> bool, (points points) -> bool, (line line) -> bool, (region region) -> bool Example : query mehringdamm # alexanderplatz Result : TRUE Operator : + Number : 1 Signature: point x point -> point Example : query [const point value (0.0 -1.2)] + [const point value (-5.0 1.2)] Result : (point (-5.0 0.0)) Operator : = Number : 1 Signature: (point point) -> bool, (points points) -> bool, (line line) -> bool, (region region) -> bool Example : query tiergarten = zoogarten Result : FALSE Operator : < Number : 1 Signature: point x point -> bool Example : query [const point value (0.0 2.5)] < [const point value (1.0 2.5)] Result : TRUE Operator : < Number : 2 Signature: point x point -> bool Example : query [const point value (1.0 2.5)] < [const point value (0.0 2.5)] Result : FALSE Operator : adjacent Number : 1 Signature: (points||line||region x points||line||region) -> bool Example : query WFlaechen feed filter[.GeoData adjacent grunewald] consume Result : file Operator : area Number : 1 Signature: region -> real Example : query area([const rect value (-1000.0 -900.0 100000.0 100010.0)] rect2region) Result : 1000.0 Operator : atpoint Number : 1 Signature: sline x point x bool -> real Example : query atpoint(fromline(trajectory(train7)), mehringdamm, TRUE) Result : 18380.673536405186 Operator : atpoint Number : 2 Signature: sline x point -> real Example : query atpoint(fromline(trajectory(train7)), mehringdamm) Result : 18380.673536405186 Operator : atposition Number : 1 Signature: sline x real x bool -> point Example : query atposition(fromline(trajectory(train7)), 18380.673536405186, TRUE) = mehringdamm Result : TRUE Operator : atposition Number : 2 Signature: sline x real x bool -> point Example : query atposition(fromline(trajectory(train7)), 18380.673536405186, FALSE) = mehringdamm Result : FALSE Operator : atposition Number : 3 Signature: sline x real x bool -> point Example : query WFlaechen feed filter[.Name = "Spree"] UBahn feed {u} symmjoin[.GeoData intersects_new ..GeoData_u] extend[Schnitt: intersection1(.GeoData, .GeoData_u)] project[Schnitt] extend[Start: atposition(fromline(.Schnitt), 0.0, TRUE)] consume Result : file Operator : atposition Number : 4 Signature: sline x real -> point Example : query atposition(fromline(trajectory(train7)), 18380.673536405186) = mehringdamm Result : TRUE Operator : bbox Number : 1 Signature: (point||points||line||region) [x geoid] -> rect Example : query bbox(tiergarten) Result : (rect (5659.99999999 8571.00000001 11434.99999999 12795.00000001)) Operator : bbox Number : 2 Signature: (point||points||line||region) [x geoid] -> rect Example : query bbox(makeline(makepoint(7.563333333333333,51.29166666666666),makepoint(-74.0,40.71666666666667)),create_geoid("WGS1984")) Result : (rect (-74.00000001999999 7.5633334846 40.71666664666667 54.87868544808553)) Operator : bbox Number : 3 Signature: (point||points||line||region) [x geoid] -> rect Example : query bbox(makeline(makepoint(-43.2,-22.9),makepoint(151.2,-33.85)),create_geoid("WGS1984")) Result : (rect (-43.20000002 151.20000002 -77.05451120443344 -22.89999998)) Operator : bbox Number : 4 Signature: (point||points||line||region) [x geoid] -> rect Example : query bbox(makeline(makepoint(7.563333333333333,51.29166666666666),makepoint(-43.2,-22.9)),create_geoid("WGS1984")) Result : (rect (-43.20000002 7.5633334846 -22.90000002 51.29166668666666)) Operator : boundary Number : 1 Signature: line -> points Example : query boundary(train7sections) Result : file Operator : boundary Number : 2 Signature: region -> line Example : query no_components(boundary(koepenick)) Result : (int 7) Operator : commonborder Number : 1 Signature: (region x region) -> line Example : query WFlaechen feed filter[.GeoData adjacent grunewald] extend[Common: commonborder(.GeoData, grunewald)] project[Common] consume Result : file Operator : commonborder Number : 2 Signature: (region x region) -> line Example : query commonborder(tiergarten, tiergarten) Result : file Operator : components Number : 1 Signature: points -> stream(points), region -> stream(region) Example : query components(koepenick) count Result : 7 Operator : components Number : 2 Signature: points -> stream(points), region -> stream(region) Example : query components(tiergarten) count Result : 1 Operator : components Number : 3 Signature: line -> stream(line) Example : query components(BGrenzenLine) count Result : 1 Operator : crossings1 Number : 1 Signature: (line x line) -> points Example : query strassen feed {s1} strassen feed {s2} spatialjoin[geoData_s1, geoData_s2] filter[.Name_s1 < .Name_s2] filter[.geoData_s1 intersects1 .geoData_s2] projectextendstream[Name_s1, Name_s2; Cross: components(crossings1(.geoData_s1, .geoData_s2))] project[Cross] consume Result : bug Remark : some points are in the result which are not crossings of streets Operator : direction Number : 1 Signature: (point x point [x geoid]) -> real Example : query direction(mehringdamm, alexanderplatz) Result : 61.061353020685345 Operator : direction Number : 2 Signature: (point x point [x geoid]) -> real Example : query direction(makepoint(7.56333,51.2917),makepoint(-74,40.7167),create_geoid("WGS1984")) Result : 156.8391714352 Operator : distance Number : 1 Signature: (point||points||line x point||points||line) -> real Example : query distance(mehringdamm, alexanderplatz) Result : 3455.4536605198455 Operator : distanceSmallerThan Number : 2 Signature: line x line x real x bool -> bool Example : query distanceSmallerThan(BGrenzenLine, BGrenzenLine, 3.0, FALSE) Result : TRUE Operator : get Number : 1 Signature: points x int -> point Example : query get([const points value ((0.0 -1.2)(1.0 2.0))],1) Result : (point (1.0 2.0)) Operator : getx Number : 1 Signature: point -> real Example : query getx([const point value (0.0 -1.2)]) Result : (real 0.0) Operator : gety Number : 1 Signature: point -> real Example : query gety([const point value (0.0 -1.2)]) Result : (real -1.2) Operator : ininterior Number : 1 Signature: (point x region) -> bool Example : query mehringdamm ininterior thecenter Result : TRUE Operator : inside Number : 1 Signature: (point||points||line||region x points||line||simpleline||region) -> bool Example : query mehringdamm inside thecenter Result : TRUE Operator : intersection1 Number : 1 Signature: point x point Example : query intersection1([const point value( 1 3)], [const point value (1 3)]) Result : (points ((1.0 3.0))) Operator : intersection1 Number : 2 Signature: point x point Example : query intersection1([const point value( 1 3)], [const point value (1 5)]) Result : (points ()) Operator : intersection1 Number : 3 Signature: point x points Example : query intersection1([const point value( 1 3)], [const points value ((1 5)(1 3))]) Result : (points ((1.0 3.0))) Operator : intersection1 Number : 4 Signature: point x line Example : query intersection1(alexanderplatz, BGrenzenLine) Result : (points ()) Operator : intersection1 Number : 5 Signature: point x region Example : query intersection1(alexanderplatz, thecenter) Result : (points ((11068.0 12895.0))) Operator : intersection1 Number : 6 Signature: points x point Example : query intersection1(train7stations, alexanderplatz) Result : (points ()) Operator : intersection1 Number : 7 Signature: points x points Example : query intersection1(train7stations,train7stations)=train7stations Result : TRUE Operator : intersection1 Number : 8 Signature: points x line Example : query intersection1(vertices(BGrenzenLine), BGrenzenLine)=vertices(BGrenzenLine) Result : TRUE Operator : intersection1 Number : 9 Signature: points x region Example : query intersection1(train7stations, thecenter) Result : (points ( (5505.0 8963.0) (6126.0 9130.0) (6805.0 9248.0) (7451.0 9347.0) (8238.0 9660.0) (8988.0 10323.0) (9396.0 9871.0) (9883.0 9494.0) (10684.0 9295.0) (11837.0 8980.0) (12518.0 8482.0) (12871.0 7943.0) (13049.0 7140.0))) Operator : intersection1 Number : 10 Signature: line x point Example : query intersection1(train7sections, mehringdamm) Result : (points ((9396.0 9871.0))) Operator : intersection1 Number : 11 Signature: line x points Example : query intersection1(train7sections, train7stations) Result : (points ( (-3560.0 14235.0) (-3019.0 14499.0) (-2320.0 14423.0) (-1288.0 14532.0) (3643.0 13248.0) (3683.0 11621.0) (3770.0 12208.0) (3809.0 11037.0) (3853.0 10396.0) (8238.0 9660.0) (8988.0 10323.0) (9396.0 9871.0) (9883.0 9494.0) (13582.0 3543.0) (13592.0 5253.0) (13643.0 4410.0) (13933.0 2673.0) (14600.0 2157.0) (16821.0 1252.0))) Operator : intersection1 Number : 12 Signature: line x line Example : query intersection1(train7sections, train7sections) = train7sections Result : TRUE Operator : intersection1 Number : 13 Signature: line x region Example : query no_components(intersection1(train7sections, thecenter)) Result : 1 Operator : intersection1 Number : 14 Signature: region x point Example : query intersection1(thecenter, mehringdamm) Result : (points ((9396.0 9871.0))) Operator : intersection1 Number : 15 Signature: region x points Example : query intersection1(thecenter, train7stations) = intersection1(train7stations, thecenter) Result : TRUE Operator : intersection1 Number : 16 Signature: region x line Example : query intersection1(thecenter, boundary(thecenter)) = boundary(thecenter) Result : TRUE Operator : intersection1 Number : 17 Signature: region x region Example : query intersection1(thecenter, thecenter)= thecenter Result : TRUE Operator : intersects1 Number : 1 Signature: (points||line||region x points||line||region) -> bool Example : query trajectory(train7) intersects1 thecenter Result : TRUE Operator : isempty Number : 1 Signature: point -> bool, points -> bool, line -> bool,region -> bool Example : query isempty(mehringdamm) Result : FALSE Operator : line2region Number : 1 Signature: line -> region Example : query commonborder(tiergarten, tiergarten) line2region = tiergarten Result : TRUE Operator : minus1 Number : 1 Signature : point x point -> points Example : query [const point value( 1 3) ] minus1 [const point value ( 1 3)] Result : (points ()) Operator : minus1 Number : 2 Signature : point x point -> points Example : query [const point value( 2 4) ] minus1 [const point value ( 1 3)] Result : (points ((2.0 4.0))) Operator : minus1 Number : 3 Signature : point x points -> points Example : query [const point value(2 4)] minus1 [const points value ((1 3) (2 4))] Result : (points ()) Operator : minus1 Number : 4 Signature : point x line -> points Example : query [const point value ( 3 3 )] minus1 [const line value ((0 0 10 10))] Result : (points ()) Operator : minus1 Number : 5 Signature : points x region -> point Example : query mehringdamm minus1 thecenter Result : (points ()) Operator : minus1 Number : 6 Signature : points x point -> points Example : query [const points value ((1 3)( 4 5 )( 6 7))] minus1 [const point value (4 5)] Result : (points ((1.0 3.0)(6.0 7.0))) Operator : minus1 Number : 7 Signature : points x points -> points Example : query [const points value((1 3)(4 5)(6 7))] minus1 [const points value ((1 3)(6 7))] Result : (points ((4.0 5.0))) Operator : minus1 Number : 8 Signature : points x line -> points Example : query train7stations minus1 trajectory(train7) Result : (points ()) Operator : minus1 Number : 9 Signature : points x region -> points Example : query train7stations minus1 thecenter Result : (points ( (-3560.0 14235.0) (-3019.0 14499.0) (-2320.0 14423.0) (-1288.0 14532.0) (-267.0 14501.0) (863.0 14383.0) (1429.0 14388.0) (2354.0 14384.0) (2823.0 14355.0) (3353.0 13710.0) (3643.0 13248.0) (3683.0 11621.0) (3770.0 12208.0) (3809.0 11037.0) (3853.0 10396.0) (4072.0 9636.0) (4381.0 9276.0) (4911.0 8866.0) (13262.0 6390.0) (13582.0 3543.0) (13592.0 5253.0) (13643.0 4410.0) (13933.0 2673.0) (14600.0 2157.0) (15373.0 2039.0) (16013.0 2050.0) (16821.0 1252.0))) Operator : minus1 Number : 10 Signature : line x point -> line Example : query (train7sections minus1 mehringdamm) = train7sections Result : TRUE Operator : minus1 Number : 11 Signature : line x points -> line Example : query (train7sections minus1 train7stations) = train7sections Result : TRUE Operator : minus1 Number : 12 Signature : line x line -> line Example : query train7sections minus1 train7sections Result : (line ()) Operator : minus1 Number : 13 Signature : line x region -> line Example : query [const line value ((3000 5000 18000 18000))] minus1 thecenter Result : (line ( (3000.0 5000.0 6141.316589425605 7722.474377502192) (13987.266280866977 14522.297443418047 18000.0 18000.0))) Operator : minus1 Number : 14 Signature : region x point -> region Example : query (thecenter minus1 mehringdamm) = thecenter Result : TRUE Operator : minus1 Number : 15 Signature : region x points -> region Example : query (thecenter minus1 train7stations) = thecenter Result : TRUE Operator : minus1 Number : 16 Signature : region x line -> region Example : query (thecenter minus1 train7sections) = thecenter Result : TRUE Operator : minus1 Number : 17 Signature : region x region -> region Example : query thecenter minus1 thecenter Result : (region ()) Operator : union1 Number : 1 Signature : point x point -> points Example : query [const point value( 1 3)] union1 [const point value ( 6 7)] Result : (points ((1.0 3.0)(6.0 7.0))) Operator : union1 Number : 2 Signature : point x points -> points Example : query [const point value( 1 3)] union1 [const points value (( 6 7))] Result : (points ((1.0 3.0)(6.0 7.0))) Operator : union1 Number : 3 Signature : point x line -> line Example : query (mehringdamm union1 train7sections) = train7sections Result : TRUE Operator : union1 Number : 4 Signature : point x region -> regions Example : query (mehringdamm union1 thecenter) = thecenter Result : TRUE Operator : union1 Number : 5 Signature : points x point -> points Example : query [const points value(( 1 3))] union1 [const point value (6 7)] Result : (points ((1.0 3.0)(6.0 7.0))) Operator : union1 Number : 6 Signature : points x points -> points Example : query [const points value(( 1 3))] union1 [const points value (( 6 7))] Result : (points ((1.0 3.0)(6.0 7.0))) Operator : union1 Number : 7 Signature : points x line -> line Example : query (train7stations union1 train7sections) = train7sections Result : TRUE Operator : union1 Number : 8 Signature : points x region -> region Example : query (train7stations union1 thecenter) = thecenter Result : TRUE Operator : union1 Number : 9 Signature : line x point -> line Example : query (train7sections union1 mehringdamm) = train7sections Result : TRUE Operator : union1 Number : 10 Signature : line x points -> line Example : query (train7sections union1 train7stations) = train7sections Result : TRUE Operator : union1 Number : 11 Signature : line x line -> line Example : query (BGrenzenLine union1 train7sections) = (train7sections union1 BGrenzenLine) Result : TRUE Operator : union1 Number : 12 Signature : line x region -> region Example : query (train7sections union1 thecenter) = thecenter Result : TRUE Operator : union1 Number : 13 Signature : region x point -> region Example : query (thecenter union1 mehringdamm) = thecenter Result : TRUE Operator : union1 Number : 14 Signature : regions x points -> region Example : query (thecenter union1 train7stations) = thecenter Result : TRUE Operator : union1 Number : 15 Signature : region x line -> region Example : query (thecenter union1 train7sections) = thecenter Result : TRUE Operator : union1 Number : 16 Signature : region x region -> region Example : query (thecenter union1 tiergarten) = thecenter Result : TRUE Operator : no_components Number : 1 Signature: (points||line||region) -> int Example : query no_components(vertices(trajectory(train7))) Result : 147 Operator : no_segments Number : 1 Signature: (region) -> int Example : query no_segments(tiergarten) Result : 70 Operator : onborder Number : 1 Signature: (point x line||region) -> bool Example : query WFlaechen feed UBahn feed {u} symmjoin[.GeoData intersects1 ..GeoData_u] extend[Stretch: intersection1(.GeoData, .GeoData_u)] project[GeoData, Stretch] extend[Start: atposition(fromline(.Stretch), 0.0, TRUE), Middle: atposition(fromline(.Stretch), size(.Stretch)/2, TRUE)] extend[Onborder: .Start onborder .GeoData, NotOnBorder: .Middle onborder .GeoData] consume Result : file Operator : overlaps Number : 1 Signature: (region x region) -> bool Example : query koepenick overlaps thecenter Result : FALSE Operator : rect2region Number : 1 Signature: rect -> region Example : query [const rect value (-100.0 200.0 -50.0 500.0)] rect2region Result : (region ( ( ( (200.0 -50.0) (-100.0 -50.0) (-100.0 500.0) (200.0 500.0))))) Operator : scale Number : 1 Signature: for T in {point, points, line, region}: T x real -> T Example : query tiergarten scale[10.0] Result : file Operator : scale Number : 2 Signature: for T in {point, points, line, region}: T x real x real -> T Example : query tiergarten scale[1.0, 3.0] = tiergarten scale[1.0] Result : FALSE Operator : single Number : 1 Signature: (points) -> point Example : query single(vertices(thecenter)) Result : (point undefined) Operator : size Number : 1 Signature: (line) -> real Example : query size(trajectory(train7)) Result : 31662.126023561887 Operator : subline Number : 1 Signature: sline x real x real x bool -> line Example : query fromline(trajectory(train7)) within [fun(traj:ANY) subline(traj, 0.5 * size(traj), 0.6 * size(traj), TRUE)] Result : file Operator : touchpoints Number : 1 Signature: (line||region x region) -> points Example : query touchpoints(tiergarten, tiergarten) Result : file Operator : touchpoints Number : 2 Signature: (line||region x region) -> points Example : query WFlaechen feed {w} Flaechen feed {f} symmjoin[.GeoData_w adjacent ..GeoData_f] extend[Touch: touchpoints(.GeoData_w, .GeoData_f)] consume Result : file_platform Remark : On linux 64 bit and Mac 64 bit this query produces an object with a different list structure Operator : translate Number : 1 Signature: (point||points||line||region x real x real) -> point||points||line||region Example : query trajectory(train7) translate[100.0, 0.0] Result : file Operator : rotate Number : 1 Signature: (point||points||line||region x real x real x real) -> point||points||line||region Example : query [const point value (0.0 10.0)] rotate [0.0, 0.0, 360.0] Result : (point (0.0 10.0)) Tolerance: 0.1 Operator : vertices Number : 1 Signature: (region -> points) or (line -> points) Example : query vertices(thecenter) Result : file Operator : windowclippingin Number : 1 Signature: (line x rect) -> line, (region x rect) --> region Example : query Flaechen feed extend[InWindow: windowclippingin(.geoData, bbox(thecenter))] project[InWindow] filter[not(isempty(.InWindow))] consume Result : crashes Operator : windowclippingin Number : 2 Signature: (line x rect) -> line, (region x rect) --> region Example : query windowclippingin(trajectory(train7), bbox(thecenter)) Result : crashes Operator : windowclippingout Number : 1 Signature: (line x rect) -> line, (region x rect) --> region Example : query windowclippingout(trajectory(train7), bbox(thecenter)) Result : file Operator : longlines Number : 1 Signature: line -> stream (sline) Example : query trajectory(train7) longlines transformstream consume; Result : file Operator : polylines Number : 1 Signature: line -> stream (line) Example : query BGrenzenLine polylines [FALSE] count Result : (int 2) Operator : polylinesC Number : 1 Signature: line -> stream (line) Example : query BGrenzenLine polylinesC [FALSE] count Result : (int 1) Operator : simplify Number : 1 Signature: line x real -> line Example : query no_segments(simplify(BGrenzenLine,2000.0)) Result : (int 24) Operator : simplify Number : 2 Signature: line x real x points -> line Example : query no_segments(simplify(BGrenzenLine,2000.0, vertices(BGrenzenLine) )) = no_segments(BGrenzenLine) Result : (bool TRUE) Operator : segments Number : 1 Signature: line -> stream (line) Example : query (segments(BGrenzenLine) count) = no_segments(BGrenzenLine) Result : (bool TRUE) Operator : makeline Number : 1 Signature: point x point -> line Example : query makeline([const point value ( 0 0 )] , [const point value ( 100 100)]) Result : (line ( (0.0 0.0 100.0 100.0))) Operator : realminize Number : 1 Signature: line -> line Example : query trajectory(train1) = realminize(trajectory(train1)) Result : TRUE Remark : just a correction of the internal line representation Operator : center Number : 1 Signature: points -> point Example : query center( [const points value ((0 0)(10 10))]) Result : (point (5.0 5.0)) Operator : center Number : 2 Signature: rect -> point Example : query center([const rect value (0.0 1.0 2.0 3.0)]) Result : (point (0.5 2.5)) Operator : convexhull Number : 1 Signature: points -> region Example : query convexhull([const points value ((0 0) (10 0) (10 10) (5 3) )]) Result : (region ( ( ( (10.0 0.0) (0.0 0.0) (10.0 10.0))))) Operator : commonborder2 Number : 1 Signature : region x region -> line Example : query (thecenter commonborder2 thecenter) = boundary(thecenter) Result : (bool TRUE) Operator : fromline Number : 1 Signature : line -> sline Example : query abs(size(BGrenzenLine) - size(fromline(BGrenzenLine))) < 0.0001 Result : (bool TRUE) Operator : fromline Number : 2 Signature : line x bool -> sline Example : query abs(size(BGrenzenLine) - size(fromline(BGrenzenLine, FALSE))) < 0.0001 Result : (bool TRUE) Operator : fromline Number : 3 Signature : line x bool -> sline Example : query abs(size(BGrenzenLine) - size(fromline(BGrenzenLine, TRUE))) < 0.0001 Result : (bool TRUE) Operator : toline Number : 1 Signature : sline -> line Example : query (BGrenzenLine) = toline(fromline(BGrenzenLine)) Result : (bool TRUE) Operator : iscycle Number : 1 Signature : sline -> bool Example : query iscycle(fromline(BGrenzenLine)) Result : (bool TRUE) Operator : iscycle Number : 2 Signature : sline -> bool Example : query iscycle(fromline(trajectory(train7))) Result : (bool FALSE) Operator : gk Number : 1 Signature : point -> point | points -> points | line -> line | region -> region | sline -> sline Example : query gk([const point value (1.0 1.0)]) Result : (point (1942837.210480324 110590.6736442424)) Tolerance : 150.0 Operator : reverseGk Number : 1 Signature : point -> point | points -> points | line -> line | region -> region Example : query reverseGk(gk([const point value (7.0 51.0)])) Result : (point (7.0 51.0)) Tolerance : 0.00002 Operator : utm Number : 1 Signature : point -> point | line -> line | region -> region Example : query utm([const point value (1.0 1.0)]) Result : (point (166491.8309263389 -5907493.628309446)) Tolerance : 50.0 Operator : collect_line Number : 1 Signature : (stream point) x bool -> line Example : query no_segments(Kinos feed projecttransformstream[GeoData] collect_line[TRUE]) Result : (int 1119) Operator : collect_line Number : 2 Signature : (stream line) x bool -> line Example : query size(strassen feed projecttransformstream[GeoData] collect_line[TRUE]) Result : (real 2686760.928958891) Tolerance : 0.5 Operator : collect_line Number : 3 Signature : (stream sline) x bool -> line Example : query size(strassen feed projectextend[;G: fromline(.GeoData)] filter[isdefined(.G)] transformstream collect_line[TRUE]) Result : (real 2678603.846277799) Tolerance : 0.5 Operator : makesline Number : 3 Signature : point x point -> sline Example : query makesline(makepoint(0,0),makepoint(100.0,-100.0)) Result : (sline (((0.0 0.0 100.0 -100.0)) TRUE)) Tolerance : %0.001 Operator : collect_sline Number : 1 Signature : (stream point) x bool -> line Example : query no_segments(Kinos feed sortby[GeoData] projecttransformstream[GeoData] collect_sline[TRUE]) Result : (int 81) Operator : collect_sline Number : 2 Signature : (stream line) x bool -> line Example : query size(strassen feed sortby[GeoData] projecttransformstream[GeoData] collect_sline[TRUE]) Result : (real undefined) Operator : collect_sline Number : 3 Signature : (stream sline) x bool -> line Example : query size(strassen feed sortby[GeoData] projectextend[;G: fromline(.GeoData)] filter[isdefined(.G)] transformstream collect_sline[TRUE]) Result : (real undefined) Operator : makepoint Number : 1 Signature: {int|real} x {int|real} -> point Example : query makepoint (5,5) Result : (point (5.0 5.0)) Operator : makepoint Number : 2 Signature: {int|real} x {int|real} -> point Example : query makepoint (5,5.0) Result : (point (5.0 5.0)) Operator : makepoint Number : 3 Signature: {int|real} x {int|real} -> point Example : query makepoint (5.0,5) Result : (point (5.0 5.0)) Operator : makepoint Number : 4 Signature: {int|real} x {int|real} -> point Example : query makepoint (5.0,5.0) Result : (point (5.0 5.0)) Operator : collect_points Number : 1 Signature: stream(point) x bool -> points Example : query components(Kneipen feed projecttransformstream[GeoData] collect_points[TRUE]) count <= Kneipen count Result : TRUE Operator : halfSegments Number : 1 Signature: region -> stream(tuple( ... )) Example : query halfSegments(zoogarten) count Result : 56 Operator : get_startsmaller Number : 1 Signature: sline -> bool Example : query get_startsmaller(set_startsmaller(fromline(BGrenzenLine),FALSE)) Result : FALSE Operator : set_startsmaller Number : 1 Signature: sline x bool -> sline Example : query get_startsmaller(set_startsmaller(fromline(BGrenzenLine),FALSE)) Result : FALSE Operator : getstartpoint Number : 1 Signature: sline -> point Example : query getstartpoint(fromline(BGrenzenLine)); Result : (point(-10849.0 1142.0)) Tolerance: 0.01% Operator : getendpoint Number : 1 Signature: sline -> point Example : query getstartpoint(fromline(BGrenzenLine)); Result : (point(-10849.0 1142.0)) Tolerance: 0.01% Operator : create_sline Number : 1 Signature: point x point -> sline Example : query atposition(create_sline(makepoint(10,10),makepoint(0,0)),0.0,TRUE) = makepoint(0,0) Result : TRUE Operator : create_sline Number : 2 Signature: point x point -> sline Example : query atposition(create_sline(makepoint(10,10),makepoint(0,0)),0.0,FALSE) = makepoint(10,10) Result : TRUE Operator : distanceOrthodrome Number : 1 Signature: point x point [x string] -> real Example : query distanceOrthodrome(makepoint(13.4,52.517),makepoint(139.767, 35.7 ),create_geoid("WGS1984"))/1000.0 Result : (real 8941.201228) Tolerance: 0.2 Operator : heading Number : 1 Signature : point x point -> real Example : query heading(makepoint(0,0), makepoint(20,0)); Result : 90.0 Operator : heading Number : 2 Signature : (point x point [x geoid]) -> real Example : query heading(makepoint(7.56333,51.2917),makepoint(-74,40.7167),create_geoid("WGS1984")) Result : 293.1608285648 Operator : point2string Number : 1 Signature : point [x geoid] -> string Example : query point2string(makepoint(7.494968217,51.376125146), create_geoid("WGS1984")) Result : "(51°22'34.05052560\"N, 7°29'41.88558120\"E)" Operator : midpointBetween Number : 1 Signature : point x point [x geoid] [x real] -> point Example : query midpointBetween(makepoint(7.494968217,51.376125146), makepoint(0.0,0.0), create_geoid("WGS1984"), 0.75) Result : (point (1.382368149083 13.03345148903)) Tolerance : 0.0000001 Operator : direction2heading Number : 1 Signature : real -> real Example : query direction2heading(45.5) Result : 44.5 Operator : heading2direction Number : 1 Signature : real -> real Example : query heading2direction(275.0) Result : 175.0 Operator : create_triangle Number : 1 Signature : point x point x point -> region Example : query create_triangle(makepoint(0,0),makepoint(10,10),makepoint(10,-10)) Result : (region ((( (10.0 -10.0) (0.0 0.0) (10.0 10.0))))) Operator : circle Number : 1 Signature: (point real int) -> region Example : query circle (mehringdamm,10.0,5) Result : (region((((9399.090169943749 9861.489434837049)(9387.909830056251 9865.122147477075)(9387.909830056251 9876.877852522925)(9399.090169943749 9880.510565162951)(9406.0 9871.0))))) Tolerance: 0.0001 Operator : splitslineatpoints Number : 1 Signature: sline x points -> (stream sline) Example : query splitslineatpoints(create_sline(makepoint(10.0,10.0), makepoint(0.0,0.0)), [const points value((5.5 5.5))]) count; Result : 2 Tolerance: 0.01% Operator : findCycles Number : 1 Signature : line -> stream(line) Example : query findCycles(BGrenzenLine) count Result : 1 Operator : findCycles Number : 2 Signature : line x bool-> stream(line) Example : query findCycles([const line value ((0 0 100 0)(100 0 100 100)(100 100 0 100)(0 100 0 0)(20 20 80 20)(80 20 80 80)(80 80 20 80)(20 80 20 20)(20 20 80 80))]) namedtransformstream[L] tconsume Result : ((trel (tuple ((L line)))) ((((0.0 0.0 100.0 0.0) (0.0 0.0 0.0 100.0) (0.0 100.0 100.0 100.0) (100.0 0.0 100.0 100.0))) (((20.0 20.0 80.0 80.0) (20.0 20.0 20.0 80.0) (20.0 80.0 80.0 80.0))) (((20.0 20.0 80.0 20.0) (20.0 20.0 80.0 80.0) (80.0 20.0 80.0 80.0))))) Remark : The boolean argument enables hole detection Operator : markUsage Number : 1 Signature : line -> stream(tzuple((l line)(U int))) Example : query markUsage(BGrenzenLine) krdup[Usage] count Result : 1 Operator : criticalPoints Number : 1 Signature : line -> points Example : query criticalPoints(BGrenzenLine) Result : (points ()) Operator : testRegionCreator Number : 1 Signature : line -> region Example : query boundary(testRegionCreator(BGrenzenLine)) = BGrenzenLine Result : TRUE Operator : collect_box Number : 1 Signature : stream x bool -> rectangle, where n in {1, 2, 3, 4, 8} Example : query (strassen feed projecttransformstream[GeoData] collect_box[TRUE]) = strassen feed extend[B : bbox(.GeoData)] aggregateB[B; fun(r1 : rect,r2: rect) r1 union r2; [const rect value undef] ] Result : TRUE Operator : intersection_rob Number : 1 Signature: region x line -> line Example : query intersection1(thecenter, boundary(thecenter)) = intersection_rob(thecenter, boundary(thecenter)) Result : TRUE Operator : intersection_rob Number : 2 Signature : line x line -> line Example : query intersection_rob(BGrenzenLine, BGrenzenLine) = BGrenzenLine Result : TRUE Operator : contains_rob Number : 1 Signature: region x point [x bool] -> bool Example : query contains_rob(thecenter,mehringdamm) Result : TRUE Operator : getHoles Number : 1 Signature : region -> region Example : query getHoles((BGrenzenLine line2region ) minus1 thecenter) = thecenter Result : TRUE Operator : collect_line2 Number : 1 Signature : stream(line) -> line Example : query size((strassen feed projecttransformstream[GeoData] collect_line[TRUE]) minus1 (strassen feed projecttransformstream[GeoData] collect_line2) ) < 1.0 Result : TRUE Operator: getInnerPoint Number : 1 Signature : region -> point Example : query (WFlaechen feed extend[IP : getInnerPoint(.GeoData)] filter[ .IP ininterior .GeoData] count) = (WFlaechen count) Result : TRUE Operator: checkRealm Number : 1 Signature: {line,reagion} -> bool Example : query (strassen feed filter[ checkRealm(.GeoData)] count) = strassen count Result : TRUE Operator: badRealm Number : 1 Signature: {line,reagion} -> stream(tuple( (No1 int)(Partner1 int)(Segment1 line)(No2 int)(Partner2 int)(Segment2 line))) Example : query badRealm(BGrenzenLine) count Result : 0 Operator : crossings_rob Number : 1 Signature: line x line -> points Example : query crossings_rob(BGrenzenLine,BGrenzenLine); Result : (points ()) Operator : splitline Number : 1 Signature : line x real [x geoid] -> stream(line) Example : query ( splitline(BGrenzenLine,25.0) count) = ((real2int(size(BGrenzenLine)) div 25) + 1) Result : TRUE Operator : computeDRM Number : 1 Signature : SPATIAL2D x SPATIAL2D -> drm Example : query computeDRM(mehringdamm,BGrenzenLine) Result : (drm 16) Operator : computeOIM Number : 1 Signature : SPATIAL2D x SPATIAL2D -> drm Example : query computeOIM(thecenter, mehringdamm) Result : (oim (3 3 (1 1 1 1 3 1 1 1 1))) Operator : collectDline Number : 1 Signature : stream(X) x bool -> dline , X in {point,line,dline) Example : query no_segments(BGrenzenLine) = no_segments( BGrenzenLine feed collectDline[TRUE]) Result : TRUE Operator : computeLabel Number : 1 Signature : line x string -> spatiallabel Example : query computeLabel( [const line value ((0 0 3 3))], "aline") Result : (spatiallabel ('aline' 1.0 1.0 -45.0)) Tolerance : 0.5 Operator : centroidDisc Number : 1 Signature : points [x geoid] -> disc Example : query centroidDisc(train7stations) Result : (disc (7166.5 9433.525 12654.90899120278)) Tolerance : 0.5 Operator : calcDisc Number : 1 Signature : points [x geoid] -> disc Example : query calcDisc(train7stations) Result : (disc (6630.5 7743.5 12082.46094551933)) Tolerance : 0.5 Operator : createDisc Number : 1 Signature : point [x point[ x point]] -> disc Example : query createDisc([const point value(8 9)]) Result : (disc (8.0 9.0 0.0)) Tolerance : 0.1 Operator : berlin2wgs Number : 1 Signature : T -> T, where T in {point, points, line, region, rect} Example : query berlin2wgs([const point value (13132 10876)]) Result : (point (13.443927 52.503153)) Tolerance : 0.01 Operator : elements Number : 1 Signature : points -> stream(point) Example : query (elements(train7stations) count) = ( components(train7stations) count) Result : TRUE Operator : twist Number : 1 Signature : real x int x int -> dline Example : query no_segments(twist(40.0,5,2)) Result : 5 Operator : contour2 Number : 1 Signature : dline x real -> region Example : query area(boundary(thecenter) contour2[16, 2, TRUE]) > 0 Result : TRUE Operator : twist2 Number : 1 Signature : dline x int x bool -> dline Example : query no_segments(twist2([const dline value ((1 1 1 10)(1 1 10 1))], 2, FALSE)) Result : 2 Operator : twist3 Number : 1 Signature : dline x double -> dline Example : query no_segments(twist3([const dline value ((1 1 1 10)(1 10 10 1)(10 1 1 1))],0.4)) Result : 56 Operator : toSVG Number : 1 Signature : dline -> FText Example : query toSVG([const dline value ((0 0 10 10))] ) contains "svg" Result : TRUE Operator : simpleProject Number : 1 Signature : SPATIAL -> SPATIAL Example : query simpleProject([const point value (0 0)]) Result : (point (0.0 0.0)) Operator : todline Number : 1 Signature : {line, region} -> dline Example : query [const line value ((0 0 1 1)(1 2 2 2))] todline Result : (dline ( (0.0 0.0 1.0 1.0) (1.0 2.0 2.0 2.0))) Operator : distanceWithin Number : 1 Signature : SPATIAL x SPATIAL x {int, real} [x geoid] -> bool Example : query distanceWithin(alexanderplatz, mehringdamm, 2000) Result : FALSE Operator : orderLine Number : 1 Signature : sline -> stream(Start: point, End: point) Example : query no_segments(fromline(boundary(westhafen))) = orderLine(fromline(boundary(westhafen))) count Result : TRUE