Transformationen
This commit is contained in:
@@ -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
|
||||
},
|
||||
|
||||
@@ -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()}")
|
||||
Reference in New Issue
Block a user