Database : berlintest Restore : NO Operator : crossings Number : 1 Signature: linep x linep -> pointsp Example : query crossings([const linep value(((1 1 ('0' '0'))(2 1 ('0' '0'))))],[const linep value (((1 1 ('0' '0'))(1 2 ('0' '0'))))]) Result : (pointsp ((1 1 ('0' '0')))) Operator : union Number : 1 Signature: linep x linep -> linep Example : query [const linep value (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4'))))] union [const linep value(((1 1 ('1/4' '1/4'))(1 2 ('1/4' '1/4'))))] Result : (linep (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4')))((1 1 ('1/4' '1/4'))(1 2 ('1/4' '1/4'))))) Operator : union Number : 2 Signature: regionp x regionp -> regionp Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] union [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : (regionp (0 ((((3 0 ())(0 0 ())(0 3 ())(3 3 ())))))) Operator : intersection Number : 1 Signature: linep x linep -> linep Example : query intersection ([const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))],[const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))]) Result : (linep (((2 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))) Operator : intersection Number : 2 Signature: regionp x regionp -> regionp Example : query intersection([const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))], [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))]) Result : (regionp (0 ((((2 1 ())(1 1()) (1 2 ()) (2 2 ())))))) Operator : intersects Number : 1 Signature: linep x linep -> bool Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] intersects [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : TRUE Operator : intersects2 Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] intersects2 [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : overlaps2 Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] overlaps2 [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : minus Number : 1 Signature: linep x linep -> linep Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] minus [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : (linep (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4'))))) Operator : minus Number : 2 Signature: regionp x regionp -> regionp Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] minus [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : (regionp ()) Operator : lineToLinep Number : 1 Signature: line -> linep Example : query lineToLinep ([const line value((1.0 1.5 2.0 2.5))]) Result : (linep (((1 1 ('0' '1/2')) (2 2 ('0' '1/2'))))) Operator : inside2 Number : 1 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] inside2 [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : crossingsWithScaling Number : 1 Signature: linep x linep -> pointsp Example : query crossingsWithScaling([const linep value(((1 1 ('0' '0'))(2 1 ('0' '0'))))],[const linep value (((1 1 ('0' '0'))(1 2 ('0' '0'))))]) Result : (pointsp ((1 1 ('0' '0')))) Operator : unionWithScaling Number : 1 Signature: linep x linep -> linep Example : query [const linep value (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4'))))] unionWithScaling [const linep value(((1 1 ('1/4' '1/4'))(1 2 ('1/4' '1/4'))))] Result : (linep (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4')))((1 1 ('1/4' '1/4'))(1 2 ('1/4' '1/4'))))) Operator : unionWithScaling Number : 2 Signature: regionp x regionp -> regionp Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] unionWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : (regionp (0 ((((3 0 ())(0 0 ())(0 3 ())(3 3 ())))))) Operator : intersectionWithScaling Number : 1 Signature: linep x linep -> linep Example : query intersectionWithScaling ([const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))],[const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))]) Result : (linep (((2 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))) Operator : intersectionWithScaling Number : 2 Signature: regionp x regionp -> regionp Example : query intersectionWithScaling([const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))], [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))]) Result : (regionp (0 ((((2 1 ())(1 1()) (1 2 ()) (2 2 ())))))) Operator : intersectsWithScaling Number : 1 Signature: linep x linep -> bool Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] intersectsWithScaling [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : TRUE Operator : intersectsWithScaling Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] intersectsWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : overlapsWithScaling Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] overlapsWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : minusWithScaling Number : 1 Signature: linep x linep -> linep if(ProjectionManager.project(coord[0],coord[1],aPoint)){ coord[0] = aPoint.x; coord[1] = aPoint.y; return true; } Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] minusWithScaling [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : (linep (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4'))))) Operator : minusWithScaling Number : 2 Signature: regionp x regionp -> regionp Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] minusWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : (regionp ()) Operator : insideWithScaling Number : 1 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] insideWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : coarse Number : 1 Signature: regionp -> region Example : query coarse ([const regionp value(0((((3 0 ())(10 1 ())(3 1 ())))))]) Result : (region ((((9.0 0.0)(3.0 0.0)(3.0 1.0)(9.0 1.0))))) Operator : coarse2 Number : 1 Signature: regionp -> region Example : query coarse2 ([const regionp value(0((((3 0 ())(10 1 ())(3 1 ())))))]) Result : (region ((((9.0 0.0)(3.0 0.0)(3.0 1.0)(9.0 1.0))))) Operator : testUnion Number : 1 Signature: linep x linep -> bool Example : query [const linep value (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4'))))] testUnion [const linep value(((1 1 ('1/4' '1/4'))(1 2 ('1/4' '1/4'))))] Result : TRUE Operator : testUnion Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] testUnion [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : testIntersection Number : 1 Signature: linep x linep -> bool Example : query testIntersection ([const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))],[const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))]) Result : TRUE Operator : testIntersection Number : 2 Signature: regionp x regionp -> bool Example : query testIntersection([const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))], [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))]) Result : TRUE Operator : testIntersects Number : 1 Signature: linep x linep -> bool Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] testIntersects [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : TRUE Operator : testIntersects Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] testIntersects [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : testMinus Number : 1 Signature: linep x linep -> bool Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] testMinus [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : TRUE Operator : testMinus Number : 2 Signature: regionp x regionp -> regionp Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] testMinus [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : testUnionWithScaling Number : 1 Signature: linep x linep -> bool Example : query [const linep value (((1 1 ('1/4' '1/4'))(2 1 ('1/4' '1/4'))))] testUnionWithScaling [const linep value(((1 1 ('1/4' '1/4'))(1 2 ('1/4' '1/4'))))] Result : TRUE Operator : testUnionWithScaling Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] testUnionWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : testIntersectionWithScaling Number : 1 Signature: linep x linep -> bool Example : query testIntersectionWithScaling ([const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))],[const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))]) Result : TRUE Operator : testIntersectionWithScaling Number : 2 Signature: regionp x regionp -> bool Example : query testIntersectionWithScaling([const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))], [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))]) Result : TRUE Operator : testIntersectsWithScaling Number : 1 Signature: linep x linep -> bool Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] testIntersectsWithScaling [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : TRUE Operator : testIntersectsWithScaling Number : 2 Signature: regionp x regionp -> bool Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] testIntersectsWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] Result : TRUE Operator : testMinusWithScaling Number : 1 Signature: linep x linep -> bool Example : query [const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))] testMinusWithScaling [const linep value(((2 1 ('1/4' '1/4'))(4 1 ('1/4' '1/4'))))] Result : TRUE Operator : testMinusWithScaling Number : 2 Signature: regionp x regionp -> regionp Example : query [const regionp value(0 ((((1 1 ())(1 2 ())(2 2 ())(2 1 ())))))] testMinusWithScaling [const regionp value(0((((0 0())(0 3())(3 3())(3 0())))))] f(ProjectionManager.project(coord[0],coord[1],aPoint)){ coord[0] = aPoint.x; coord[1] = aPoint.y; return true; } Result : TRUE Operator : bbox Number : 1 Signature: (pointp||pointsp||linep) [x geoid] -> rect Example : query bbox([const pointp value(1 1 ('1/4' '1/4'))]) Result : (rect ( (1.25,1.25) - (1.25,1.25) )) Operator : bbox Number : 2 Signature: (pointp||pointsp||linep) [x geoid] -> rect Example : query bbox([const pointsp value((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4')))]) Result : (rect ( (1.25,1.25) - (3.25,1.25) )) Operator : bbox Number : 3 Signature: (pointp||pointsp||linep) [x geoid] -> rect Example : query bbox([const linep value(((1 1 ('1/4' '1/4'))(3 1 ('1/4' '1/4'))))]) Result : (rect ( (1.25,1.25) - (3.25,1.25) ))