Database : TileAlgebraTest Restore : NO Operator : atinstant Number : 1 Signature: mtT x instant -> itT Example : query [const mtint value ((0.0 0.0 1.0 2.0) (2 2 2) (0 0 0 (0 1 2 3 4 5 6 7)))] atinstant create_instant(2.0) Result : file Operator : atlocation Number : 1 Signature: tT x point -> T Example : query [const tint value ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7)))] atlocation [[const point value (1.5 1.5)]] Result : file Operator : atlocation Number : 2 Signature: mtT x point -> mT Example : query [const mtint value ((0.0 0.0 1.0 1.0) (2 2 2) (0 0 0 (0 1 2 3 4 5 6 7)))] atlocation [[const point value (1.5 1.5)]] Result : file Operator : atlocation Number : 3 Signature: mtT x point x instant -> T Example : query [const mtint value ((0.0 0.0 1.0 1.0) (2 2 1) (0 0 0 (0 1 2 3)) (29 29 9 (4 5 6 7)))] atlocation [[const point value (1.5 1.5)] , [const instant value "2000-01-03-00:00:00.001"]] Result : file Operator : atperiods Number : 1 Signature: mtT x periods -> mtT Example : query [const mtint value ((2.0 2.0 1.0 2.0) (2 2 1) (0 0 0 (0 1 2 3)) (29 29 9 (4 5 6 7)))] atperiods [const periods value (("2000-01-03" "2000-01-05" TRUE FALSE))] Result : file Operator : atrange Number : 1 Signature: xT x rect -> xT Example : query [const tint value ((2.0 2.0 1.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7)))] atrange [[const rect value (3.0 31.0 3.0 31.0)]] Result : file Operator : atrange Number : 2 Signature: mtT x rect x instant x instant -> mtT Example : query [const mtint value ((2.0 2.0 1.0 1.0) (2 2 1) (0 0 0 (0 1 2 3)) (29 29 9 (4 5 6 7)))] atrange [[const rect value (2.5 31.5 2.5 31.5)], [const instant value "2000-01-03"], [const instant value "2000-01-04"]] Result : file Operator : bbox Number : 1 Signature: tT -> rect Example : query bbox([const tint value ((1.1 2.2 1.0) (2 2) (0 0 (0 1 2 3)) (28 28 (4 5 6 7)))]) Result : file Operator : bbox Number : 2 Signature: mtT -> rect3 Example : query bbox([const mtint value ((1.0 1.0 1.0 1.0) (2 2 1) (0 0 0 (0 1 2 3)) (8 8 9 (4 5 6 7)))]) Result : file Operator : CELL1 Number : 1 Signature: xT x ... -> T Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] map [fun(n: CELL1) n * 2] Result : file Operator : CELL2 Number : 1 Signature: xT x yU x ... -> U Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] map2 [fun(n: int, m: CELL2) n + m] Result : file Operator : CELLS Number : 1 Signature: xT x ... -> rel(tuple([Elem : T])) Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] matchgrid[[const tgrid value (0.0 0.0 0.5)], fun(c: CELLS) c feed avg[Elem], FALSE] Result : file Operator : compose Number : 1 Signature: mpoint x tT -> mT Example : query [const mpoint value ((("2000-01-03-00:00:00.000" "2000-01-05-00:00:00.000" TRUE FALSE) (0.5 0.5 1.5 1.5)) (("2000-01-05-00:00:00.000" "2000-01-07-00:00:00.000" TRUE FALSE) (10.5 10.5 10.0 10.0)) (("2000-01-07-00:00:00.000" "2000-01-09-00:00:00.000" TRUE FALSE) (1.0 1.0 0.5 0.5)))] compose [const tint value ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (2 2 (4 5 6 7)))] Result : file Operator : deftime Number : 1 Signature: mtT -> periods Example : query deftime([const mtint value ((0.0 0.0 1.0 1.0) (1 1 1) (0 0 0 (1)) (1 1 1 (1)))]) Result : file Operator : fromline Number : 1 Signature: line x tgrid -> stream(tbool) Example : query fromline([const line value ((64.0 14.2 194.0 44.2))], [const tgrid value (10.0 10.0 2.0)]) count Result : file Operator : fromregion Number : 1 Signature: region x tgrid -> stream(tbool) Example : query fromregion([const region value ((((0.0 1.0) (1.0 0.0) (2.0 0.0) (3.0 1.0) (3.0 2.0) (2.0 3.0) (1.0 3.0) (0.0 2.0) (0.0 1.0))))], [const tgrid value (0.0 0.0 1.0)]) count Result : file Operator : getgrid Number : 1 Signature: tT -> tgrid Example : query getgrid([const tint value ((0.0 1.0 2.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7)))]) Result : file Operator : getgrid Number : 2 Signature: mtT -> mtgrid Example : query getgrid([const mtint value ((0.0 1.0 2.0 3.0) (2 2 1) (0 0 0 (0 1 2 3)) (29 29 9 (4 5 6 7)))]) Result : file Operator : inst Number : 1 Signature: itT -> instant Example : query inst([const itint value ((instant "2013-05-13") ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7))))]) Result : file Operator : map Number : 1 Signature: xT x (T -> U) -> xU Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] map [. * 2] Result : file Operator : map2 Number : 1 Signature: tT x tU x (T x U -> V) -> tV Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] map2 [fun(n: int, m: int) n + m] Result : file Operator : map2 Number : 2 Signature: tT x mtU x (T x U -> V) -> mtV Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] [const mtint value ((0.0 0.0 1.0 1.0) (1 1 1) (0 0 0 (1)) (0 0 9 (1)))] map2 [fun(n: int, m: int) n + m] Result : file Operator : map2 Number : 3 Signature: mtT x tU x (T x U -> V) -> mtV Example : query [const mtint value ((0.0 0.0 1.0 1.0) (1 1 1) (0 0 0 (1)) (0 0 9 (1)))] [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] map2 [fun(n: int, m: int) n + m] Result : file Operator : map2 Number : 4 Signature: mtT x mtU x (T x U -> V) -> mtV Example : query [const mtint value ((0.0 0.0 1.0 1.0) (1 1 1) (0 0 0 (1)) (0 0 9 (1)))] [const mtint value ((0.0 0.0 1.0 1.0) (1 1 1) (0 0 0 (1)) (0 0 9 (1)))] map2 [fun(n: int, m: int) n + m] Result : file Operator : matchgrid Number : 1 Signature: tT x tgrid x (rel(tuple([Elem : T])) -> U) x bool -> tU Example : query [const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))] matchgrid[[const tgrid value (0.0 0.0 0.5)], fun(cell: rel(tuple([Elem : int]))) cell feed avg[Elem], FALSE] Result : file Operator : matchgrid Number : 2 Signature: mtT x mtgrid x (rel(tuple([Elem : T])) -> U) x bool -> mtU Example : query [const mtint value ((0.0 0.0 1.0 2.0) (1 1 1) (0 0 0 (1)))] matchgrid[[const mtgrid value (0.0 0.0 0.5 (duration (1 0)))], fun(cell: rel(tuple([Elem : int]))) cell feed avg[Elem], FALSE] Result : file Operator : maximum Number : 1 Signature: tT -> T Example : query maximum([const tint value ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7)))]) Result : file Operator : maximum Number : 2 Signature: mtT -> T Example : query maximum([const mtint value ((0.0 0.0 1.0 1.0) (2 2 1) (0 0 0 (0 1 2 3)) (29 29 9 (4 5 6 7)))]) Result : file Operator : minimum Number : 1 Signature: tT -> T Example : query minimum([const tint value ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7)))]) Result : file Operator : minimum Number : 2 Signature: mtT -> T Example : query minimum([const mtint value ((0.0 0.0 1.0 1.0) (2 2 1) (0 0 0 (0 1 2 3)) (29 29 9 (4 5 6 7)))]) Result : file Operator : t2mt Number : 1 Signature: tT x duration x instant x instant -> mtT Example : query t2mt([const tint value ((0.0 0.0 1.0) (1 1) (0 0 (1)))], [const duration value (0 43200000)], [const instant value "2000-01-03"], [const instant value "2000-01-04"]) Result : file Operator : tiles Number : 1 Signature: grid2 -> tgrid Example : query tiles([const grid2 value (1.2 3.4 5.6)]) Result : file Operator : tiles Number : 2 Signature: grid3 -> mtgrid Example : query tiles([const grid3 value (1.2 3.4 5.6 (duration (7 0)))]) Result : file Operator : tiles Number : 3 Signature: sT -> stream(tT) Example : query tiles([const sint value ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (60 60 (4 5 6 7)))]) count Result : file Operator : tiles Number : 4 Signature: msT -> stream(mtT) Example : query tiles([const msint value ((0.0 0.0 1.0 1.0) (2 2 1) (0 0 0 (0 1 2 3)) (60 60 9 (4 5 6 7)))]) count Result : file Operator : tiles Number : 5 Signature: isT -> stream(itT) Example : query tiles([const isint value ((instant "2013-05-13") ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (60 60 (957 958 959 960))))]) count Result : file Operator : toraster2 Number : 1 Signature: tgrid -> grid2 Example : query toraster2([const tgrid value (1.2 3.4 5.6)]) Result : file Operator : toraster2 Number : 2 Signature: mtgrid -> grid3 Example : query toraster2([const mtgrid value (1.2 3.4 5.6 (duration (7 0)))]) Result : file Operator : toraster2 Number : 3 Signature: stream(tT) -> sT Example : query toraster2(tiles([const sint value ((-10.0 -10.0 1.0) (1 1) (0 0 (0)) (31 0 (1)) (0 31 (2)) (61 61 (3)))])) Result : file Operator : toraster2 Number : 4 Signature: stream(mtT) -> msT Example : query toraster2(tiles([const msint value ((-10.0 -10.0 1.0 1.0) (1 1 1) (0 0 0 (0)) (10 0 0 (1)) (0 10 0 (2)) (19 19 9 (3)))])) Result : file Operator : toraster2 Number : 5 Signature: stream(itT) -> isT Example : query toraster2(tiles([const isint value ((instant "2013-05-13") ((-10.0 -10.0 1.0) (1 1) (0 0 (0)) (31 0 (1)) (0 31 (2)) (61 61 (3))))])) Result : file Operator : toregion Number : 1 Signature: tbool -> region Example : query [const tbool value ((0.0 0.0 1.0) (31 31) (0 0 (TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE)))] toregion Result : file Operator : val Number : 1 Signature: itT -> tT Example : query val([const itint value ((instant "2013-05-13") ((0.0 0.0 1.0) (2 2) (0 0 (0 1 2 3)) (29 29 (4 5 6 7))))]) Result : file