From 205d67f773684d185c7a8eff1e64a8e57c3c6d5c Mon Sep 17 00:00:00 2001 From: fabia Date: Mon, 1 Dec 2025 10:25:43 +0100 Subject: [PATCH] Transformationen --- Campusnetz.ipynb | 8 ++++-- Transformationen.py | 63 +++++++++++++++++++++++++++++++++++---------- 2 files changed, 55 insertions(+), 16 deletions(-) diff --git a/Campusnetz.ipynb b/Campusnetz.ipynb index ec36fc9..8c575a4 100644 --- a/Campusnetz.ipynb +++ b/Campusnetz.ipynb @@ -4,9 +4,13 @@ "cell_type": "code", "id": "initial_id", "metadata": { - "collapsed": true + "collapsed": true, + "ExecuteTime": { + "end_time": "2025-12-01T08:31:31.422078Z", + "start_time": "2025-12-01T08:31:28.994551Z" + } }, - "source": "import sympy as sp", + "source": "", "outputs": [], "execution_count": null }, diff --git a/Transformationen.py b/Transformationen.py index 9fe77f9..a44ba2c 100644 --- a/Transformationen.py +++ b/Transformationen.py @@ -2,22 +2,35 @@ import sympy as sp +def mas_to_rad(mas): + umrechnungsfaktor = 1 / 1000 * 1 / 3600 * sp.pi / 180 + grad = mas * umrechnungsfaktor + return grad + +def mm_to_m(mm): + m = mm / 1000 + return m + +def ppb(ppb): + ppb *= 10 ** (-9) + return ppb + # Helmetert Paramteter zur Referenzepoche t0 -to = 2015.0 -T1 = 41.1393 -T2 = 51.9830 -T3 = -101.1455 -D = 7.8918 -R1 = 0.8878 -R2 = 12.7748 -R3 = -22.2616 -dotT1 = 0 -dotT2 = 0 -dotT3 = 0 +t0 = 2015.0 +T1 = mm_to_m(41.1393) +T2 = mm_to_m(51.9830) +T3 = mm_to_m(-101.1455) +D = ppb(7.8918) +R1 = mas_to_rad(0.8878) +R2 = mas_to_rad(12.7748) +R3 = mas_to_rad(-22.2616) +dotT1 = mm_to_m(0) +dotT2 = mm_to_m(0) +dotT3 = mm_to_m(0) dotD = 0 -dotR1 = 0.086 -dotR2 = 0.519 -dotR3 = -0.753 +dotR1 = mas_to_rad(0.086) +dotR2 = mas_to_rad(0.519) +dotR3 = mas_to_rad(-0.753) # Testdatensatz der AdV tc = 2021.48 @@ -28,3 +41,25 @@ TIT2 = sp.Matrix([3993787.0533, 450204.1794, 4936131.8526]) LDB2 = sp.Matrix([3798344.6978, 955553.3244, 5017221.8937]) FFMJ = sp.Matrix([4053455.6399, 617729.9375, 4869395.8850]) +# 1) Epochendifferenz +dt = tc - t0 + +# 2) Parameter von Epoche t0 auf tc umrechnen +T1_c = T1 + dotT1 * dt +T2_c = T2 + dotT2 * dt +T3_c = T3 + dotT3 * dt +R1_c = R1 + dotR1 * dt +R2_c = R2 + dotR2 * dt +R3_c = R3 + dotR3 * dt +D_c = D + dotD * dt + +# 3) Matrizen aufstellen +R_Matrix = sp.Matrix([[D_c, -R3_c, R2_c], [R3_c, D_c, -R1_c], [-R2_c, R1_c, D_c]]) +T_Vektor = sp.Matrix([T1_c, T2_c, T3_c]) + +# 4 Helmerttransformation +print(f"BRMG = {(BRMG + T_Vektor + R_Matrix * BRMG).evalf()}") +print(f"RANT = {(RANT + T_Vektor + R_Matrix * RANT).evalf()}") +print(f"TIT2 = {(TIT2 + T_Vektor + R_Matrix * TIT2).evalf()}") +print(f"LDB2 = {(LDB2 + T_Vektor + R_Matrix * LDB2).evalf()}") +print(f"FFMJ = {(FFMJ + T_Vektor + R_Matrix * FFMJ).evalf()}") \ No newline at end of file