From fe5e69dcf316054a3cd95ce160301beb0d0b82bd Mon Sep 17 00:00:00 2001 From: fabia Date: Mon, 22 Dec 2025 17:20:44 +0100 Subject: [PATCH] =?UTF-8?q?Koordinaten=20des=20station=C3=A4rem=20GNSS=20w?= =?UTF-8?q?erden=20jetzt=20verwendet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Campusnetz.db | Bin 131072 -> 36864 bytes Campusnetz.ipynb | 561 ++++++++++++----------------------------------- Import.py | 39 +++- 3 files changed, 183 insertions(+), 417 deletions(-) diff --git a/Campusnetz.db b/Campusnetz.db index 065aacaf4c61bab1aace5d248b15bff9598630b0..459d3e7a7b4e65383d7a10e83e6c9ecda26840a1 100644 GIT binary patch delta 2265 zcmZ{l2~-nT6o#`;GRY(?0>MBWj8QV(OwJygBE$(XtTnc?}2v5;6=OlSw^77yN?!E8c++1mH znV?uB#&|rQtc0ZbSWQBiDu)0V!SCd${#G4Ttx+YZq{_?6DrKHBmS`t75VHwJ(X803 zC{zrUcgY*%kBrd&=u?9vw_~8`RC}W zep&QBJp9vbO?U+Rx<(F$MOtDb*%<9Dt3Y99wJ#d!#rH~BOYGBW&6bWnMVQw`Fw78S zGO{u1%=`t0V%972)-SHwaja#+2ch}e{e5cCKqH5XME7a*At6RK`U&-v6M5R+cy(3$Y_ zO~bKQZm3YDo9%()BnNBA8>KR*gfz7jOgs|ClC_@Cin6^ysXQw@v1kYVk!{}L3PNASROoQZh_K!XU?9RK`0H?l9y{SoRb0S-f$0nrcPL5M>Uc2(*etQ3dfdUO|s&Af{=or+&B6S8D= z$04(B1V|?yefsnn`ojueeOy2yJ$`yj!=s9q^v6k5FJH5>r^m=0mQ=BBdxx=%SS^s?4u$tq;nJK)-S+$)%fx=psmDh9yz_1q#HmT!cVFI4n$Z3(F@^8 zxS2#qr~wW@m|G2krseQe&^D<_)BdPy4Tazicx5+yb{5`&Vv; z{Q|gzd4rZl=fPdZZ|E8J$*`=AN^bpamKA?n9Jr)fsY%ON#caNnU1=-yRGMxd3;E$L z&`j4F=_Npumj+u}mi-F!L^?C*#vPAQev}OPztokL<}LL1t>w7uLb!PbNDL1 z=d`4$`rgIh0$@Gk-S(tTm|y?td#li#Gges?;$GolX>-o(z$zyU=N^LWHg;wxeuvDzjj=SzqJVhJ&?E|0vaprt|=KAgo7 yaKX(}xPU{EfeSd;xIJ(>jpV)w3JeanFN|Szb$&5|+62DCHhu#4s^ceg`TqyI&T3`= literal 131072 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 z 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 z zmR?53yt;Oki*yut6%G{ILX@GG;#zu!F7H)~mQFd%z^l~eC89m_(so$9%jlR_%hKPr zUJG6&K2TJOYw2Zl%&Sd30w0fLwbk=AJG>&#%fcW*PW2=Yb5N<%5Gp=T^2 zABjfyT0iXokx0BZO^R#iWppeOwK_*tu7F5v1qDAF5m+Qrifia)bSx70_sCj=AQHz> zi3=jSvl4I0N8+(Le#5LG5{b`sk+x7mmybmMm*LZXLL^d25o?0BQ}cgkwSMyR|LXJq zsQv%7=l}gZ|G%~-|L?)Q#ZBW{s~>{%|Jj_?9Dnvp_Dr^jbpy`-w^Tc*)-O_8qp7c% zFPX#8QAjCkh2F^c>4m1ppTnL&V_vU6?QWs~YvLo^ZVDu zRT0rhoJ+iCM2c(c89G#c?mC3P?vYYlThGwp#GA)Y zZW$e0BCfFN@U!`Z$w)M7VLB*CiRietUPgE4i=Upc{TgBUQe6Hk?3Eb3K!H=TPO7Jm zAfSgxac#YfE)t2$-;OzS@^C23@uyQe0clP(h`a|8Z=uoy)}KRoxdS3#*X# zT;el;q`0!vuGh%EKc>>L;S0v)vdWKF%qKWh93K$)!4e-1RXQSk8p^|;wkPXi*6wB~B0bX48X zC>@D*OF7qKArhlo7gX{f5~t0FqjZTZgKO($Z5N4T`*zFUPI;wKbQL1<9wm_=qT||n zGiu_?r+P0hq`oTpk&7vu2pTxQxG0Vv4A~*4uDU?UT>(q7L`QT> zaZSC9j@i3-@6h;;U~l3xfTTl}cvIfq&*tAw7!3B-pWKy2GPetn)@bVMwD;chgLhtm zy{Q8!M-kZ@*V4-@QXSu8j&ndY7MS((e)@xY*&El=%jmSdpBvoQ+YIsj%)i0v8DMYX z`Z-cuOV7|LdmHl3G-(3y{nBozMVETmJ5q{k=^46QX#tNtw;R|GtC!tzExjq#uL$VQ z1sR>wEuWl{0C_r_MOKdIflj#u{GQ`5FB<8WX8#rWdXeiGaV)t_${dZQ9}W8n8F%o{fxXR*G7s+odlR2TDaEz(3|-#dBi#nRc@Flb%C{1oFf7Hj^9-G~_wsHp z!@=Io4_wM}1bdU~bR)301Vg8FMf7Q46&4>(U;1&pUTbu?cAm*J&>2lv!K_%wAAR{C z`M4h1-fyXu7SY)>(i-jj-*aCgI)AjNv!gea(flaYS^@bZ^3?@gLoaK4bw=}$sX63e z`WfA5d%+7vazCgFIz$l}irHO8ug)J89^4M9C7+fY(Sos%KZ3*mhkYTU_fkTq^GB@t z7u6wu^d@HF+QyL4)S-s|MD(6@)8#Xoe%f9Me_e)^*SVCSi-2B7{-2ru|MU5O$r`5I zz1#@(@9Im{5$7>yGN&2)GBZydvGH@wdAhGF)@w;OGv?uruFu zJNwRe5UR&Xe6T2Al!WOj({GLQKQJO>9=Kcp{KZ_%fvpJF+E{6MOO+Kd-szmXAgmIXzsN|-{Npk_;l!EB3|xuN&;^LQv)v=>sW1aK*}Fa{ zoeTXobqG=uwxDsDRhu%q+ zkL&#=>iKRYY`Li7%sLb}!9w*nAZ1PECJ^&bG?HmH0Ax zwcQt+w}4Y&UQ7=i=@JiiC(cx6;7WXkPTAcjD(^C!By4hOeXLP5*c}q{4K@&2#u9rg zFm&4Pd_S{G5bt4Mik7?tyE}e8meq%djw|tHblUD!4b`VX+k4-+>a+45*qvC-k%24m zEvPP?p8r7oqtkmNn=YRam*47;Vcjzq^cGa9f(W9v*C_F8-WoExJ0BT$+@rtK^?|s; z@YMINIrmUI$RrM%)q#j^irJl^yCL4W57$%ED#aC!tzSOeeHL}NJ8YI@A<+s*2Cm3w z=t87ZabWtzO^xCFzofp$T(=@$W8z)b8Mq>!p?f2(A5RY-=`u-N(PHXJbt$tZH5HrMjx(vhLh#CI2B}>cd6*IUZpJ}^%%uLtFJhB^NhV&er$P8SO&(P&# zX2-#eSD>!QUFx7)qEo*zY83f@e^#-Wad*kv-2!5UypP0{`Leb{{|^1k616QH=x4eo z+fGh|m~p;#Jh}l<%;+ldD&5bRw>t;BI1CTCkGjm(j6&sNofn+Iz@C5ud@7fh+VGx?Da~TfMk& ztT|+%R&hg`nG;zCSLiczxqPUlnx*$IbI3vk!M4a=M08xC&(P)bq5e;JiEkhaMI~EJ ziRidOUq;9Bq4A?%{LvidO~j>QGjN5zj1F0->ot29%HK}jd^+Q0z4D?Hv3`c3%SWW7 z;l0uy5Rs&H7pmv~aQ^>BUKfLZI{y#f|Bo~t|E>PtfAjqR3|y&i1LH-$C-vb0`?enC zl{SI7bi-d$y`5elzXj*v7s(1pWCpI(m(i*EipQSbw(kt{QiszcBtyHS;GWblok%gB zfh+Z8biPRZ_Oh_a_NpInvQ6K!!?orkZ?itsK%FSAaiu;(7l@x7y*{+TP^h-n=;rRc z!STp13y!0UnNCEx0ZY=}&|3%Z3}ZXur^#OI=A;7WalE+6mT^b3bSgLtO`(v7I?xKdw6$Kw63zOKur zK)l1AnzU3RI@FYg&kOQGM?$>AJEBoHB08?r zXWA|w?-|~WcBDbPgV_DACq#5ysn5{m<2@Uj5=^5!ta zdvO}---zgNqM%;!jw|(LbUNMzl~XfIpnvap zuV2+Qi1%K3?KFvYNMztjeTGiQJ9_z}2>SQem#+t9Lc9~}b2D(IK0~MCz1z5zRBk}vg|uDoJTYG& zf%(z3aKCFyQ1Ex+tZN3Y)R)ouu)ZE@nA7wP)G)MvanfxIuU>6$jrC#-T_`TQQMukj zI2YzeH&<{2Fyx*Z>8sCRrH_$?&eG*W?CdbT>YC+mUWmMjEA(Y;uC{kV)p(eX+P@ldt1yI^nPiXa)dLSNQ)H#*L%bGr7^UhWTWTra!h3Vj)!w)<&i)k6lMZ#})dr3|n>XvGC1$ zsO;QHXTz&xQ^-A1%e+KqFJ;sy^lMf~7&@JM?Bx_|MCBgM9^~gj?h$l_gDw%Z9ariz zbUODKxWV=+m3tiRQvlWOHj-P$1$&xgborc2m!$BNxScSUo;|^_i7rvwaizYDUTybv z(fR|y?#&K6pSursr{H9xQ|G$d4mtqH`PSGyXMNm|g<$tskQwYJYCEpfXWCBNT{!>M zF|hjxy$4smf!#q<(~;=x!VIVCw%3{S9rapk{9Uj&sg}EX{=d0y{l9$v|E%^fZ3C_C zTEX=BfB$;^|KB+OKLc0f+tNz_@bUlJJMX9}mMzSy1OX8QBp5&tP(eg;5TV-y2r2?z zMGhhgn6qL;Q90*;0R?l;0_GesC(IWUMlk1u0pW}t4O?l&@Ts%K`cx7NJ-2W!2z z-uhnM@2k^YUHezNV2!I|7^r^e7BC`?Z=2koaG&oU{F=aL4C#d@R}%S^{)+0bPE`43 zl}BAU&-;Zlcg#wjh-MsBb>+=wt!^DuyFJihwfAXa~ci|0Y|21xr0jz?YW}6QmK9Fzc%X}I#858-U zGtO?j-p}#x>g|XEK6I{b$mks2w?-(rpqpvzW2+duC$H0bMvo^qm%=@+#!XAEkB4sx z=H7Y9n8+8$j%MQLNj|FrCCo%wGA8mxbtg~1&Hvm+<(qAn;`0(_q$~M{$r()KQ*~iR z8a7&O3o}yV@xU#UVMa3F7?+HRd{Mn(MqYDR(FtbczE0;x-Gmv*%(fT zq~|ar7o4_M{~Kl`bHCzbOypB_G9#xIZ9OsrX5=dExFy$NMzUAZFp*Eyg&AqKzU3g8 zk@XjkP@e)blD$4!N#s|qC`5H(Mh4`mUp9hgqbfbhTnRJs1soaoWtuZX|NLu$8JX}; zcOKu(dcz&Nz>I7(Q@chXlR75z8^I&piR|w>LHE*^7LUtU1aPX>>$mp*V8gd+@;AZU znbZfPv5V?3BdZlV^fv6AM0yr>jWE{d+h*iW$lS-aUa2JWD}ATxo?O|%j_pP@xdAJ= z%?TmFYLa#rFriP?J-F{fGVUb3hIOLhj}BJv9KiSRlB;)38Jr1Et|as;-*}?BlNan+ zoNGK}=0(0s2jVB)78@n~HZhq`9U;HX=35F>6XCbHxaX*stsqV2d%2P^nNQV8 znt>n9gBHSXbIYzY`Fltc&W33)_5Dl6WIk0F(u}OOY7hK2RR_}B1VWn3{m_yt$^3tP zt~hzoerV2@j_BKekd!JW^exCr+Lio)_viwrm3LI|rmLx%wky=1cQ0pu0$@U)syp+V zKVNS+bix->JuvRf`CsteZ$_?)WBL_gLZ7O8`n{{x!t&sxvz)5_ki)4vC&8{Ixm>Ut zlR75!srv8E{PY-Ht`5$SDZ{qU)f4@is5){+FLK{baEAHTnB<5m)II%PKGEvEbzlZK zGvf4;R^z}KC14$&n4H0cJ{`N@Oo7=d;H9*kq z9rr`+g`H;%M`IV&QLXXBxd{F=)Lsa_JB}e$vHrhKzrEfIy;ME>+W))!|NngdpT}?a z|JA6rfwkXXRsVaL9JBP+!h?$ZapOJ&gjqk|7Y*z3G{dl<_Ppy*RtIGAN|wIzNlVo| zxZ`t5r?;;Ml{54H3!DEehi{7Ur2NF-uS|}ada4f8%s-u+?61w()Yh7JFJRt#mSd)# zs=IRK+v}KLIQfiIbxCZJYIh5Mlgxep<&DwIqw1dAmqVIU^lL(A8^^;NYhC;X)hFh2 zb8^hoQ+1MRs46FbgH%%=nuXaxs;xZ?+%%Yc$4os{C#jY=6=lOO-aNKgnbK9l-bJ{) zlBus;Yf*LRmt+5Qz=jXKAWef6j}l6l#*A5dsw$-EQdkO|5xXdQ=kc2$P10bs4wE`& z>8UzNQ=?7Zl>w0EF4JMRpGm1D$}vk%)k&HmJ?h2>Lz*)zdX)5lG?^>Ja?H|Gb&_V8 z&6~2_kmkTc;R_c)nj_ZV)?xa(m1CBks*~SnMYnI2{TXG3|8z)|G~;37E#&pkuc)!` z;39uKc!N{1mq#s!Q%u@z?$^8926h$5!4xJcPi|I)x;w9TZrZJL8oM}^{*ozgmaFqF zMbKvS*IA}HgIRhyb~wXeG%dpV%41+$JDm+1JQz}KFfw6IV+Qqbc_m9<`75I8u;bb| z(0JPf^`(e2rnuGC5}G>6it-Pwc$97W__cyVmR- z_|1I!RE`;XsxJ85Le(282z7$bhv)AEznLj_IcDgo`fvM+joVu(yOeRNal&oGJ^uJsxTRfivs8)JO#1UuBuUSk9!58G5Sj z!M*=-_r}7Y1DwkA#-rrF5~b8Hp;P$H1`eg#=F@2;X|mhvhOa)F+(q^ zSNPsOVD}mDy|p|fvorW^Rqh!0n#mc=&{K86_rOjC&~GtNQLwFcjHLOF8G5SzyYGcJ zQ;XmxZ3!z4%+QPKzt=AuZ=4Q`O9S7}=6flbIy}oULoccezK2ZEQisY;bMG#7+r9_i zp&eR-drZD#hMuYu-y;j3Tqq**{ZRT*75JX}WIBJ4NgXrvRGs*KCx6jCct)DO$QsbQ zFZj+(1Iugt`AGo2um0!0D90Oe!{gE5JM+ySa?H?+6$aSXg-T|dxiUD_(Mree;Js|9 z8|{Saz%!Yg!3@2qUQstH>!AazNZYN~e1p@Z%*bTS&{K7xZj^Yx_e`i8r5@E@`9{Lm zfGl|m@|~)ay3qua_U4md?K|_X@ub!8=3~AeEqQVk>O$RUNNKHXs2gctOtsO6x)JM) z{I~W0wmQ#rlse6{Y5o6e%|$i6H1BEt>-YZxwTkb5o9gGP52*hCqW&+(EPYdW$+>#L zA2(<5JzDyl``q^{bhddHvl-4uGR;8D(l;UMLbosIHW0xtve-HT`gBJrGEb`W?c|4Z z>s+#9QpYSkRd?a54|_e`wq_6LCwir{ZM!1g^$}djd1eKZdS^68s5+2Vm+G|2n%A0B z+58=Hp%{AVk0OV#hcT#!%PU#>%5}P^PAIXuS?59rrog@yxvsbwgQ`r98G2FGmH6$m z(e})F@O#k5rg7WBZ*u6JsdKp;GxSuQ`28(@r4#hF>U<+?qu&egJAqsi!!&lx&{Or_ z{m$!je&&4MXQXh26N7rVypo~+qu)!T^3E23-^};6$}u}n$1M1LxK-I5@VjTJv56)4 zy?f#7$GaHDER$n)o~jG;dvPnj{^0lZq-$nD;CCX)lSv)3^Hg2%+jgGJ0p|A&b@}>5 z;5YMGOL_Z0|9Z%cwpL{o1ZUl>qDi+i!FT4HK;)R6w%d+}^xO>^(z~)WOcB=CiI4UTEB~(J?}gh?q6}c&EyPb=c)Sd zzTZzd>ZAhS)!=Yc9Fsa`=czjJJ-U@iIK1;~P8xhovlM)X3s;}9?F3?Wo~ncIuWRfH z|LX+!uBEA8&t8)6n4PEU!b$y3hkxASRMm`YD5ur~-^04aY>sDg2D9^2o%mjM_0)^T zFyBAK9vJxneAgrm(V5gSJ5SY#?|o#glP-hrlbg($#e?t6+`qh%ov*9~P<1ljzu7ox zeFfjmHJv`~1>c$LL~_i~Q*~Fa=J-{eqWeRt<(CUSnCu7N*;oIVp|>HA7*f+E&l!gn zYafh`fXFg z!*6bSY1)wLvd+)8-{9Mi8L7K_;TxtogBf~J-Nl{zwr}_LTm7zbrLSCVLfc&B`C)+N zhO+eM3YS+h^p$UGQQaAKq%2n&<_&wvx4&4M9CK$HGiK*SRg~tj3BevRNV7(Qtv?gB zB**MLRVQhV9{qUT3rKTY;)w6-Ax+YNh3S-@9JBLO{r5DNPO6jY32DL!z{$s%oWbn8 zsE*PMK4X?q6Vene|7B9g?7XP%?Cn?XF+grs1hq!XgU7P>^np}aSJE;$X6Hrqic}Lz z!fV2Bbo0Y`8h0VpdhyVcf@$oSou}#~)j`|mw1TcZk;_L1Jqm(Up=HD~rnAO!%+6DF zAyo_2U(orc=Da35W1;iS81^q1%+8DI6{!wicoMpQzY1FMaZU?J6;2oF1~EBP$<9|k z*F|;sjj9(f_N_4&*1ndzeH-pehg6}Bl-Um^^=9blMe9eu*X^dh@4h}7>UPY`tGsCy z>OvKEzKvgB*u~6z+{~dn)a_V%09SnfFZlQT|0(S_ZB4Cgt)QCkYR;+Yqi&P* zt9PyTx!QuN>iPffzn94|GjB&;Vq{0#)s5GhH+xNIbz@G&^{?My(gwbxjF~o-V`iSJ zdvKSJ4ZZiUU<&MG)#!eAa3SBWZ`e_&JTuJ&%*<1DPp)Q(`Jy9gupV!=rqSVAK=^nv z_pp{@W?ocx@#c-Zat*jNV2FG5Uk*p+`G7IQ$?ySemSxmR{PB|`)bC8NlFzn^P+l1s=?mRU_IU|X8H5a zhL9@zlNB@bqIyND9ek!IL#n!wo+EQ1)fu0<^-m(V`iSJdvZ05cJ6zW+yGMDTfA#*14xy* zx0M_-^UcTu%p3lYRJ*30The6!r-~Z#cDwv2-*FRb?OZ0u%)F=$z1wxQtj<`C0rDrN z%jl8qih0L(TFy;gPhfHeGxJm(c0}&2YqO>dzOo$8MBQ*`$_F%fe!;x%GbVM+%u{t& z?#8^ZUYBRI<5V3sT=;JA5mplHPch8QQ*{@5dS;y6*)cc1@vWxWJHd@POk=NP<||hc zqIyNDM{4hW1gVaUZq`^!QmUAp7u73L-J$CXPlA{Zt?XJ@L8{DM9p#vvr|Lqg4ztc2 zfmF{Mq}_cEslM6Me~pUC8O+X8bs<&laof}()m5KNFRy@9;XXt!C6js_dV5fH7h205 zXK^I5`Xxx!ja-+(q+ZF+|1s4Jt)>?3A=PR5IZeDERrVS>X6WhIh2QG%%S$pL)$j>P zeYZiX%r_y(F+)$)g;YIFVqol!x5w8u42D#{ru;Z$!{iKR=&3qMH6+J2t1F~>WYPOp zvmw=S%LaF4+cm}vJymz1=ZeNP+tWv@IizY$E}vl;5&0qU^!;!sk#eq^jB;|aRS^A<=<%2s?q|!{U&xQ6*Kfy-Gi^DQRmQDZ#da$ zpZlW3tOnn~inP(0!sHBQ=&3sNyy~#?VY6cBmfUc1O6K89&?!zIE_PkYq>dSSQ61`Z z|C|;peO`CXrRy)DPB#b;ENdop%+QPKLaK_wghlHi)r?-PKg%Fh=Ke+U2=ttx>c6LI z=-cr12S}B<|GykF^i-XsYP?r<LFQvGZ2&SQ{j z(){j|oh7A;8G5QNq&n~8mA~M(syDi`h9#uR{`Lr~!grFY-bJ-7halC{=dX7MPTGpO z*O)xC3U!j|-PjMgZz0vG_MKN8huRr{ z$|x%4_Pb!dlQwf&3e3zq5Op{B0yFcX zx+|OttJC#npB=q`RDN{WC}soS-HN$?r~)(dR2}BR%80_pt=GdnIg?+weL2oYo`qgh z!O=`($ILuchn}aJjZ)5BTEwYzUGpxybK*NjGT*JNsAT3V*I1%Dq^g;|_rvasws0D6 zo!6?Zn4K5Zg;Y;n3mO4upX{~THCpNnsWMl$6_}kD)rC|?6s(FggjDYg z*qb#OQr&R?dQULq}r$UKE2+MYQ9G2K?fn#idOM`#>5YcitRIW#OPu1VR#9eQf1w@ zl_^ZB7&}STs73eGQIKlWulK$TgjC-)gmn;;Gnk258l^vPhKJu53Rrqy{PW$#Fh9LZhJBvRuY~Q8)YOr!Mn*HF8g6RE21z!sfy~( z&VFTYOG^rAZKt82S7*PpZ+o-?++mwZ3J3Vdho zKCQqEy{Inu9uwO7s21@(WS~JR_}=Y;qG&kN*fB#dstdl~yi~MD1AHGf>(ikH;5*#L z-S+^KI%eoab@08on$?||Q8&T&j-jc$-huCPW{xZz#H5ZHdQn~Q{jWKG%YkjR?b~(# z<291zJ7(xbb-{PV%w1m>fbTCG1sKQ(vZlZcy*+uvc#uEP9jRZ`l*b)j!aDMUt#Xwe z>>iU#d6{a83e3<`bvNE1XF!^t8|+QnE1dHmZG^W6+>6j%ooUWshMuZ>a<5mo*ao(Q zibI{xX*PZ8K|gf%l^$m3sk)cngY5jf?!lnmI6kMl{w?@oVczdjsH3MCRVTjpPAE{X z2fmj&ue-k#e205&J1t>y1~c?jo%lZR>d7OpBW0iYDCf>R@SQZeWxCB#ff;(LPJE9{ zdOAM>e1B>%_tOUO-D9GD`eLTBV}_opd-;8~@ChBz)dYMWHrC=nF!*jMJ5k@0NgXrv zRGs)9tFb#H5qMp-xK|CHfbW5DSci>B!3;fBC%z9JGe{dMoA#N-*Ywv)Sp&;4Lr>L- z?}?{+>Fx&KUr*6I7!SVN!R3Y8EY8R=Lr>Mc{Jz{Ny|v>LytNxo-aR@q1AGTkM{OsQ zdLo+dVjW4S-(5YEWVe!3WnEI5e1`fR`_A{IKdTG%JHuzzBZffz&e+~Kp)=I)E)i=O z#{QrA{f}9B;R-rZIdgaNQ(5>gT{IjhnK~}jW92J(pBj1OkR`*vu}pzk`IbbOaB^_h zkIB~UhhFyR&#CM*Hox+{1w9}Y@bG)bq+ZF&SAOMEb*Q1=_%Pt9qGpv?lZ_Tsb3uvJM|OV6S&XoxV)!n3)&V$-ONNL;If# zhmJO`LuH-rsQ8f4tlg$$3e3z?br&v=`{F%i*O;Ezn~lcJKD|5xAL z+&J||(=|R9KY?dolZoy*clpkz4TmjG>&oN|X6NbH$(+d^x9k_3g0xd_IVk!F%o*qf zYg53aj@fytPUcKW$9pGyV9xZs5@;`zG-oh7FRBZ3M)T~kOUq!+%+PZEP$+56V0KFgq`*lR0x~$knGZ z*jcUXb!z#f7)f&mv-6_5@SNFXJ5vLGt9I4DwMaLWG-oh7Pu0nsDV}lr132T?eaMrD z`;z7iX6HrqiaFDC_4bW0XBMB+9(E4q4D(H(3e3)n>cX4}d3^LP^eS}iulBZMprkp2 z*?Fo?=FF%*qf)+rdY_*K_UV%53})v=b(k|Xy`!^QF1-(Prp2MDn>=97Fn5bpV0PXS zUP~?lGvdV?+3iT&IUQEcdf|$f&&W44+)~`gis?Cn*?CbNzK67vo}Mi^wvH?PFuVB- zzB{Z_A|}9BG?O}J=c&3kSDNy5TSRXkQ2+Kr!=n%1F8Yx%?ye zE9_k~)C|Z9O5>Z~hJM*?J~OFfc3xD6F6%~iyY{{BdJKH;u9ky{HZhy@qbRx|50;!}+2O z?=LORfOCv%$hEyp>X@My)uBqI(eYh9zGN@#UG%hHkqUQnNT@wxhF(;!@O}4?>IvZc zle_^plEL@vlie;bF;WW5(2MGV@59svpN9Kg+oi@h?5zpD!>NlvwmD;m=DVma_-<}K zYhoktefQ}DhpvL}aBI{MmR>+I1!m|)b?{w$z8ejCI5bxSd}rn^6qunG)dk;|q^EZ3 zO?=O=bLZec7-i`YpEuE>j+%#Mcc1hlc{|_hNOYjnnvmKzLnVXIlkfhMuYeNjP+K z|Jx-;p)d5~(&4_bypL)r{KG`!DKJAXstc*cJ-IZcFQjT?TF`Zhq*O6OFRBZv`YxI@ z)eur$vN5rZrKD6bLocestt8r3B}uQho`O^_gyr-c38{L*lw@0DVTN8*cO$7jHS@_S zgjCO+Xf@!iq*O6OPt{4PTYCg4wnD0p5VU;c2cQcqLcIf8Jd>0v zX6QwAA=Pth`ovEpsiybWF_4rhX6QwA*k>#=Yj;|=&>m8~8gXH~oupJTLr+?XxC>jE za2v1xx%&R)!#P!GZta80MUvDpLr>Mcd4tfMVZp|58n5kzL*W-b!yYMfHy*`6^b`}- z-Cen|Eg2v8#>0#>S@&lBlRVg6SibRTcq!9U3^Vjp-GzIV9aWfaFdFKi);_H*KlAPH zldF|%nbiANF?MIa%iX5^`1W)Sa2L&v$>-$oo?oD4zDWv`I%ep_vAYSW>K}=Pnqug+ z+w=F#lawlE=&3qMHT!A$ki(Gb@!NgAuZ2|E_ee2AFRBZvDh4;$yBtzoTC{wmgQQe3 zLr>L7s)_@fk8guiyNo+lt4LC+n4zcY&VKp-a7Oj~GUuN8Bq>$Q(2MF7sTx<`wFOc= z(YHqZOi8I?hMuaERM)i#iHGwpZT~J?(-^wNNJtek^rE_u>fA@`G@xQ>GJm-KXtI0E z{#(TiJyj>Ec6yfB1Aa}mEf;Q%Gl5ju_q#AdPt}FH^BT>y9tpoy`;wErV&JwfGqTah z^jpOYy;w(rRCS-OYW{4-JWdriVR=w+HoQI9pOKiMr|KTO?t<0L4ckFqSH7i9`kSqM zSmxOCP>o?4J7(yqx+kw|QQOw#5s=~mM>lyodGo=~CO(E6U76G|LocesoXKmv^33NU z*J0nKeROtcn56w(%+OPHvRbOVnXgXc5r+!RB-QUQLoceMRG0cRe5x-gRm{*+bs^P4 z|HTs^Rl7B6(-uie6*Kfy9a1%a-(>2wO^|BNhY4FgNlFzn^rAXWwd4HyZ6&3O8G5Sz zd#VNpU%DNVlqzQEMfHkQk5AA6(lc)6wG~{vq*O6OPt{4PGwq88!C4*NyuqNna7n3l zMJo=fPEvgmkUn%3q`Eow`hB2OCHz)H{;ZBtb$M-au%Cof|0BQum6)L?$d{DWfo~pwN&MhbWLRJUpgVtoz7*n9a2tE|B zok<-t^i-{S%Exm+b?=&8CZr#7)(uh&PWz`Oo}mFW&s zsGKpcoRyfNCoLD;$RBq%UZ+^ExRo{dZu@ck$y8%L)RDOdhY~aNqPiP&5$v-4@q(-v z_{yESaCNhCK19ZzDrV@Zx(8R%G2cihHwf;se#2cneUSI>#Z2QVF+(q^ySn+6Caic| zZ#C?@G`Z1Jf75csc^5fQVX4(;(lds((plJA(I7u8+eIPI{q^}fT4!1uGKVjZC8tZ*EfsVAor zGxVam;Jangqc2vV?)xw^s6Nbh=C3U!X6QwA!S@`4JBjh&d(`c$yxEd`#|%AHC%zZG z(|g{G_&!=a=cXjzF+(q^!+ck{%JMR`et|Q`H@9iqM3V2Ap%)Hckw+Pv>Zs}erdsYo z4|s~{lpfQMfw5;mqf4eLw-Ph-qPjbD`x@If!)U=F=nwttYiWWLAKHWcIfEH`Q5{k} zzubKCoANy9MA^B)nKx5-S90ig>;X@OY>Vog~pVfeZG%IUQzGH@7R2O{T_e(P&fm1m+G#@u36MSdxZl}Zyy{Jxn zUzWPW#0u_RunF=mjE$1yJ7(yqI`Lh#RGAH_ntvSk>QNdW5Ww6CM2Q)Cs!n`=<@ELL zL-1Ws{crWPl6==j>qAjp@O{`~hqBe+d;9%%YyXxs-!Vfkstdly$yQGx^W9T>u0Pz; zBVoSR{PWmh)h~W2n&;oK%IGF(zGH@-K%Q>oUQyUruXV_x$rfuki|IDN{m_r)lE#i1 zda4doM~}`4Q$C-73Vq)33yDRN)-#x)r|RC^!P89-4*3M9Y1BG*`q9P+zA4BO*qP}` zfEjwK4pr{?`+Jtmn-AwM6p^1NM?y`2nY&P8hMuYu-|cHGYiI+$_w0OFZ@whoF+)$) ziSJR9E%v}Vvcc@EUIQ^cbt6JyrMiEB%MdH8`;&4*|mdRdz*rm_17@{nlM98)jfanJ)-o~-W`&B z#|%AHC%)I(+~KDI_^x_BV{Iq!ojp~|&{K8d`+n=C1K@n9d-h(lK72a({_;ulG3Ju0CC+F~K-C4`o7atUg83fdqjt8jB;PSZPt}RZ@2N4mHOxp4{X6Q>^(6U@8G5Sj&8ZEabE?nBWbplAXqs`Z zB;PSZPwPmYyphuS*Tb<{F!tgH6HU9qQ;eDPRAPpnstfhI=|3kWaVqb`dS~)ep?=4{ z6Nnjls!r;6d;V6PD~9@=MTBv5bxF=(hMuZJ{m%SsQK(rUygkktKkO3?^*d(5R*4yU zsxI8T^5$N>i?9>8bv%FTiKO}+X6UIpNwv`m_fy&Ara0XTZpo5TZHj)YRQ>lij`S)hl)Q>AsRu#SA@FC#fcljQL>!sTRzcyzQu@s;o^F&ba#h zN;`IGg(diIay)zP7h@^s8I{&msFPG}979~-z3Qpn;rrq5km}ltCz1^rp6}%Q-%>sB z|DgZBhPrwt2>kb-|2ptr2mZfxK&Hejy^pY6NB%%Pdd?ZAYc}xCcdYw4L^pyDzx$&=MSN59%&p_`vOP&sZ9YNO46yeHBmcH@^CsEzaol{vm`!q}$ z0`-4#5XgsV%$T7URRu>Lx|Z)u1V>Ca*RqvKas)HRid(-UuU6`S#>cDq-&I*lK7|E&X|1!Q3QVV>CPw3UhnC3fX=&8CVZyIA> zL-?`czY&W{7%e@^$hvPzQgn4zcY#CMBsq0?bk zr?x@+wE=a&clNPkhMuZ>`F$V0Oeb9rD0icXw^2`X!1qLWu#aYP1~c?jU6}8I8jZVy z?>1)|<^7W6J7(yqI`KWj*mgbC6ziAf4C-bq$#=}qQ+48dOP~2KCxGt_o`q?=mo(oo zLr>McIIX=8lz~Ix-DDIQdUn=XNxox-UaTWQ#nSMGo4Zl{VZgiWS+Xgalf;Z*hF(+` z>UUWkU0U{o`rVh+!@8f7RKLRvJynPLUE4cnrwoD42xbS=3{x^B)$cGvPt~D*xBcz4 zIvz!^YoBPpD)*zL`W \u001B[39m\u001B[32m13\u001B[39m dx = Parameterschaetzung.ausgleichung_global(A_matrix_numerisch_iteration0, \u001B[43mfm\u001B[49m\u001B[43m.\u001B[49m\u001B[43mberechnung_dl\u001B[49m\u001B[43m(\u001B[49m\u001B[43mbeobachtungsvektor_numerisch\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mbeobachtungsvektor_naeherung_numerisch_iteration0\u001B[49m\u001B[43m)\u001B[49m, stoch_modell)[\u001B[32m1\u001B[39m]\n", - "\u001B[36mFile \u001B[39m\u001B[32m~\\Desktop\\Masterprojekt\\Funktionales_Modell.py:636\u001B[39m, in \u001B[36mFunktionalesModell.berechnung_dl\u001B[39m\u001B[34m(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch)\u001B[39m\n\u001B[32m 634\u001B[39m \u001B[38;5;28;01mdef\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34mberechnung_dl\u001B[39m(\u001B[38;5;28mself\u001B[39m, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch):\n\u001B[32m 635\u001B[39m dl = beobachtungsvektor_numerisch - beobachtungsvektor_naeherung_numerisch\n\u001B[32m--> \u001B[39m\u001B[32m636\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m i, name \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28menumerate\u001B[39m(\u001B[43mliste_beobachtungsvektor_symbolisch\u001B[49m):\n\u001B[32m 637\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m \u001B[33m\"\u001B[39m\u001B[33m_R_\u001B[39m\u001B[33m\"\u001B[39m \u001B[38;5;129;01min\u001B[39;00m name:\n\u001B[32m 638\u001B[39m dl[i] = sp.atan2(sp.sin(dl[i]), sp.cos(dl[i])) \u001B[38;5;66;03m# wrap auf (-pi, pi]\u001B[39;00m\n", - "\u001B[31mNameError\u001B[39m: name 'liste_beobachtungsvektor_symbolisch' is not defined" - ] - } - ], - "execution_count": 21 + "outputs": [], + "execution_count": null }, { "metadata": {}, diff --git a/Import.py b/Import.py index e87e9ce..dbf730c 100644 --- a/Import.py +++ b/Import.py @@ -223,4 +223,41 @@ class Import: con.commit() cursor.close() con.close() - print(f"Der Import der Datei {pfad_datei} wurde erfolgreich abgeschlossen.") \ No newline at end of file + print(f"Der Import der Datei {pfad_datei} wurde erfolgreich abgeschlossen.") + + def import_koordinaten_gnss(self, pfad_datei, liste_sapos_stationen_genauigkeiten): + liste_zeilen = [] + dict_koordinaten = {} + + con = sqlite3.connect(self.pfad_datenbank) + cursor = con.cursor() + + with (open(pfad_datei, newline="", encoding="utf-8") as csvfile): + r = csv.reader(csvfile, delimiter = ";") + for i, row in enumerate(r): + row_neu = [] + for eintrag in row: + eintrag = str(eintrag).strip() + + eintrag = eintrag.replace("'", "") + aufgeteilt = eintrag.split() + for teil in aufgeteilt: + teil = teil.split(",") + row_neu.extend(teil) + if row_neu[1] == 'Referenz' and row_neu[7] == '0.0000' and row_neu[8] == '0.0000' and row_neu[9] == '0.0000': + row_neu[7] = liste_sapos_stationen_genauigkeiten[0] + row_neu[8] = liste_sapos_stationen_genauigkeiten[1] + row_neu[9] = liste_sapos_stationen_genauigkeiten[2] + cursor.execute(f"""INSERT INTO Netzpunkte (punktnummer, naeherungx_us, naeherungy_us, naeherungz_us, stabw_vorinfo_x, stabw_vorinfo_y, stabw_vorinfo_z) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT (punktnummer) DO UPDATE SET naeherungx_us = excluded.naeherungx_us, + naeherungy_us = excluded.naeherungy_us, + naeherungz_us = excluded.naeherungz_us, + stabw_vorinfo_x = excluded.stabw_vorinfo_x, + stabw_vorinfo_y = excluded.stabw_vorinfo_y, + stabw_vorinfo_z = excluded.stabw_vorinfo_z""", (row_neu[0], row_neu[4], row_neu[5], row_neu[6], row_neu[7], row_neu[8], row_neu[9]) + ) + #liste_zeilen.append(row_neu) + + + con.commit() + con.close() + return "Import der Koordinaten aus stationärem GNSS abgeschlossen."