From 65eb1a72a6acb9f21b82fc816ceed6d34e0eab5e Mon Sep 17 00:00:00 2001 From: Veronica Andreo Date: Sat, 24 May 2025 16:43:10 -0300 Subject: [PATCH] Time series tutorial: Adding part 6 - Querying time series data --- .../images/comparison_of_granularities.png | Bin 0 -> 15149 bytes .../tutorials/time_series/images/points.png | Bin 0 -> 110352 bytes .../time_series_query_with_vector.qmd | 522 ++++++++++++++++++ 3 files changed, 522 insertions(+) create mode 100644 content/tutorials/time_series/images/comparison_of_granularities.png create mode 100644 content/tutorials/time_series/images/points.png create mode 100644 content/tutorials/time_series/time_series_query_with_vector.qmd diff --git a/content/tutorials/time_series/images/comparison_of_granularities.png b/content/tutorials/time_series/images/comparison_of_granularities.png new file mode 100644 index 0000000000000000000000000000000000000000..f6b77b21b8eecc2a5562d1d5b377fae0da481458 GIT binary patch literal 15149 zcmeHu2~<<(wm){V)gnz%L8d4UfJ{Z1$66VjfFjBulY)TCWMqbf+-i|9TTxKP3RRR* zKnP=ED-aO@Q5j+gNFsxbhADxB@ZTS`z4!iC*Lv%{d*8b2tz{Q&(wrpcoc--@@87T! z`@NNg=sKx&A|fK92M?GY6%qO5wus0_!=HZ!ucX{ksDKB(ATx&`+W@bi&{G#YMJ!JR zo%an0@;&RmHN^8m;MoBGy=vNOdsVic2?{zNsIRW>_vahb0xo!~cg$1f;Y+?af50(N zL`3Wq`ghG;ll-$HBKqkEP4^uO%ba8q@u|TLJP!Ay^q!NXPu9&SfBj|bb}vVFOsagk z+$PK;&4VhHw%s-lcy_y9*|0G~r3Z|5r^_A`Q&Qkqe09i6^5?sm*96g@TYNA6qtfS$ z-udN6RiCU`Ti!vKW-a0k@uO2rZg2yc%xH4;Dbt!`suWA2MHL!Biqb&5(#N^`n! z4owfo)TWF8$`+Tpki^ZZcsI*_($R@yt!e7XQ_MPvh%ezi7f#d5Jv)n?$loRZYPIW7 znQf&{kD7e{;*U0tj`STPckkVc-LluK@!75Yc|}D<2iy0Z2uZhIK!0u_878aG-9qX- zj~_qY*$~OST&mR~VH1~CAhcN6t*o4(dFc4DW2T;-x2?PNPUSD2E=7Ny zwS02R%gYb8bLL)HTdW9|Gv4&VuGpA!MbcMQjcqr)U52#v3s%>x~-i>V?TfiPpdP5IHX{xFl4$drN$9Nko&e zn<=O5FV2rO)#%u4Q@z-&U?|ZNo(ot-MC7VCfFTi)16J2iwcDy^gK*N{-k2((SN|sm zL+&YRoql|U*B(l-9o4uBRX_IZi#vYv^A+A5Nms94b!dnPF29MsT|T5tvC=5r_F?U4 zZoK>Jhd)HieGD)E-1+|G%1;!vg2!G;esl8M2mVZb{g4UC7}*eqB9}UC^JF<$nrx_Z z0@lP>KXgjw`t|F$;hWy(!NKzzvb>-FasWzvePYB{p1RT7K2eM`~ljUwK88p&q?Ya3THX5d`g=LT&BeG(tP}r zCr>1`&K)aqB9{!}q_urXf$e$<=)854RZjTfy*aUqvm?}z>I$#6IBPsh+{VTRbLlhD zIPdK6UGnn&l*M65lPJ95;+quFihlfTn`km|dA^6uV<#ua#l?-j$hQ_ug;E(Tflp6K zBAo1oe(=~X@&KH^^NwXk*le2)dBkNs#OA)GnZ#|oA_q*Kd1BlPYZIf*swXz0zz#l& zu}JmAU^INXiyR)Du`%SmzNF##V0)dCA85@SPGykqZeQZ_wQ;FaL@hfQ65vg^ir7>Zo=Mn(!NWdHO&mQ=D|rhOXH=qxwkJohM(SaB1G!= z_I?GadnT-=pa4F9?%cWDJ9oV5`a=`Dj?oYqc&=2dSh*tP(z&jO`A4}a!nw$*u~`jIM3EpEz_cAUBSCYdEOn_opqtplG?rwUrK8i4bu9I zNyNo8;#uCb5w~ye?%lhkE*@L`Z5Fu^jnu zni>X!ww_tCoRO4~b%wTIF2F?eiXVrvRyOE+v~W@Lg>Fq;3b&ye3U;1FvYhC^zN(#R zE+O>IR9nC1ge_Pep+-x+{@r&eG7@lS2l7XAkF}<%qDY`TzMe^`6uU+%)2}f&=5*KoYmat_n>$mml3Gr&Rio+c_*t%&7e?y0xon2MSk?E)!VO4Ey zEs1m)d$13`pwikO$QY(2k}k6~L$cdCs5`wgapq{-a2low>btD7W!#p>?8%E1Ssj1p z%*d%4QFZ&{$IZA?Ob-YwfZ9dM>?CRF?pnB7O*b=c=26V_k16{%=guz%FFP^SnUSNoFms{P0U;8nt68)LAe%x@hr|v)65dVevuEyV@*L$>F-N||Q zv6yM2fyu6F9J@Jd_A|dGWB!CVBr@mSBQc#mJ6l`vWaFhXbK^awoizH*itGzdl*)qM zKCd1tC}iEs&yIUxW#E^=4d^O3e$39!f5y7eK%+=$1yRU!axUNMUQOUgbCF|(JKRMl zJilQO>Mww(CPytVHNiFH)z<36dWf6weidWgPIHaJE{|Gp+5(~i>$0tP%eybly)6sl zup|w`&O?T6n`+?p-z_YRhr*{LFCQ^KwkdF=J#pvZR8vNkpGUIMLhn>yeGV!DbnhJ5 zksM;wL>W!46H?&DH>bXX@~j3YdojwM8|zYb#dDg%Sg{JZPGo{&L5@N7L=Fok&76;r8{;vFE?O-!nuSMY~5v*+567)wHxm@ ziCpU(V~wzPuO;;^oR$fEs)6e?lYp>?K%K6hZ8u=g=B(f$lIkT53$JeM@jQf5RbIY1 zNmg3bsVV_hOdZPlMo4ky%>b`Ut?E=mE8W2#b?0B&vZ0uS8A2)I@CQ~XgL)67*guL} zkxo6j+;l5OPAW@3I8Mp-4*utxD3)DaU82-MF}UiJ-paMp*T#BE-TH_t%Z&OC9*0fl zy?Hh5y)Z!+U0J@_f%i&D)9E1x41~S;$wG=Sv2FilO+$-g4G=OK^h2GR$=rCgS37c{ znET_pj@vgKw|D6pWp9wtJ)gojQF(5YZN3$u!$XJYY}z>1RY(q>AcaPK>`qIPW%qg{ zGg(Ja@UX`^&6L)8Gi!r6ta$Zi&or0K(D=L{Vzu z!GohBbyxcYJUR5NE#_a=KW<0MiG=iyN6Vd*?&r~{@t)1@8Qy_ShHeOB_04Vq5I4-Q zY0~eh+ccigq;KEgo}-@2^HQk_*S3GUdbr65z4sJFEcb?YykZ}|E4IVp=zkA;aO?>LRC)btpJZMSLa(Vm8+GhQs72+UCo1pnP{yQ)-r>29T z_Ezs;zV3>347U@wx$f(~eVhwS{8`?8@s}@OHpXpIp3wB3(8`(6qE2WNCp1@|gtQhE z6s$A)$nvpx7D9R-xb=r1eBjpqA#VL4@c&id|5<%-sPM9U94L`FIrm%-`_Vc^@Dy)@tH`C$7fH?4fOcGtXC@^qoQzQ4zm2iYkq95~Lt zsOzU4Q#VC?K9dI!9x)Oid$B+lcj?i93(79@xdB%_ps;?APoMEQvW}KK-8oSY5P5}H zs*%y)HJc_Km?Im0WLvV+<3I!d!H&u5XcIDfv#>A8iMRR!T>7Ji)5E2I zWT?5%+d|IvF?;jOpYQ&skL$n}{ryl@4Ew76|F*Ya(0OIsewM+&qSe*FwrnGVLx&Ez z&yRH_Mm-&#g-2yXQ?rbvp~gPsE2++j)a3&FK_DY#?JXdjdm(aHv&G@?$-}1iTpr6s zPS}iM;D1Hre@mX$x(O}SEXSDOPG*M0BMyU@CI$moGs#5ANyZIbw>Lj{@Zhy;*BY=2mro*9 z&pc6P0|-t`CQNwXI8723rl$E;Sykcnz{;B54L)KQRkX(e2r`f(%ysHc*UxI#bS%w} zvw;vKOh<9+fOBl&_61sJMvUD<%#HUl-*}#~HwV|e1z}u=GIulJ0XyaUzc>}pFmDI6 z|3YChlW(8jMzV!2Tzwvpw@%O} z5I&HX&n55|(B=RdS=QqksWlcx6%488g--W#06QC^^#hoaxUxL3l9(fSqaezqM@~0* zO!StCsuRbZ2I7!nA>>n6>TGPzJ^OiI8Bnrj6dMWW^ZQIqkANIt1sm`TqiWI)8%p;~ zYXU$#5Xc8Amka;c1Pm-h3`R?&zo~{x{Z>EsnD}3CR~1-Zo@|n4{ASfSYvR%ikcyt4 zXZ*SrTi-&^_V1HSbBhY^i{ejmW?I#C@M~>>qDm36_qOY9FQE#Ts$XAR&#LTkjR%gW z;MJC1*+xUsKszMR<+Q?rg4{^%6yhCsi;8^bYRI(u@Yz2uCmUA$0oWXyRUE#uy>lcM zYD8nSgsUXnG_lCFAtELz&6CdW_hvQ5u7*nu&K36hhqb_QvPs*Mbma>Q3#AF!rT8Ib z#HkSCXZ28p!H5hQ^XVP_vl_)GD&rvQErqcpMP+55=R}CZ--a!(os)-ph3h>P)AZvP z;_idLMI&JheK)LGeZ3*vcJHXiBzYi;lSUPIrZBXLix3)HnaGJU+!LkzMj?M13qDKI zNOq)uo!3-vnTJehA5J5D<_!on7w|yWnI$xY_%u@$yFR&Nog-)O5_}xhO3w4c>P@9U z=>L-THIA23<${BQ8HW8p7d9bAkH|CU>E4b;5cf9g4B%&XabX(}+}~4sq*+zx-t^@Id7xgQ@Dt>}ABu(So8wuqT*PzlY-~ZFl0ZY%ilC54K!)o_j0334A&?V@TUWTuB0BCXW)lZH z638=%c{_o%N=`D!AT#z5Rp$=C@o$qBISumXyB)pFfJ>8k9T3p#r!U_=oYveQIV}sz zWziS(!qVnMfj!#DmKNcPA4$03aS71z;!6vQijM5rU+UT*-&($71ij&_+i~9lv&sX4 z{=00ub&ClF$rt~cr`*;X#|^L1;L?AhZJeo&HvFgd^k>6qgJ*v~G%{HI=J>%>Psdv^ zTTP%ap)ykjdk^igtAVJ_c2bEeyY#f->YDPEsLj8e2bEC7x73)h)cDK66c(z9T0Y&H zef_ZL4mB5sc5#`4DsE)BH#7fUQU;BD56Bc}tgy5hwkzxBOB>>zKYyN^O};YX?@#lC zW$OzaAc#h`Jz~76Uez4~`s;OP9&aZv>Q(DCShjJhEph&Je#RsI6CPFErCMcbY5EIX z#@JFijeA@}maM@oW2jQ=LndG83VG~Hc#!;4YeOcb*2m!1KahKVdaxIAz=?3TzB;JvT*sl7406-zDk)&&_}j zpZu4+ln>$iKNG&1=iiBaOF8Yh8H0iSXBmUC|{)#vJUp7w8I+fjEq&>s3<%pJAx8rCh&03L1zl)B#NvxjOO^IC4sZa=uhDw^3i zR-QXvFI*bOU~KH|?O&he{fsOg@O|A86vLd#4@ZzkccIsVjmk6h+`MP(`{JOxs@$>4 zl0uq3tOw~`lfNs}$@p;};~L6v+PJcBmZDiF4;fQPm}Y}x0-b-es$iPl#|&d9au@?b zZA2r`NyqG7pqp@wS{y(Nu(Pl#3)405V&9ETHq)p z!gNyD(%by?T55?87G1&d5q}gT1__WTtz$mkUCiE(UHTrW^5FUn(#+F;S~3w(BE7Q= zLX+SoXtlxPQvUq8d=ptf2Z@K(YIbP*_P$=9=k;(kac5iRwW!W+r)Z?3JG3A%cu&2J z#liXvat`h~ZUZeE{AV=H^zI8mW?*})N~=38EAs64j6V6QNcN+cG|M2JHI@!!^b%yJr7vICQVarP(rD_4s|sZE#_!G61Cst&L$q_Y5% z-Q?>f5X4zpNGMo zU@fIv!^6P@YzbaK6-Aox*cRalkLm_`Z4k6aDqC zmn!DRdnC@`tK1`vttwPnp@3zH${Ff{o-%v2;}HAh^gFQmo&Xz5@uVB@1)wTiXX0qG zFj3=ZX=(Xr8QjY^tAPpbaY<|7G)vRL*GnY`*w~J!*^Gf-u-WENAm1+-78WerROxD% zfJ3VgF7v(Z-3Y;{o+|=VR~MHo0`C#lzk0O0yW0!CzQbe%zi_=2zf)OBsihrk&IwQk zc0YaX+gY_hFSIY6Ktd5*#RA}X?fQ~_TWg~sv8QGQW!U_A;^Tti;x?2LS>Q*B5~UAt zB0(r9XD1n`K`&vKgYe=B=UDa6nLx^KRQl5Q7`%JZp91Mc7#lmg%>#mA9gip1l%StUAbXHRg6*M(_H@`xi-HFl zVS&>A5%tr0M%BV%aR5QtAC?92JMgr01PSHY@x4UeSQP0DtSZ8`%om}x<36^R6Rg9btgyG0=< zfy1WJE`GY6by?c~{y*GOICH zGvZe5{BUS+tc&Z_NYHl|j7kFueo=5P7q|G1c7bl61G*_EV?eOW%4B&?QuqAHRk7#wB{A(j?uu}FB^NAF)FZiq z1KVNt29arV)7Mu@5xZ$wdzZRb?(k?8Oe8g6{5XM7rT0ywUpo52e)4m`vs~n8l-^< zxI{2YHTzsw4sr_$OX9#UH$dA4#+zzJvZav*gG^%`3MWx__UT>^(28)+4=R|M@-{Vp z>Xn1$T)S>Cr$C^>ahahs7(Xd%8DD}x!dk^M{OeTFP!k&d*&wU`3vqjIqoodWBX;Ro z3=3(E3OV>aCADJ(m$564p~BR;#3<;07?A9m|8u~DM*&(m#!?8T1H*>gW!ZfSMqY>zv?N^OVZ!X2Nlqn)Jgw{{}ga! zY4cRbtb%E_mXBRG0Ib!b0fRZ|5x!NYK>Ty0MlF}?^oMP4Ef048XO7{M*m0Ul(* zUUh-_4rBj}FMj{3NoMi5GXDHd$6YNIZ2y{}RD@WZ0o`bvdG<5Z-Ti%m9Y!`V4dLnO z$ys0oSU~%ip2}$$50F$eet(B`j0k1>63`O88t>ZVt@}pH>8O*FG_+FAz z=VyhSFa!+B0ohFp$-t#lVZ@hE9T7&l3xkTHP(WsO3>o{!#}kHA8isq;GFKBaDhi*> z4W4e`nm49WZ-+r2EdwzCR9-Y>1>#!r_GH67NW*Iez}`RGbY(qmknU|v_lcT(%IwDG z0{{^|bpE8jfdOFWakdH#y`@&3w(Ygw(;PqNMz?u3MHfU2ff+u=4 z3QJ0?jQ2YIesWLp_s;nIjZSkgmqLR~5vO5^c$g$op)5}ZSTvffTvp)I271Zox^|=G z(;fZ!l6zk@jT4q54hGkbqxJKz=QN`!ua{k2 zW}pkRKnhI)p(zYd2@6G}51LsS=>HbL^guAvzAT2Nw3L3o)9B9&nxy-gnwpt4MJBBR zR5aCr<@eH#CU|N!Ao8ugo0@`yWVaUaU4zm_IHN`?F2cL82%3-!deH`M8;E1KG z4v0$=Fq-q~4Gtceo|P+2BGD+N%J zlk-$b?e{GalHq1h%LpajngtlH$|n=~+9@ z3xMk@#V&PKgYz3xS2s@@6YZZ#por33TePe5#U_cAULhOajar!l{ql|M9j zaf}+aIHXRz3H(OY2^o3gB{jq86EAXvK_M+W)9OcXu(h88XS*f~n)WIr5rrJ61M`fa zaqQ&ZZ`X$maIu=XdCmK9M-R6I3@|?JT3NUQYN^K3!X#9L6+DHHCT!3^29#MhLm2VF zV9Fp3NhIieMl2sU{s}bk8E+jmlY$%(h0OEcJ>n>S`R5{LRWg8ABO_fs+5lCA&? z_D$gMQ{9owKo%(63E{KDT76NEx5YGO>IJf{+q=e+LX9=ZXJ70}f;@tsT%eyxn3|eG zc}JsI5Yml^ZvJ{{Ee-k~8{jIUG7@k6US0pap3wcGw1)i2a~U~jPQ1VC^^02%4fVoA z2Mb{bTPwYti19<^^?+^iU@&C?{R+dr)RmKxBiJD?TqLiD5QPC7kBAcKfZIL zosOvuv!4*DOI@YqF#LKNh+>XTxBz^Kp$VXVmim9MDCj30?(gf-6%&f>?tC!e5M0uT zm>cE2i!qUboWWp_&`yK8D$mLaaFj)}UC7pG-s0VeUE$H7n!3WkaM)DM2n)#hg>3_$ z^#5_SNMZTo`8Fc@(bYPmPb~95oCVe+FAqBitpEVc)n?G+MkGA)L){)#^X#alw+LMb zfKntP0tFI028Kt~-#P93vur>qllUXiKp_gzxU^O*361@t`DXxh&_O|!*y9Sl&Y}AJ zsi!$6CTM65_SJ=37Pm3)^F|v+aNPdPA$7>1ax`ASGfGhwm3mVu8+Y|ER zAG-@S*zau$?V@45+aYV_nVi8GEE-4E#+S=M55dE@ZxUE}#aGy6S$}o9nOhH@ef(^0 zj3_#Wv~x7oh6aYALCzyhr7vQ<7|jiSWc_&Ieh0q1M^MgyKYZEm&z&BxHKCB>9jH+R znBd)t25c48)sqoO4W;s#pt)=)|BFwZ5h6bqu2c??bLa RnJAqPnpv5ae0TEV{{uaomC67B literal 0 HcmV?d00001 diff --git a/content/tutorials/time_series/images/points.png b/content/tutorials/time_series/images/points.png new file mode 100644 index 0000000000000000000000000000000000000000..fca10f9d00763b887e07795af0430d7e4ac10a3f GIT binary patch literal 110352 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%0AOin9RYjbE_i~k%AhTh8M!eM3Fl)U zMyp&WaRo4f4kQhXIIuVF$LlY%>BU8$s4JG%PRGnpVDUkyz+sR4KaCbjX@CTUV4s&5IQ&V`Rj!n2mG?REan0a*&0D@T%;`Hw$GQ;IF zfixJir%2f!bMOl2*Own8&;eV)r-2Ze?gb?;I%;(iN2cF*17!@6CTb`Ot#^7Fw%=Ip zXSAh?o=k%Z{wM>B9&%$3cVG$PPGN`7ucup@!TyOnGwo;*HeGy9M@jIzGrnb^@5B`* zqTFswV8^zVOGiuAKpCr^sOmQ%9_U5QawlJ~tjw49ar8cq(EY;uZs0~Q1rfyYp)xDh zlcI_oww$`K;le^j4Js${m5@52#s`dRH=#jhE%xO9D+^ul*~GoS6Y(XO8#^}M*JT6! zJ+^JvLulMBq8D@v*_@Yhr)w(uzk%a<{_#IfM<(ME2tUDSH8NT{U zym;z~eqvVU1+B-aZzB{V{|u`8H41))+w;d8iWD1?z6ZrJZ&8iaja%Q4E2_IJ1w z&M(f2dp~ali}`)<@9tF{(0Y_RVhor608I9gwqD@YB0J$EN5Ln3IZuE{%OZ_TZmcxr zsp@c19GW~q={-ooi1oy7);cHd%nI6LXuTjgq+S^XT%0cU1oCHMG zSbEU-D#t{AmM>^2cfA5V`*eq-DvhRR=kU}QSjpi3m@UNnNBd5rb*KX-y>uo|4~>R15Y zI`s1871?{ljZhFPF^Y@O*q<;Cn<_m13s7;LpBx(dA%X*Pc9FM;`c5RVn{dBBY2azE zRYm7~k#~h+#eJ=2JnPMUm-z61Oa3q3IwVanB+V?SIvHRgDzX@iKqGg2u4 zT4%{^MO0jEt~&!ofH980A~1&50e-9}nov;VdP|I?nr$Tq<6uV+LD;To>8kNvknDNEdK zUci5IVi&J#l%L%$6LRk*_xx>>8o>Xh{9|MTag%nbIJ4iaV;tsS~UlOjl*s2j$GKpnQSge_3(-Y)2vaZl`G>;4qpJLfYSq6kVJ zJIZ$B14a20qxqNs@ji`OFBQ=`c?{Q5tKX@1{18KURCt@_X zABY#}E12YrPC<)Ysq`_Ffh2#YbJ}X-5VXmIT|M3RAE!Knj?WO+ARTEQcQ@(|TLf*W zyBlR6SMj4d+%b>&ZD?^jDVciLIZD;Fe}`bgLc{j&SjJoX@c~BI)vIR7`;;`K*TYGY z8s2$fte#cuuDXx(1l>4cx5mW>=#ol)*dUm{!8xT&*SRNkz#epi`SnvFw`Yb|CDxmr zCC%eOmSj0kQywEdY_wcC6;SBwd%JN*K>LCW6}++%_zD0K9Gr=kJLLi90OF!st#YqZNyVv&17@gn8naqJQ z_KhU0t^%t+R=s=F9eYL|g|$NE z;U;To%B#kKZs&e@<$TL5Pe1?SLTSKtw>aqYsgjuCo{N#m@A=0!PwG#-D_Ft?_>N?KZVK!p4#S;?U*aD?*t&{KvvVS>SeK@Z8%x9|0sLT)7s6juJ zpC#0uBxuBVh!#5|9Uky>JqcWeM2@5vB=SI&g6D}93=&&b(Hf&vI-ri3x!o4oYjYJA z2iL4g#QMukPo})GUnal3NP!dYotqBMZ(XNO`;caXdd+0EI@Q!PY0Wi3ttA%jn?Hfs zl#JZ?%aHk@(1EjByUp5AG#3UOq~$W=RhgeNB$JlU3?Bc8=fPOIkvY2!WQ@I->=yv0 z53tgy9&JubB1%$P3W;~x;qQ^p`5SAuRVOVSYnP5avlwDlHn9}*o%e=X3Z$G7+arqb zAeu4AbR`dBZc7iljYcApqk5s02%We3On;P$7IW3RU95%(;LZmJph9%^$@Epex3WAQ zjhuMW^XJK5VC93EVUf9VH~iA(AMIE9(0u<)v;NFJ<8>iEB}@KIai|2Au`Z`E17;Oy z)P9D(x-Ps_xr*Y6V=8q1(N&8XZo$sE5`LBq?Zkd-5aKMemgMYI;V`0T$RAgQOwNYD zjbVmMmQ;SY;Cd}-BR$>;y6=*Yd<%Ehsk)(lP#QBe4oQL?%mlHHmX7Qqv8`J1$Xx1f zr1xvZH@r}a%nMo;RMcM0Uy98Sewy~{QH-l;d6d(|ksh@NmAdyrauz(;;ek#Uk*pE< zG`9bP#{S^%tnvQam(Cl9lvJ=cI$d2-^Vi(vYAPbBwZB!2rS-&6Xmu@2TwzGSKt%3l z`#%fY{c)M{>>!hy`P#b^o$>Rig190{+IGMA?*!iPexEnArdNS1urC;ln7?s@<#F6TT4JBveO<5ct>-=9nW(xp3eJVt?3F>Mez&_(l2W~uljs>ZvzuU z*%hHEov~IqJw66a#oB@(h)k%}b~lmXqib;^nFi)#s%o;BL7E>q#ls4d&ILFzSM0em zZZK%*qKbk;^*+3jNEN(7hADBiBao`>+kAy?-0$KAG0{zfLe)I zkiU|J?Z=QR4~W=uIN^vOSyzn7wsulA1YC-$DLAW}0(*p+Mk58}ejEqt z3FV*M&e!9Na}Ptpxb+zIjxl|Qa?ips|N8Ako+TdO(C+#cmfqw&hDFL93CC^r;ML4g zrIkJ$Exf4>)v*HKSna&TyoP9k5~fyeAv^ z2@~5!*@)F-1N6NqN*1@NF0e9+E0zAOylj&g~oh6r?v3i%F7=P1HGA;f!E=!bZ(Ac zP~XZf<-MJ?SW2)gHpmFxOc4N00Aw+$$+RYK@ld<=k3e$r*E9?VZ4Q8~2kV z_tOsw6aO1E8MC_x#sOdS<4y&^3I=9mlvu&}_JQ-ber9Q3e?i87WQV&4{t<#;Y)}bR zDt=-#3$0z|xk$5F|J|kE3vZ1?U zZb`_h%9VP$b`mM~qY~OBO$5gB);hbfA0hLCHEVQN%}`oXjZWvPm;9z$#bD5-TUxATl`^e#&hFlqf@mil zE>-VXp?(T)uZL6CA=SxMLmN)Bt z?+q!9vwbq_ER7Q%K1-IN6xMk5is#9a_zp{w9e5A%dkvlYZr98RJobB^6MsF(193?8 zfL6r9BB*DinKzu4FAM~A{bB-C@7~5NE>tq%GUCxzwLx1uThPlVf|E|wrugUh$Tk5V zr>C}A;0JAN5Be?HU{m@$*BS60i$AF2r9|rbAGasl^x)WCO|P!G-P{eCj0xoKBCaxB zbAZI+Qt^f}Pw{&%M16$ULmq|wk^j~nOTNN(8Rs9#`JP-`uW6zKNeky7i8$!zO@pkexN~Y#c;_3 z+?AOcRj6l~5n6RO7ZPI+qDDO@kD0E=fn)pi?<412oif&f@^hMbPLd~cIYoT##`^^e zju@ZP;HPTsjmKW3f}h^85@U2v*u^IF5wHA3#pn?){GnoAT<2S`Tlhn9%%`6>FClZo z6bCzRX0t!1EQlHQEpv&RKvLLa6^J7cAg*@LhgLMFPRWa-kpspYE*DpptgK^{N0h%$ z8i2NfWo(|j@MmSvB2paG#Vgu}o)!qRPH+h0nc@n*R=c*N=LK{Y1!5qMj-}5x`Q29= zYQLejK9QL|{;vLgw8HVIqce>YeC}*}9=g3Fin$4P1IBL14vS@vfPPEd@2JVF7@}LJe zJfQ8lCS#*w6S1BAe_tlahGSJdkw$X=G*Ba^u#{JdyIC*a0 z=q^Ddlxa7njt6Irp8o60Jf{rXEj8H7T6M_Vu#PjzEZnsZFR#inE$!|jl4BD|Wc(k_>FZBty?ONY&X5rK4IFM7c(|5dRY#J+^SM=2ES z#Fi&By%MqBSrnZo7qJ6d&&phbuJMuhmr(r)vo(fdzR-50&8h$Yy#S47HN-mB!g}C8 z;a0CU3;!+&fJFGfvXVBTmI`34qsIu@2TCa0;ZR?bS`qV29de_@5T3Z@ke+@Y(2DYhYkiX3 z6?cKNw_IBp6&E;J0iU+@L3<~@I(#|is(z|u|1h9gtV-Qto-6*3I(-g@+kO`wZ#BfA<{KHcd^06xW= zl}mbt%zctx0hFA`TVC^{BXx=MGnVe{o(`&e+EWf|fz-1)UkLCpH!0iz|Hsv-tc{iJ z4I!t?GFYhv9DXI4hjw+}MJ8tC`lV;KIq-de0RM!iDwUagZP6u~-N0DhB_jwr73>c~ zPYLnF+Ht`LyrpmVyn#)n% z_yeEEd<#AIrlV;z*dM(E*4eI#A#T880$a)fpMdRPoMrtTwqX1-zei^DX8ol>T_eQe z=Ung|CILME_T>ddsh?b5rP%5BH<0n6^o0HLce|WK<6Ol7IRrYed z*+71g;5$L{hX}+eak$b)u!$L*Uf)fJk9U?FYGquQd%+1FiYx!42QP`^?ORAD=o-To zmH9$vv3XSyCDAhiYlb1rt|A1eZT_r?gs@F0c6p3v;kp9 zRPA2S>q**O@G&E8RS`Q;Q-Xq1ND33Bg;dVrT(>sQ&xPhRhY{%|k3^U4*y$bH3h6kb-+2~(k7)N9( zl^#2-?062agfUuO!4Mv2UJc)ogM==_;=D44k=QFNZ$~qTAzyN5=uzngZ6bTWl1Mrs zb1R;+PCrjiW*gk!F0_Z*1YQ4{?6MM-kI=*`mF>tZznpuL ze%qAlPXYr6j9XMIc`5<{-y9QhB`~5J7a7Wc1VQNe-&c6vB)6dXBt-*+5*p8{gDWD_ ze4eu4LBY)Ju8Jm8VGETcD1|$Ho=k77MTe+|HV7RS!7^qtrtUtFoVTbS7j6TQAGjmP z3_!lu$}-kO(}^;P8yZujK}VG&ZDedW5uO$Gz)9#MMH_1_RW_E`bP-Te_he69S0~uU z9O}W2hT2;tG!zR!sVy%q*jJ4XN_lbZ&m= zq!}wWC^7L7#4y4D&Sv%bC2Thmsh9ERls~r>P5xrG|E&Km;tg~BSQs(#1=cgR#%$`8 zS%jH-yIv!ePP$p4y%E7xs9ynj%TOaT-W4;Rf26;82h)YQyCBGrqouI~-`?31-DxP=ibItT~-S)QO?0*&B_olBTwIepEoQ1bzlk^fgUWT7B z0GP7=dAj^kp1YANp4Pa=OW<@QS)1>Ohc~XQ24gHYV0^J3ynPg$W_ICkm+D_a&B=~n zVJf$XVzmC{ZRJw??&X4&1KBbAa7}%p{N{7Pcloke^^db3yby>!^1n}UlA-Sj^%WU! zdblbL4u_E-J0Op2bPpl2*HXCeOi;Xnh~RiJ9cK$2MmiLt56HSf*yySnN_@u1c{?JD z(by>4uEo~zmhl5rVZSku5%g4STXlJ@99+TK!=JH1ESN!@x7it;#l)IjU(imSD$tA> zN`{d+VaVE(1YEeyx_b~QVYO34DUs>^H9Z+pIdPw8Ng+I8QcWRdf225tL5STv-8Tl- zmv>#EXm0u}zBzhjK{vh8>cO~NfC-=TrF;5^BuX&X$D7yEUYP<1>3do($UOmw;w9>y z%1S25yuEPUK*eX@V;nn`wADWem{oJe*7#-22jhia6HX7^1%1T#+=a?4=~ev@Csw^j zP5BERHN?b|P^~_J8_Ps4lXWb?Rq^!AiX_X~A@9ul@ zud}i$h}0zo(Dt+EG=^q3hD_Crzr(G5V4W)LM_p^0i8t~5x!Hg}D5_?1OjYBSDbX+Tc6?h} z{)2PZh$D*yWd6ODkiNlfXqlb$y^F(pWtF9~XrsX*LgLv-xr5jMy(7Gj9s#HD-Tp+s zANz_(M-C&!eTbMpz-6fGLa)$Jvdt*87lEd|3KW|9X%aCuEBXt3Q8u7~F@xDch}hX; zu8Q?&jk7N-4~={}?EGh~lJPmeAu)*Pyg}g3bdBj9JpYTOCHoS+A?y!6>(#lm^ z2kaN6(CQDB4*@GvM=W}1gd*s`+6x1zvzrA-S4Q3`r;x{6%y-=7E>@o;7V3tq$2Qfi4PzB)Tg}{bTXUYaVFt%vRuY&*+rPys5buCYcmI2!P z2nYibQqj^zV7;p#fJb%yHsgRR8^a{g&h>rQCkkk=y+O>Y^@iXGQ`SYbTI5!IH=Dcb zCwc)#$K@|YZ*{yP=pJt55LIWLh>(xlQJjdrhJU4D!H=G&IDk%!-o0eBd$Qp~yR$&` z1v_r#^#9ose$ct!kIj(Y$Y9T!KF?-&oT=SDz2EsIVWu>Q$#=|9YvTZ?Z*rWrdmyj( z+C*Q@nOHMrLR!PTT@N6L#HtwPJMAdRh3B-z4Px)EiZjRJxY77naeK{rJb@T*knX<3sn|y60VqvZ5eZC^q z8rHuajlWa=q6qd=KZ8S`@MR;Sh$~4_^lcl4(9liiu_8(#Ngk6LN?r#|q|zcT#jT~q z8Ke&$#KGY<>$s~K%}3v8o%kr|ec&LhL!YkQqzwv`3(CyjT47B);CVaj_O7r-V)cgc z{zHc(KtzD>g?Chf?Az;fCwmZi_}_*&|+l?=b8emVC!#emr2UP2}A;D94ah^dIgEO+s-enGmSv z^jm)?>L85AB}Cdl7W=xUOv#C5t+Oou6RJgXdTsF* zn~oRCa3V^LBc?`1NHNpZZG_7KOrAII3Y_PdFu%k z9lX;Q;%^*QP@}TJf!XrD#`=dq`C}+ihv&mviM#z1LH>e0gk5?qX_K;7m%RvfxO`&c zQi}d?wR z%qit8@M+TOZ+pBq2u$Y3S$ZEX`Z@D8_J(ir+5JY{S$6OyW6rLTM9u=y`NC#ikePr& zF$Fu2O`NKLAnGEM`%bT?c;V3UsB{)wUbKb!4_`7>#T&+;N=9arXLI)$Qa&x-nupMd z!-H{hXbxXR^?hASux2wf;>JARZFUgp>A#8m62Ii9vJ5hC>NYtJ2oZXn#bu*c}sUH{`Ng8qjFS(1%J^itp1VM z5L7S*wee}(-9v$`1~#7w-sInIppdh8<%ftaA$`<#lcTcL?;dt4 zGDWGU+g14{r{c*q6`_!C1Usl20RBDH#6B4P&9-;wuLtk9K5vdWc!T^y4gnS#(0>ty z_jVyQe_^#o{zZyOl1s8DVSVw?{6Vk8$=u9$5|y4bAz|KoMS}JWY<47t?IPGRAmfj~ zve++7Dm>3Eo(;*S!BBO&^|N0M`e!2k|I~Gfnz8=lqR``!J0M{IN?2_3yE_wgtkq zTgEA3Kt2KY1!Ik!uvO*(cquSnN8?phc2_LLOZz2xZ){~i#4F!{7+o(`g$3yJWF+GB zn|N4_RMHnmZxCyN2T@NqxV6_R6FkyE%& z1&Bu>p%Gp5~|V>p(OTxBvk+4htx8Jct`u4_dV6&sUSgW#V}iyFd^AoCMqsv?J~J?-TE9 zqg>@jzbt(bd_vH9Teq|D(pRJ+yxAhpGcI^UVWg-E8<7WjC@yCfr>lme4({Q`0oLFE z{>f5Z1Ta#HqGtTD0#wYa_OOc^$Q}qUL^u#W;1AHf1M!FD zX?Sq&?6{v7*VZ*nx{n-dZ8a1v=N{S5fcrf=p-6-XI(MicZY-;Ly*$>ntE|ZCXL{&9 zzAP2$tl5D%O63}^DU8)r0Tn0wVkSfsQ*sfy!zCBY zkLbZidy{pyTD7(0r)W82#vqt{%MKljE7{$vf!%E`;9@87v@AQ^Ol;e504<4Fi+AaaSGZ9 z=^AY;V{_FS0H8tGQ>k+MT}3SiUW^WORyarFzG5H=^EjVta|Z=l3V_E;S0;J?Cr|GAKx=QGQB~qN^y$KD71?E2`YWgw{!n(d#>5(r;kD0%! z^U^dqHO9R#J!q;3DgIYI`ys!h6%)A#j`wgw#-Ug4Vmro({R=4erQcz+i!1XrjiO=} zUM9n>o8jkPk>d7*ID6n*lK=AR`GW+U{Ge-UaQFS9YFvroO)9kpMq_!=M-7TY)kgNx zWz19Ah0oHvS#mbB$!4PEx3k6(1I@=D{yx3I4hPTZtw_Qxe2VW{gY$d?SE6LS*LJ%z zBpA5Cq^n8woAp}G)p5%AaWK%q(PR14wL1_GgVHx+gJ*w%z)`>pLH*RmIi{<<9O{xI zrY*@?t2dRLO<(R0m10KY4(812Vjn-La;U+*n7Ny}_?MiW7w>_RM5J?{1VB#rgx{r( zC{w3XDv&wRsQu&*$)O}tHV@Lg5WcwZd(6J$(Na$Th!9sfDR|{I&PLooeo$9`yS`qs zB@@V1h_oC*-6<;Aw|oC2SDpc>0Y8I$^-hK)S+=eznRIFIM5X~t1+h3->*&+NZk-Xs zjWWs0Ou3W4P}u{C?~;Ba9@6mViXU#6)&H}$AWdtTfz(d(D?sq4*Y0R%evTBCNFOAi zE>%^_lY~?cpIx!HD}oJ>VuBfRn&8aklBUws|%6~~SONUo~6lIv`Ve-CG26b#|nGDHux zSLzJ38~Gl=?)BIeK3?M=t7=`)WymS9$fPn4lxA!}cs0+hcHTQo|s&s6@7)J)8Z)EEn zQ_EBDiWUGg2}uMh!2 zDoasZK<+qlmWQ}hQp9G4j>si4fueb9`h4Rtjvw`9jBIi!M34e_ z$By3znz|JPaP^JXzXJpn!%YYFI2OfK*@|bc=@Ln^A4WZw6#>!)wk9mv8AhnJ0FhGZ zuavqyorTdkj*As-I#W!O)0pz9v4%P;RsM|Pdsa5SWqpsqZm#b}0rjfEW5KUMtQ z<+UuTA1Ah8=s)0mCXO|&3&}9-;BNInf+tD|$6I#=dWK13vA@=KuqG8>4=mLXL2#$5 zZ*H(9;$8&i4GF~?-Y~M@J&~+g>qLjGinKv>l1W0w`oi??DZ;=HtU*%-(woR^lvq=y z2p{6jlhAut_C<5`N!MN}jz0v=jbr?QOX0-SF>A`DH= zuY%$`BXiF(8y3p!jJ@jLwXCj$$9XyGLbv(&41hKEl<|V?-BL6Qch(Un>0BmfcOLu- ztTlf`umJdKwf%2iO4%Ls_sh*DhSdMKP3JpE=mtaCEA83P!sp5AYBz)&_6Cf>m9utTMK*2^g^yvM zaR&N!SQv6AaODs*;fKC&FQxTAt&DS=%!rkN2al)KYS;8tglVg46+tBIl@@OSPLW41%@~>393QcA2-Y5*X7j z1jb2)g~VqKR4sU$c+M^N48`pr5B<HdwWoex7!m>pNV_UC%s^|yh zlb=yj>o?j<{!xyMz8V^5-rs}B!3&PYvuombm;DwSTA9w*;mYth8P+5&IKq#SF$Y^t zlNq(Q%d@u7GIz5_o7n4aF|vu3A1fMC;Q*wBY)#ryS4syW7VtHsQ}BDJ#NJTxRju?2 zcVYAVS5`8vpvxe3TU2v1)U%DwM?X|ptvB*5h5F~2oLcAaOd-{8s7Ro_5V$a}xVNAO zz2b!zT?#W!|FZ$%*29@ToU~%h$T0{2;gfbm1zv1-6c)49t4S=f1)qsJe*Iq;^Qle* zKMaE8<7&B2%z!V&LcrT z<`2qq-u>LAs@PkcHP6EKBawaCH_DuL)yV8T@B?v;IDOg8JGoC8Xr5mXKjN7kF3Gvr z+UM#j`3w~Q<;HWM8euBlE_E{@pTdZ)RKT?5!$55d*OH-bdf+e17lm31GYTTjcs7L~ z4gbG~&%hnSe8EXfK@J5{$#_A&KZGaxe3wHDwy`eg0|X(+8eomvMwtHR6W;0S1>pPNJ>x{3LgVL{G2(JWxCA5W*3TE-l)Czw zoD~w{^GPc}oZmu@)it%cJDW%X2SQDJmfYy8W&IE454*ToUm~FOg?jl(QH}^W9%sYy z)q;4LikKyu8>u{u1$fb{Lr6uVr zSIO$GznxqNV>Rr?for%Tl>waz#Gs4oc2}8UCC$aGu9g$^y8eb)aSxQdH`KteHe7zH zwNh3tGsw@9fM0z^i?wHKm##gXAS^6C$01}=w`LCfbZz7eW%--`IuIJf;I+cREfSst z<|_XtJ#leA70{%aj>;&Mad%p)n_L?H-`l?;r5rz#l1+J8g}RFrK_%nMN4mT3q6uHR z6!aO>>`!O@u;CM)zw-hV_=;!&PdPhYnyC)hC-hftB>PkE~-R|U2g->ZpBlCte z90L|q;3$9bs_^(LuWj_d@UlWp;0xx03j3Dm6TV(6R?_T)4Y?v}g%?*)L?#A}B*qBEo&|G_=tzn$Dk3Mh2IH*ONF zeUdB@+%;;JH6NPg@4ew*Q$5|v`8Dwru@ih6S}q7K4lAKJ>0a*14sacjFW{3Fh$9r1antTJHO7)(2%W^D0`W@IvNN(#hFYyT{rjkMc906y?*(w)Wzld&Ms znLVrgH0oT1;&Aywp!dJJcf(!eB&n9KhJ4D!E3#zl@b23Pfa|?@9B^WLELZQ?i{e0b z_lB7!+-a`JYzRY~sBcMe+FZ|PL>N`n)%))UsZn(a-f;S--K7bGEVto#;i>%$dd0Mg zezr$4--7+*DfAy(7K*R_bjUemYr2y9_IZZCXX!Jrd(>3kBV>U6aHqu2kA`(m;@Uuzu72WI4p$v-6OKk^r5dvaLZd6aaE#bor0ZUa1F2)aWOLe@b5SuX zowO-#!BOW0mS(6Kl-{`^Rtk@RsM2 z9^C)1f>vH*BbYh{6Qlqt^`}$s(C^OP6oIo7Md5WcZm4$9v0mz3BQpiSH>GQW2IU@K ze>3jR?TH?xMmj34)@JXf^a_B#xd(C*9kR1Y88s!nzq&wqRpn(f@P1C&0moA&3Yc0x zgu?>8Q51dLIeR$Dph|zl+(N*<%{+D2w|N3b)nmnCCYyKaR7j-NcHT1s5#2p7x!P0S zmGu<6{6^yanhn8SMPD%e7hT&}9;eLkZfTW%@C1q>)HzYdKqFO-!rBJB2WY~q^zg=G zaLZ7I0Y|X#a~%se=-S%sAPEK!q=Es^iFGSr^&WbFT2!9#$x#qxt7X)U_&`R$lOz7V zzSS4Nu<_p+&_%oiJtvVjT$G~&)fL|Xwv9(kPSffwkUC)y;MHP?9t9K*mEXpF5AmtL5lsJ7yO1`F|`cGN8i(=(U%N@vRdO?aHr z>cLQ)UYdZGPp6Ss3ilwIc(=LAL#1|SFw70_1Kn&*dJPcF?XPr&O##-*hX(m|n>>t*m^WG@W^5tIa2FDurbQrjxAr3)&hNYh|mfNx8eJWZ3rHtaSV66}b1v+$54F7&0fQ%@h0>7(KVWYToF{J(n_KG1}L+M#P|4fLPN<= zy1TIbR)#{-yV2tiA(N;*1l&+5pBN9F!Nf_j%CV9ik%{B6)MYuPTW*da zrMWgwQ2R98nL4I8h}$2Y5%mE_{lFvt047j1ck_bq8m$&#|HHQE!Cz`~7gT3Crn z7%ljff1cHHG_ltc0R1;)PBh7+04_|hG9W}sm8KqJ3h%dRDuI4<((pQW-v*})T zr^W%ew(BVSOCrjZP(2Os#$f@t zvGb2IvzUXv(lOPXo3cKUVZ|Lnr9UZdUha*<{Y1?+HidB1vy&?hK|{+jM1|=BzGrrF^X@*0hX|bw++-jz=?X0oAY?M5ok!T1RNT;g(Wm& zq>>N?0pIug(aEnJSQTq6Jt7m$tF#TpC*rkHb~ zxo6r=YDxbu3X1_4l7v7e|9jK~!(5T{hO^E$N$fTZQ|9CzCo~gh1R`{bmTH8Ar_FCm zJA)}^?blTi*}dwbn2nulXLf5yL)E{6>?HQ18W@FEUlCcbzQMSZ<*%}8#no-A z0d&_a*avJWvf&~F{Sq5w&n{UDg8GH9p#&4tKIQ)a7wd#xzimEpD|ZEia$aC@THE=S zO@$688aMiKr1J5ushe~-nFjd-1g+Tiem~E})Pk9L}MtZLvzI|W&$%`?6aGlwi=oVo4T40=#anrN7iqF zFVKtGt+)Rl>{Br|`>fJwJ$KRj;6br^-r&b|7%#2oz)El=`6Y5q zuH1$g`{B|%G*Jb_fpYbL*21-(ET?n-tlMD?ts(ubOY*-gSVdWChJ>v+U)h199+c$;z1&L^ z)i=q+kp4YuS(EoyV9_h8{3FR#)zBQi3J*fLn9q>TkCn=HCnbbu*ag8~jJ9}vN+Z%KNW&7+-CaxP@?QV%KKt!{InOzBW_~eu?gM5c5!(fh&6!{_g3?tia+dVr zm!pO+aQ}$B$@}OdJP%sziZ1CRR{vZvVoEW~0@CdY!5pFo?x>*E61aeFu6>ZG-1&A1 zSy;Hn?+6RCTbOQ*KJn_-Nr@Ak|4s$(shHB4$DYyzi@N*Q>()w8);vRDY}W}?!3rC{ zu5X9&Ype@EB7*K3KKM^z)oL&Y?fwAcmpxW2e0T?_qoEn_LMbcxHOElV;L6CdHY}(w z-kJ?wr3IjT3}-aaT8n>Ruo*c(iZBY>xBiw8K3~(C1RZ>IEO`o!yzUwXE73+EAkN`w;HVt(xG`D$a_6 z$}aI!>==^*4LNGQJJ1u#b7IM>b^p3zru~7&gE>(CTNI%M00%jx1I3XmTh*DMhL~({T<5#g| z|BqG4&mb>KwL{f?omg-og9>i8<9)Ov2C$mS*3YYoOUj9Gjw9D47$*!z7{#F8(VH8W0VTnwi<-lV5T`as$$yTu1xRJf627YK)ym{ym_P2Lvh@` zLffzqeOs;iy>>Y+dH*6d21HJ)|Mj)^6J>!6318AM@a{r;&gjE$iR;Ys;l4<>?M1h2 z(kP=yy>7Tgv6Zps#jZvBet=k)b9oKH>bZ!irJ^TB7K&Wpvzs3P;%I@7AVJ+h4@Ff5 zZ6I22a@MdxGc%U2l2Hb_!B?1B_!g+$($2qMX4N}yd+6OVqV%}c2xr?1eZ9OtsC3+c zj>&t$e|Vob0FQ#@XY$G|lr{>TDh;_nAPaqXi`gTJ3#`1gM_Ux?%fcINHbB6Y-Nfhe zctN(;v49H^!5c@EsJ)=-kV-ZF7F1Zn!HcSrZz%)g!Ey;PS*!$o6uYCo8QthPfyuh3 z%@z3}#q^vLIkT-HB=bd?2|4l*WkkEoovz9cNjJajAIVs)EfrTWKYf1xO|JFwuXq=X zCAlR?`{qYmN!opn&sJXlUPNa2Pm13~$OXY2=vU|>grF-Dr;)2LrVbe^rc!OQ$8amS ztc1;uuY=<* z?CFcB^h%7hK;7nd;nPMgo#Hq`c-`++Cj1#TU&qr>>PWI5+>v*nH!-(~6oScN_c++J z5rbQyncRFO&nGL~rFQ}!&_}ao9U<5d2~T2q{0?brwEA^n#YK9+#>0Cbo?x=IJ5=d*87Fpf80jf{fV*S60{kgc*x}4f7aq zV;A0##Ad(S{g4hoA(Y!McUAPy88%{0Z$>nh=&jYik@b7uH(3+YcZd{jc(QH+H%}z> z^u|e45XD+0SLy>=k7}QJAw4?Xo09EcMo>$PuVLntX;?Q6sQ75ngd@$)N#z)b$es51 z^TwaAykan$NfMkET4$gHa+6(d4ZYE-=9Xf96tMd!@Ei2%;AO-@viy~vu1@{+G~>H! z&3ne6Ah2m7{L<4OGnnEz;+zY*@MM)&#QA385&cKlL7*tg<3cKRso0OSN1p7KmxIzJ zCNjc4sP%3{#%vqW>H~pE;BX7YlYYCQ=eAtw21wJtvBEc9d$~a}FfM^QqL-Jz;Gi4P zYU7rxAe|Zc`DfkJ_v4hVKBTV792K*K3u#fOZg*AlD0Q)YJ0Bi8`ExxYOwwRZ88k1X zo6RW|UXb@uSSp%?;$c|RkgTB2h2@PuN0*>?u^SkOh?NsgUrRY@Ncg_~b8y_c7GmExHum)f)A?@lcU>&mj$ zQrb=rvQ=CdCuYEGj7G{`ZJ<8l9g~uE$e)wA9cS#DQ04$|f&YPYcLFLTE%rz}ln>V( zn|e2-@Y$+qAX5GLDxvOaxcVv*(%|>hjeA{7q0B(Vd&Gic=dd1i zn7Ng*^{c_i(9C81DV1hHED+={C%d?xkGU}dfu+>S64QySHzuji;w&X&qrddANk0>+ocih8E)g3i`)_l$@^`-;a1`&i_o%L=QoO+ zUi^bqR1(d?`FFB?7p%0msL)L{t!(fnUM^VzFrb#6>xp^{nO*U_W6XXJ8f(08&RtA25Gk|;YG*gSFh1+&SMj3n7>;K?1h(@yyg4ktK%`0 z$u4=l+GKe~W^5w^BgbNRZUpY~|21`g*gp_qB-1q_N$A+07Dj|t10G7~Y-h0v80eQ( zzPU*8aolmv4enh+)4nM9~K8{Z$gwsovx!L|SMf5RPn4q!Ybtn+J@` zx%5z9P}*=*V0_rx!BIg&)-@cp?;ZdB((45*vDEKxkxamaU#$+C$}QBM0uH$2 z%Q~M>5?rK5<$7cu-Kuxv473?r)_S&Wr=YmQUkZVsFCy_tDCvo zjZO#p0H`tfXJTE?@(nwHHi(ofe{+Xb9yw*A$55?qG?Lm5G`$A?S+~(YZhf0h5bV_v z{ooz?$e;0dDbaR6$t@M18ll{2^6wX+-UluGmv9i6GV~`M(0k6Zc+j$$OTwrjNRyIJ z1^ucjsoX+gv27JMetFj2nQuHB$OL~zwbMRUK3{} zdn|DCI&j5wjTJ8Xp1wzXvcZpIm^v47p_Yg!2?vf$9`W|$h8S1owRV`GfAY-f7Gv&* zgOx;W+`zTa{DzoK3FBn;OE6GZt~F5+x)QqW*rVP} zUXVZ^S32j&w+K56KND1UC;LmEyr44G*oE+ElDbi~&(Ig3NXcw*bis^)o#3d5Fx&Gk zIqu`UGgsVM6UwT8y|V|q@j1fazU;yA8`q@pwjhS`^cI5##_B`cu-cP>H)ZrM$TaUj zaxj!7g7-3;q*|D{7d^lb!bX;$+ObK7ntaPsi@vkRxl#A!*_HTpys=_zdy(vgnz^e` zF}iQd%0Jf6(Yl%--l~d!-K_;IIheMmWK9_Slb1->n$gu=d%um$ZACTQBG^W%{8NSq z=3}|S$kjaP6KT;igdF(&@B>X4cHY&_nxN zWM`YutoZK&9{uvV2M5<1?BVO4mgs%oX;pv=x787`n{lJ+n`lpohA^#0Ij_z_@5I9J zt6fW-VOuqwuzMArUz|_-xgWtRAg8HEgN;`!RN29_L+g6^Q!8R~^~imA>--nIg(=`OOn7g~cs(+4Y*8i)Jbp3B~BrRn1ih=;@JNLZ!_|3-a|&;F0{ zd6RZO?_MXA+8*knS)N}Uv!U<;HjE$wRXKzm9`%%e* zfUW~$6CX>K;-?b?9zF(D^V4nStMzBuK5m!2Lk3&tbGXH?d{Rx%T%EYD=|#g#mqkD4 zL#cW@kqvA6-Vl;J-K)~JWsGb;)?0-$I~Q@@x0Qw^7`|x;EAVAvY6w{b_uKh~+rR1# zB+IxpcH@Q6J;lo%a+1KiiRgRITzK4-n%G_jF8e)=TY3^j8OdeUAx))u&o)^#t%mwIovwy(gGEzCF3~e;LYL(FZXlta>RtXzEzCXeV&7q zg@fZlK#+~LrT@g%!iB5L&7_A3&M^iV0+{^sWPM2F9#@akMsRtRs^jd zsBAmhBc2HcZ11K!r15Q>J6~0pS^cS`45Mqq6OFTb$4Ge=*skuW*%HU`n`!~PF z_F-(lW+HsWO50`kTYG3GF7cHjO2EiF_k-G0;87$P#T!_ zlhiv0WfNqST&V*kej778D^=Zqp?wqo-L_+)jIkCM7oC7w>HuczktY&vfm`9?>zc)4`T9^Tn!lEyWF{^-yZ~A9<};RisJeA_UNwSp1ZRb7gFg_>nBP2@4ahC7d((e45m+cT+Ee& zrWFR$rNl}$rW~p^U0z1d`JFGXylj|t9V2&ma?;Quv+C?bK9DT`{he|D-lq2_n4wh)Y?cGF=U5%gS*=aa{=Q>bdKPhvcIH#uGfk{w!$#!XHE4Xc8LaXVv+K!Y zFpxzTqudA8ou!^X1sGw1(vy>W#$~>UeXR%Y>Eq@EA3In3JJ z6UozX;0ic!fNxW3)BN>`8!|ugKb1ZmHwU_Rcw8!|iDTVym0pjXlojLBy(RZ!@xtXb zYjgXV@dFQqln61UALOyvEEu_DDk}02D}dHA<9tmh`M$H^Q>Z<+veX|bl9H}shwZZA zxA*j-w-5N{WNRPkR@yRuSYV?{4-RDn#9Rt2X9l30CRztDCKpW#{++ruGBpvfGxPMqCd}=T87$=@zy}=#?dIG7Im_fI1=8mm>1u2kbk{=!5h__5+W+m ze064Vu5TFw_M+e7C#l(Z(`#GpWn&Di*`UK^o5>HTwWVWun}OfcB@2s&BPZzoveoI9 z!kyxgXVtEX$E?Z*r0Az?0rs)gR#o|ZEkhBq-{~@=iR-4*2#|K$&oo&tH{bRp`jFIY z7mtQ!rh*xms7_4cERUkhb5GWL!X}pcz8U}4@g*!O;fOucUG+{pHpQXSY?+0LkL`f3 zP_EFoNiWzg`_IP=1vmnY&t2mG!ncP9RVaXZ%=PjU#+D1q(suFAg%$L|bqx0nI@EmN zQ0}$%NdAXz-Y-U^CeoLRvoMX3A$O6lcsyV&x{VQilu!6;{Su!E3T5qWx!I<)u>GP= zQIm{Ae0{neup!8fX+tGwkR`%&Lj$D7R zc+m9gqG`HVDi&M4n*umd1`5BWoqMJER!DUegTik3PGyd;1g!{m3iIhA13#02!XV)| z*-a*^n`=WikEzT?y==KIe9;MqPMJV2G?TFUhQ#!kiORQp4A~=|$Q2RAi#pm?JNDb1 z1Xs*eN{KZnQ9@7L%^GIFL)Rjqv#J`p@Fsb2as0ftg;lJXVwX8$Ix#}M|5tiijR0PE ze;w<&B<3*^)p+@EYHA?%EX++{udk%_Z6q}AGU{tG@)8^VWbf?_zHj~m#<;1a*fqqU zhGEGAgETqNB*OLi(zS%uP+xRTloDPCVl%UzE672^nRN{TO`_F8@v3P!tr#fLA}JLX z_-hX&cFM2>!gK>HQI^NDCto0vlMlcaoyML1Tv6H-EWL+VgMzvG666OHUx)8$NBy6b zE3b)w*pZM3INr!fYlRl-Ax>(tZYz%WPxebUT$s_QUN7^wvu6!nGxY78X4X--_A(u+ zXHB)G`n!kHEv3b~yh{<-vO(pq zjock#rp2Q?W(XRRU~WEwyu{#ZiAKuMi_B1! zTDm}9Ux6Q1jSiKtgG}DF=-RU`MQNEmW~~9CJ&6&n`7VVE0=cadsK;9%4oe|4Xu&IN zqepKC&ryNenRM4YJ_gf?V9er{znVOtXB^FKmU!bia($c@hXKQY*_TQ4SO1Fx3eal? zv1T-Eg7>!=5=be1VnQWcc$J5!m#aMi@}6q1k}LL`qSr_Z2LU9R@S*4Z zB*<(uT3`lt&Er|%aQ`rS;vc*ccVvfTKg8T9Op2%5FkLRf#PTs{YfL)5+51&mAKU!ECe-r#C5qTH-Yj8V2MGiBuXz_lK z+wiqSZ1Hy>+hgl~;RKGo(&w0ox?O_aoG?t6fXiK&YJ765Q{sTTr8E`j}7M_cs| zk;#mQBRlbMfvO5 z@wV!GPh?sBHtdR-`}V>U|7gA}tw;IK1gy*!k5uFEFX9E89W(C2yE3h_WL!^pS|@-^ zX4uH+<_N50?3}2re8gA2h)79d@bwldmLdTgZBwfDBPlyu;3aA6&5{#=T1!U*k%REm zu^7vem{Mba!AZE11NmsVY$M?mE@k_S4oyp)?W6rGyzX85!K-CzCm#Z9buBexkf}xg zUQ7w@MBo|mY4k~j17|s8^Ev{rx8XS72A1)epx8`CjiXCUuNgE2C&Z>Df~=2E8@!bx zw>QguKBG>N>h1t`W@Hs2ag8;+XK!*a5U(W|&5GE66`@0f#f4HSySV~XlhZ9ISJq@c zMha47=^P^_BMI0my}I_3eWn>ak9}o5<*=7pBsnq2Fy5W8Gg^JA03!wL!^=_UxSeWa z?78Q=61Olr;c({!FJ68vpt)hWptQjkx4o|?;*3FH5rQ?#P+hPe z1bL2XYAL9=k5i6}b11iHdu^uZWx*Yima5#x1i;reDON12^l9`Tl<#Z^2!ukKZ}Tud|mR-MPt8!xV3CWI#wxx#v(u|2T}vJ^~k z>^yK{NbM}rVHE)%eQ?YUg;*W7tL@dkq&YrR ziV}h^YKroA6w^tNG}5_0U(e}q?iFbJVSy15SShy`^Fi^haZvRwpi!BP{9{Hrl`Yu_ zyqS2MLs;URgxFBfQ6|n?bmc(SPOZ=?jV8Rw7gN7bRhG}@mp_R0OE2K0A%|cvyETjJ=_ZTITTY&crqVl!d7T?Qe*RGy)ixM9*cwSOqu%gtGxv$aYVEh@&9=jr;{8y`WJgYfLhi+Dmh zWyN1Pp4tl#%i^YOqNtN}hO*cJIm6|%KHts;!L_+q9J6S3Vc*)e2C!EO#kk@q7h4CP z?ya;{A4NMY_Iz)b0$&03PT>np^KWg;l>p|dM<_+)oauVXTd;R3cpyA9iw0Y)<9BTK z%6|TStg=h<$C_Ue1@}nu_+mkKH>&iI7z(KoJkA-C152%IHgRXR!+zt40JeVh)5R>G zhg_0QTl9&pfv7j0s%jW1c5&Zbc>z69hzoFf0O$t$`t6bRl(0IsztjZOfxRm`Yj=JT zO+ZAwDV<&}B%~B7j)d>rY!{xMHYYdHMy8E9<>LnoQ~g=`v^3(3FVg1rxA+0I+!g7c zr2>+q8s+YC3s6v(>Xx7}Ig}5jfjAH-v3?b#0$s%c=-Wfh@NjcOcV)~ir7jfb)nDz~AATJptdDo|9?c5GNoD!O^{{60_fQ{3i zm;WC)`1~CU_h-8552)o0qOyQm2Al}i`1Cp|qE*GGcVxHZJF*+3D_J3npw6@Kk7&Q0V87uL!{&TmdKoOy4M?-=!q&(K%1{_xg)5IKXPmrvG71vRHML=$v2P zrhq2c{y=)+Vpf4c7lRf%>@A+xUj?}}T`ka=IZKgOSaYLg!c{6XdBKYX8(-WQwAoP;O5)~1 zdF8DrU7IUjBezkFx9Dx^P>5#Il1|Q3yo^7|T1f-WE|fVg&lUYt@&7wR86auzG`{T= z6ElStHA6J!rgz8#Q(?DOBg=`#Rz{DuczR@_H)^6{^^lVPBTW@NN?#(0`#|*a1DmpG zGXELLJN5OZD!@OBd3GbV_AyD1e3oEp?Z$_cQw8fM;g3#MC42JrY4h8@4ed6Q-Rc(B zg(mC^_V@#(KlD8A!XiSAKS7h2dF=oX*H^US92A#H@E`fFl0wSAyNqcqpboK~>sTu8 z#IN(nBv7$zG^yWj454W~RWIlMbU*y6cNrIg2Jyy#r!qC8RN22q`sXh@Z`JCR4|wSc`M=Xb?h5aoJqFL%ox_XP8fSqkRk`wX@K8+7kKBd?tV=^zs3^9x9pE^ zGx$JP)X#U2pMznP8VqNx8x|RKKQiNliW+xaXh59sa0+SqMmLw0FV~ zGL(6l^)f1CAED%a{lJ_;6ArkO= MBd;b`DPtD=KOaa9h5!Hn literal 0 HcmV?d00001 diff --git a/content/tutorials/time_series/time_series_query_with_vector.qmd b/content/tutorials/time_series/time_series_query_with_vector.qmd new file mode 100644 index 0000000..dc2551b --- /dev/null +++ b/content/tutorials/time_series/time_series_query_with_vector.qmd @@ -0,0 +1,522 @@ +--- +title: "Time series querying" +author: "Veronica Andreo" +date: 2024-08-14 +date-modified: today +image: images/points.png +lightbox: true +format: + ipynb: default + html: + toc: true + code-tools: true + code-copy: true + code-fold: false +categories: [time series, raster, vector, advanced, Python] +description: Tutorial on how to query raster time series using vector maps and time series of vector maps. +engine: jupyter +execute: + eval: false +jupyter: python3 +--- + +In this sixth time series tutorial, we will go through time series +querying and compare and contrast the different tools available according to +their inputs, outputs and other options. +We will split tools into two groups according to their name to facilitate +comparisons: + +- temporal tools: [t.rast.what](https://grass.osgeo.org/grass-stable/manuals/t.rast.what.html), [t.rast.what.aggr](https://grass.osgeo.org/grass-stable/manuals/addons/t.rast.what.aggr.html),[t.vect.observe.strds](https://grass.osgeo.org/grass-stable/manuals/t.vect.observe.strds.html), [t.vect.what.strds](https://grass.osgeo.org/grass-stable/manuals/t.vect.what.strds.html) and, +- vector tools: [v.what.strds](https://grass.osgeo.org/grass-stable/manuals/v.what.strds.html), [v.what.strds.timestamp](https://grass.osgeo.org/grass-stable/manuals/addons/v.what.strds.timestamp.html), [v.strds.stats](https://grass.osgeo.org/grass-stable/manuals/addons/v.strds.stats.html). + +::: {.callout-note title="Setup"} +This tutorial can be run locally or in Google Colab. However, make sure you +install GRASS 8.4+, download the +[LST sample project](https://zenodo.org/doi/10.5281/zenodo.3564514) +and set up your project as explained in the +[first](time_series_management_and_visualization.qmd) time +series tutorial. +::: + +```{python} +#| echo: false + +import os +import sys +import subprocess + +# Ask GRASS where its Python packages are +sys.path.append( + subprocess.check_output(["grass", "--config", "python_path"], text=True).strip() +) +# Import the GRASS packages we need +import grass.script as gs +import grass.jupyter as gj + +path_to_project = "italy_eu_laea/italy_LST_daily" + +# Start the GRASS Session +session = gj.init(path_to_project) +``` + +## Temporal tools + +All the temporal tools that allow to query raster time series take either +coordinates or a point vector map as inputs to sample one or various STRDS. +Regarding outputs, the *t.rast.\** tools retrieve values to stdout, write +them in plain text files or update the vector attribute table. In contrast, +the *t.vect.\** tools output vector time series. Only two of these tools +allow to do queries with temporal aggregation of the raster data either +according to a fixed date or a date column in the case of +*t.rast.what.aggr* or with temporal topology relations in the case of +*t.vect.what.strds*. + + +: Comparison of temporal tools that allow to query space time raster datasets. + +| Tools/
options | [t.rast.what](https://grass.osgeo.org/grass-stable/manuals/t.rast.what.html) | [t.rast.what.aggr](https://grass.osgeo.org/grass-stable/manuals/addons/t.rast.what.aggr.html) | [t.vect.observe.strds](https://grass.osgeo.org/grass-stable/manuals/t.vect.observe.strds.html) | [t.vect.what.strds](https://grass.osgeo.org/grass-stable/manuals/t.vect.what.strds.html) | +|---|---|---|---|---| +| Purpose | Samples a STRDS at vector points and writes the output to stdout or text file with different layouts | Samples a STRDS at vector points and returns aggregated values to stdout or in the attribute table | Samples STRDSs at points from a vector map and outputs a STVDS | Samples a STRDS at the spatio-temporal locations of a STVDS | +| input | vector (points) or coordinates and strds | vector (points) and strds | vector (points) and STRDS(s) | STVDS (points) and strds | +| output | stdout or plain text file | vector, plain text or stdout | STVDS | STVDS | +| where | yes | | yes | yes | +| t_where | | | | yes | +| spatial aggr | | | | | +| temporal aggr | | yes | | yes | +| example | t.rast.what -n strds=A points=points output=result.txt layout=row | t.rast.what.aggr input=points strds=A date="2015-05-01" granularity="2 months" | t.vect.observe.strds input=points strds=A output=points_stvds vector_output=points_vector columns=A_values | t.vect.what.strds input=points strds=A column=A_values method=average | + +Let's see some examples. We will first randomly extract the centroids of 15 +Italian regions in our study area and save them as a point vector map to +query the raster time series afterwards. + +```{python} +# Create 15 random points and add attr table +gs.run_command("v.random", + output="sampling_points", + npoints=15, + restrict="italy_borders_2_clip", + seed=47) +gs.run_command("v.db.addtable", + map="sampling_points", + columns="cat integer") +``` + +```{python} +# Display polygons and points +points = gj.Map() +points.d_vect(map="italy_borders_2_clip", type="boundary") +points.d_vect(map="sampling_points", icon="basic/circle", size=8) +points.d_barscale() +points.show() +``` + +```{python} +# Save map +points.save("points.png") +``` + +![Sample points](images/points.png){width="80%"} + +```{python} +# Calculate monthly LST time series +gs.run_command("t.rast.aggregate", + input="lst_daily", + output="lst_monthly", + basename="lst_monthly", + granularity="1 month", + suffix="gran", + method="average") +``` + +Let's start by using *t.rast.what* that will output the result in the standard +output, i.e., the terminal, the GUI console or the Jupyter cell. + +```{python} +#| scrolled: true +# Get LST monthly values for the points +gs.run_command("t.rast.what", + points="sampling_points", + strds="lst_monthly", + layout="row", + flags="n") +``` + +``` +x|y|start|end|value +4577892.8167900704|2607156.3643725100|2014-01-01 00:00:00|2014-02-01 00:00:00|-3.3495627520159 +4577892.8167900704|2607156.3643725100|2014-02-01 00:00:00|2014-03-01 00:00:00|-4.49710379464276 +4577892.8167900704|2607156.3643725100|2014-03-01 00:00:00|2014-04-01 00:00:00|2.75497920866939 +4577892.8167900704|2607156.3643725100|2014-04-01 00:00:00|2014-05-01 00:00:00|5.8034850260417 +4577892.8167900704|2607156.3643725100|2014-05-01 00:00:00|2014-06-01 00:00:00|9.28137663810487 +4577892.8167900704|2607156.3643725100|2014-06-01 00:00:00|2014-07-01 00:00:00|13.8477356770834 +4577892.8167900704|2607156.3643725100|2014-07-01 00:00:00|2014-08-01 00:00:00|15.1575793850807 +4577892.8167900704|2607156.3643725100|2014-08-01 00:00:00|2014-09-01 00:00:00|13.6287058971774 +4577892.8167900704|2607156.3643725100|2014-09-01 00:00:00|2014-10-01 00:00:00|11.6199055989584 +4577892.8167900704|2607156.3643725100|2014-10-01 00:00:00|2014-11-01 00:00:00|8.36024697580648 +4577892.8167900704|2607156.3643725100|2014-11-01 00:00:00|2014-12-01 00:00:00|2.6866315104167 +4577892.8167900704|2607156.3643725100|2014-12-01 00:00:00|2015-01-01 00:00:00|-1.45273122479836 +4577892.8167900704|2607156.3643725100|2015-01-01 00:00:00|2015-02-01 00:00:00|-3.12071761592739 +``` + +::: {.callout-note title="Layouts"} +Users can then play around with the different output layouts, i.e., +*row, column, timerow*, to find the one that better suits their data +pipelines. +::: + +Now, to exemplify the use of *t.rast.what.aggr* imagine we did some mosquito +trappings at the 15 sites at two different dates and we need to know which was the average +LST the two months before the trappings. Since the dates are different, we +actually need to aggregate different days. This is done on the fly (i.e., +without the need to aggregate the whole raster time series) with the extension +*t.rast.what.aggr*. Let's install it and add dates to our point vector map. + +```{python} +# Install t.rast.what.aggr extension +gs.run_command("g.extension", extension="t.rast.what.aggr") +``` + +```{python} +# Add a new date type column +gs.run_command("v.db.addcolumn", + map="sampling_points", + column="sampling_date date") + +# Add values to the date column +gs.run_command("v.db.update", + map="sampling_points", + column="sampling_date", + value="2018-07-01") +gs.run_command("v.db.update", + map="sampling_points", + column="sampling_date", + value="2018-08-10", + where="cat >= '9'") +``` + +```{python} +# Inspect dates +gs.vector_db_select("sampling_points") +``` + +We will use the daily time series in this case to get the aggregation +period right. + +```{python} +# Get aggregated LST values +gs.run_command("t.rast.what.aggr", + input="sampling_points", + strds="lst_daily", + date_column="sampling_date", + granularity="2 months", + method="average", + flags="c") +``` + +Let's display the result by converting the attribute table into a Pandas +DataFrame. + +```{python} +import pandas as pd + +data = gs.parse_command("v.db.select", + map="sampling_points", + format="json") + +pd.DataFrame(data['records']) +``` + +:::{.callout-caution title="Question"} +What would be the result if we use the monthly time series? +::: + +Let's demonstrate now the use of *t.vect.observe.strds* and +*t.vect.what.strds*. These tools, as mentioned above, output a vector +time series or STVDS. Vector time series in GRASS can be created either +from a series of vector maps (especially if features/geometries vary in time) +or from layers added to a single vector map (i.e., features are always the +same, as in the case of meteorological stations). + +We start with *t.vect.observe.strds*. It will create a new vector map with +as many layers as raster maps there are in the STRDS we are querying and it +will register these in a STVDS. + +```{python} +gs.run_command("t.vect.observe.strds", + input="sampling_points", + strds="lst_monthly", + output="sp_lst_monthly", + vector_output="sp_lst_monthly", + columns="lst") +``` + +```{python} +# Check the STVDS is created +gs.run_command("t.info", + input="sp_lst_monthly", + type="stvds") +``` + +```{python} +# Check number of layers in the vector map +gs.vector_info("sp_lst_monthly")["num_dblinks"] +``` + +```{python} +# Check one layer +gs.vector_db_select("sp_lst_monthly", layer=7)["values"] +``` + +```{python} +#| scrolled: true +# Check all layers +gs.run_command("t.vect.db.select", + input="sp_lst_monthly") +``` + +Let's now compare the values obtained by querying the monthly LST time series +with those resulting from aggregating the daily LST time series. They should +be the same. For that we need to specify the sampling relation. The temporal +tool that allows to specify sampling relations and do temporal aggregation is +*t.vect.what.strds*. It requires a STVDS as input, so we'll use the one we +just obtained above. We also specify the *start* relation, so all maps in the +STRDS which start time matches the STVDS will be aggregated. Let's see this +graphically before running the tool. + +![Comparisaon of granularities](images/comparison_of_granularities.png){width="80%"} + +```{python} +gs.run_command("t.vect.what.strds", + input="sp_lst_monthly", + strds="lst_daily", + column="lst_new", + method="average", + sampling="start") +``` + +```{python} +#| scrolled: true +gs.run_command("t.vect.db.select", + input="sp_lst_monthly") +``` + +As expected, results are exactly the same! So, if you are constrained by disk +space for example, you don't need to aggregate your entire STRDS if you only +need aggregated values for a set of points. + +:::{.callout-note} +We could have also used +[t.sample](https://grass.osgeo.org/grass84/manuals/t.sample.html) +to check which maps from `lst_daily` would be aggregated in the +new column `lst_new` above. + +See for yourself and try with different sampling methods: + +```{python} +gs.run_command("t.sample", + input="lst_daily", + sample="sp_lst_monthly", + intype="strds", + samtype="stvds", + method="start") +``` +::: + + +## Vector tools + +The main difference between temporal and vector tools to query raster time +series is that vector tools can update the attribute table of the input vector +without creating more layers. Regarding inputs, both *v.what.strds* and +*v.what.strds.timestamp* take a point vector map as input, while *v.strds.stats* +takes a line or polygon vector map and performs spatial aggregation, +i.e. zonal statistics over the full or a part of the STRDS. +The extension *v.what.strds.timestamp*, somehow similar to *t.rast.what.aggr*, +offers the possibility of reading input points' date information from a column +in the attribute table and only performs the query for the dates that match. It +also offers spatial interpolation of the four nearest pixels. + + +: Comparison of vector tools that allow to query space time raster datasets. + +| Tools/
options | [v.what.strds](https://grass.osgeo.org/grass-stable/manuals/v.what.strds.html) | [v.what.strds.timestamp](https://grass.osgeo.org/grass-stable/manuals/addons/v.what.strds.timestamp.html) | [v.strds.stats](https://grass.osgeo.org/grass-stable/manuals/addons/v.strds.stats.html) | +|---|---|---|---| +| Purpose | Retrieves raster values from STRDSs using a point vector map | Matches points with timestamp in the attribute table with STRDSs based on point locations in space and time, and updates the input vector's attribute table | Calculates zonal statistics from STRDSs and uploads values to attribute columns of a new vector map | +| input | vector (points) and STRDS(s) | vector (points) and STRDS(s) | vector (lines or polygons) and STRDS(s) | +| output | vector | vector | vector | +| where | yes | yes | yes | +| t_where | yes | yes | yes | +| spatial aggr | | | yes | +| temporal aggr | | | | +| spatial interp | | yes | | +| example | v.what.strds -u input=points strds=A | v.what.strds.timestamp input=points timestamp_column=sampling_time column=A_at_sampling_time strds=A | v.strds.stats input=areas strds=A output=areas_new method=average | + + +Let's go through the usage of the vector tools to query raster time series now. +When we run *v.what.strds* to query STRDS we can either save the results in +a new vector map or update the input vector attribute table by setting the +`u` flag. In this case, we'll create a new vector map and do a temporal +selection. + +```{python} +# Run v.what.strds with temporal selection +gs.run_command("v.what.strds", + input="sampling_points", + strds="lst_monthly", + output="sp_lst_monthly_2014", + t_where="start_time <= '2015-01-01'") +``` + +Let's check the new vector created. It contains a new column per map in the +queried STRDS. + +```{python} +data = gs.parse_command("v.db.select", + map="sp_lst_monthly_2014", + format="json") + +pd.DataFrame(data['records']) +``` + +The tool *v.what.strds.timestamp* is an extension so we need to install it first. +It will by default update the input vector attribute table with a column that +needs to be specified by the user. Furthermore, it offers spatial interpolation +of the four nearest cells via the `i` flag. Let's compare the results with and +without it. + +```{python} +gs.run_command("g.extension", extension="v.what.strds.timestamp") +``` + +```{python} +# with spatial interp of neighbor cells +gs.run_command("v.what.strds.timestamp", + input="sampling_points", + timestamp_column="sampling_date", + column="lst_sampling_date_i", + strds="lst_daily", + flags="i") + +# without spatial interp of neighbor cells +gs.run_command("v.what.strds.timestamp", + input="sampling_points", + timestamp_column="sampling_date", + column="lst_sampling_date_no_i", + strds="lst_daily") +``` + +Let's check the results. + +```{python} +data = gs.parse_command("v.db.select", + map="sampling_points", + format="json") + +pd.DataFrame(data['records']) +``` + +Finally, we'll extract zonal statistics of a raster time series. For this, we +need either a line or polygon vector map as input. We'll use the map of +italian municipalities and demonstrate the use of spatial (`where`) and temporal +(`t_where`) selection. + +```{python} +# Install v.strds.stats extension +gs.run_command("g.extension", extension="v.strds.stats") +``` + +```{python} +# Extract August average LST for Milano municipality +gs.run_command("v.strds.stats", + input="italy_borders_3", + strds="lst_monthly", + where="NAME_3 == 'Milano'", + t_where="strftime('%m', start_time)='08'", + output="milano_lst_august", + method="average") +``` + +```{python} +gs.vector_db_select("milano_lst_august")["values"] +``` + +Let's now try to find out which municipality in northern Italy had the highest +August average temperature each year? + +```{python} +# Clip municipalities to computational region +gs.run_command("v.clip", + input="italy_borders_3", + output="italy_borders_3_clip", + flags="r") +``` + +```{python} +# Extract summer average LST municipalities +gs.run_command("v.strds.stats", + input="italy_borders_3_clip", + strds="lst_monthly", + t_where="strftime('%m', start_time)='08'", + output="municip_lst_august", + method="average") +``` + +```{python} +# Check the output table +data = gs.parse_command("v.db.select", + map="municip_lst_august", + format="json") + +table = pd.DataFrame(data['records']) +table +``` + +```{python} +# List with column names +cols = list(table.columns[-5:]) + +# Dictionary to store results +results = {} + +for col in cols: + # Find the maximum value in the column + max_value = table[col].max() + + # Find the index of the row with the maximum value + max_index = table[col].idxmax() + + # Find the corresponding value in column 'D' + municipality = table.loc[max_index, "NAME_3"] + + # Store the results + results[col] = {'max_value': max_value, 'municipality': municipality} + +# Display the results +for col, res in results.items(): + print(f"Column '{col}':") + print(f" Maximum value: {res['max_value']}") + print(f" Municipality name: {res['municipality']}") +``` + +The highest average temperature in August varied among years and municipalities, however, Campi Bisenzio in the province of Florence, had the highest value both in 2016 and 2017. + + +## References + +- Gebbert, S., Pebesma, E. 2014. +_TGRASS: A temporal GIS for field based environmental modeling._ +Environmental Modelling & Software 53, 1-12. +[DOI](http://dx.doi.org/10.1016/j.envsoft.2013.11.001). +- Gebbert, S., Pebesma, E. 2017. _The GRASS GIS temporal framework._ +International Journal of Geographical Information Science 31, 1273-1292. +[DOI](http://dx.doi.org/10.1080/13658816.2017.1306862). +- [Temporal data processing](https://grasswiki.osgeo.org/wiki/Temporal_data_processing) wiki page. + + +*** + +:::{.smaller} +The development of this tutorial was funded by the US +[National Science Foundation (NSF)](https://www.nsf.gov/), +award [2303651](https://www.nsf.gov/awardsearch/showAward?AWD_ID=2303651). +:::