From 11205c24688c265a036303e9c8dfcc7bc1df51de Mon Sep 17 00:00:00 2001 From: fabia Date: Mon, 1 Dec 2025 11:06:23 +0100 Subject: [PATCH] Transformationen --- Einheitenumrechnung.py | 18 ++++++++ .../Datenbank_alt.py | 0 .../Transformation_Helmert.py | 21 ++++++++++ ...ormation_ITRF2020_to_ETRF89DREF91(2025).py | 42 +++++++------------ .../main_alt.ipynb | 4 +- 5 files changed, 55 insertions(+), 30 deletions(-) create mode 100644 Einheitenumrechnung.py rename Datenbank_alt.py => Vorbereitungen_Fabian/Datenbank_alt.py (100%) create mode 100644 Vorbereitungen_Fabian/Transformation_Helmert.py rename Transformationen.py => Vorbereitungen_Fabian/Transformation_ITRF2020_to_ETRF89DREF91(2025).py (65%) rename main_alt.ipynb => Vorbereitungen_Fabian/main_alt.ipynb (99%) diff --git a/Einheitenumrechnung.py b/Einheitenumrechnung.py new file mode 100644 index 0000000..9807198 --- /dev/null +++ b/Einheitenumrechnung.py @@ -0,0 +1,18 @@ +import sympy as sp + +class Einheitenumrechnung: + def __init__(self): + pass + + 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 \ No newline at end of file diff --git a/Datenbank_alt.py b/Vorbereitungen_Fabian/Datenbank_alt.py similarity index 100% rename from Datenbank_alt.py rename to Vorbereitungen_Fabian/Datenbank_alt.py diff --git a/Vorbereitungen_Fabian/Transformation_Helmert.py b/Vorbereitungen_Fabian/Transformation_Helmert.py new file mode 100644 index 0000000..9c04272 --- /dev/null +++ b/Vorbereitungen_Fabian/Transformation_Helmert.py @@ -0,0 +1,21 @@ +import sympy as sp + +#Beipsiel aus Luhmann S. 76 +# Ausgangssystem +p1 = sp.Matrix([110, 100, 110]) +p2 = sp.Matrix([150, 280, 100]) +p3 = sp.Matrix([300, 300, 120]) +p4 = sp.Matrix([170, 100, 100]) +p5 = sp.Matrix([200, 200, 140]) + +# Zielsystem +P1 = sp.Matrix([153.559, 170.747, 150.768]) +P2 = sp.Matrix([99.026, 350.313, 354.912]) +P3 = sp.Matrix([215.054, 544.420, 319.003]) +P4 = sp.Matrix([179.413, 251.030, 115.601]) +P5 = sp.Matrix([213.431, 340.349, 253.036]) + +#1) Näherungswertberechnung +m0 = (P2 - P1).norm() / (p2 - p1).norm() + +print(m0.evalf()) \ No newline at end of file diff --git a/Transformationen.py b/Vorbereitungen_Fabian/Transformation_ITRF2020_to_ETRF89DREF91(2025).py similarity index 65% rename from Transformationen.py rename to Vorbereitungen_Fabian/Transformation_ITRF2020_to_ETRF89DREF91(2025).py index a44ba2c..1391704 100644 --- a/Transformationen.py +++ b/Vorbereitungen_Fabian/Transformation_ITRF2020_to_ETRF89DREF91(2025).py @@ -1,36 +1,24 @@ # Transformation ITRF2020 --> ETRF89/DREF91 Realisierung 2025 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 +from Einheitenumrechnung import Einheitenumrechnung # Helmetert Paramteter zur Referenzepoche t0 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) +T1 = Einheitenumrechnung.mm_to_m(41.1393) +T2 = Einheitenumrechnung.mm_to_m(51.9830) +T3 = Einheitenumrechnung.mm_to_m(-101.1455) +D = Einheitenumrechnung.ppb(7.8918) +R1 = Einheitenumrechnung.mas_to_rad(0.8878) +R2 = Einheitenumrechnung.mas_to_rad(12.7748) +R3 = Einheitenumrechnung.mas_to_rad(-22.2616) +dotT1 = Einheitenumrechnung.mm_to_m(0) +dotT2 = Einheitenumrechnung.mm_to_m(0) +dotT3 = Einheitenumrechnung.mm_to_m(0) dotD = 0 -dotR1 = mas_to_rad(0.086) -dotR2 = mas_to_rad(0.519) -dotR3 = mas_to_rad(-0.753) +dotR1 = Einheitenumrechnung.mas_to_rad(0.086) +dotR2 = Einheitenumrechnung.mas_to_rad(0.519) +dotR3 = Einheitenumrechnung.mas_to_rad(-0.753) # Testdatensatz der AdV tc = 2021.48 @@ -57,7 +45,7 @@ D_c = D + dotD * dt 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 +# 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()}") diff --git a/main_alt.ipynb b/Vorbereitungen_Fabian/main_alt.ipynb similarity index 99% rename from main_alt.ipynb rename to Vorbereitungen_Fabian/main_alt.ipynb index f7db149..68f7ec3 100644 --- a/main_alt.ipynb +++ b/Vorbereitungen_Fabian/main_alt.ipynb @@ -11,9 +11,7 @@ "source": [ "import csv\n", "\n", - "from prompt_toolkit.utils import to_float\n", - "\n", - "import Datenbank_alt" + "from prompt_toolkit.utils import to_float\n" ], "id": "9317c939b4662e39", "outputs": [],