Files
secondo/Algebras/FixedMRegion/test/Massentest.sec
2026-01-23 17:03:45 +08:00

85 lines
4.6 KiB
Plaintext

delete database fmrtest;
restore database fmrtest from '../../secondo-data/Databases/germany';
open database fmrtest;
# load raw data
let KDRSchema = [const rel(tuple([
Latitude: real,
Longitude: real,
UTC: string,
Altitude: int,
Distance: real,
Speed: int,
Date: string,
Name: string,
Sat: int
]))
value ()]
let Raw = KDRSchema csvimport['Trk110731.csv', 7, "#", ","] consume
# create Trip for each day
let onehour = [const duration value (0 3600000)]
let DayTrips = Raw feed
extend[
I: str2instant(.Date + "-" + .UTC) + onehour,
P: makepoint(.Longitude, .Latitude)]
sortby[Date asc, I asc]
groupby[Date
; DayTrip: group feed approximate[I, P, [const duration value (0 300000)]] ]
consume
# alternative representation: split by trips
let Trips = DayTrips feed
projectextendstream[Date
; Trip: .DayTrip sim_trips[ [const duration value (0 300000)]] ]
consume
# finding stops
# starting and ending points for each trip
let Stops =
Trips feed projectextend[Date; Time: inst(initial(.Trip)), Stop: val(initial(.Trip)), Kind: "start"]
Trips feed projectextend[Date; Time: inst(final(.Trip)), Stop: val(final(.Trip)), Kind: "end"]
concat
sortby[Date, Time]
consume
delete mmoves;
let mmoves = Trips feed extend [T: tripstommove(.Trip)] consume;
delete p1;
let p1 = [const point value(1.2 1.4)];
delete mtest1;
let mtest1 = Kreis feed extend [G: .Gebiet] loopjoin [mmoves feed ] project [G,T] consume;
delete fmrlist;
let fmrlist = mtest1 feed extend[F: makefmr(.G, .T, p1)] project [F] consume;
delete t1;
let t1 = [const instant value 0.0];
delete aires;
let aires=fmrlist feed extend[A: .F atinstant t1] project [A] consume;
delete t2;
let t2 = [const instant value 0.0];
delete tvres;
let tvres=fmrlist feed extend[A: fmr_traversed(.F, t1, t2)] project [A] consume;
delete mp;
let mp = [const mpoint value ((("2003-11-20-06:00" "2003-11-20-07:00" TRUE FALSE)(2.0 3.0 2.0 3.0)))] ;
delete ires;
let ires=fmrlist feed extend[A: mp inside .F] project [A] consume;
delete intres;
let intres=fmrlist feed extend[A: mp fmr_intersection .F] project [A] consume;
delete tanker;
let tanker= [const fixedmregion value (((((-3.0 -10.0) (3.0 -10.0) (3.0 6.0) (0.0 10.0) (-3.0 6.0)))) ((("2000-01-03" "2000-01-04" TRUE TRUE) (0.0 0.0 0.0 0.0 0.0 -1.570796326794897))) (20.0 0.0) 0.0)];
delete times;
let times= [const rel(tuple([Time: instant])) value ((0.0)(0.1)(0.2)(0.3)(0.4)(0.5)(0.6)(0.7)(0.8)(0.9)(1.0))];
delete observations;
let observations = [const rel(tuple([OBS: iregion])) value ((("2000-01-03" ((((-3.0 -10.0) (3.0 -10.0) (3.0 6.0) (0.0 10.0) (-3.0 6.0))))))(("2000-01-03-02:24" ((((-4.281176484090479 -6.278890710026068) (1.644953559480347 -7.217497500267455) (4.147905000124041 8.585515949254752) (1.810577838499551 13.00557270675599) (-1.778225043446785 9.524122739496136))))))(("2000-01-03-04:48" ((((-4.964469818538004 -2.403174292327745) (0.7418692792329171 -4.257276258577428) (5.686141189232075 10.95962800214503) (4.069039617846405 15.69090505045048) (-0.02019790853884551 12.81372996839471))))))(("2000-01-03-07:12" ((((-5.033055053727929 1.531716252125896) (0.3129840914022788 -1.192226746311384) (7.576832087235027 13.0638776407025) (6.71977451362811 17.98987523667461) (2.230792942104819 15.78782063913978))))))(("2000-01-03-09:36" ((((-4.485243393548522 5.428890858977408) (0.3688585727011615 1.902179345222569) (9.773422609380733 14.84645125522173) (9.697512635425783 19.84587498959894) (4.919320643131048 18.37316276897657))))))(("2000-01-03-12:00" ((((-3.334523779156068 9.192388155425116) (0.9081169079632172 4.949747468305832) (12.22182540694798 16.26345596729059) (12.92893218813452 21.21320343559643) (7.979184719828691 20.50609665440988))))))(("2000-01-03-14:24" ((((-1.609230746476358 12.72953834769906) (1.917480767278481 7.875436381449376) (14.86175267727764 17.28000041812895) (16.33446489790001 22.05819241042368) (11.3350411635228 22.13410238437863))))))(("2000-01-03-16:48" ((((0.6481532641067442 15.95324505893699) (3.372096262544025 10.60720591380679) (17.62820064955791 17.87105390963954) (19.83025524709274 22.36003548116283) (14.90425765112063 23.21709305476974))))))(("2000-01-03-19:12" ((((3.382043966424675 18.78412993103905) (5.236145932674358 13.07779083326813) (20.45305019339681 18.02206274326729) (23.33022527545258 22.11130026965255) (18.59894822714713 23.72840184103821))))))(("2000-01-03-21:36" ((((6.525123898123308 21.15248718328586) (7.463730688364695 15.22635713971503) (23.2667441378869 17.72930858035873) (26.74819410514676 21.31811146230507) (22.32813734764552 23.65543862392956))))))(("2000-01-04" ((((10.0 17.0) (26.0 17.0) (30.0 20.0) (26.0 23.0) (10.0 23.0)))))))];
query observations feed transformstream interpolate;