Transformationen
This commit is contained in:
18
Einheitenumrechnung.py
Normal file
18
Einheitenumrechnung.py
Normal file
@@ -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
|
||||||
21
Vorbereitungen_Fabian/Transformation_Helmert.py
Normal file
21
Vorbereitungen_Fabian/Transformation_Helmert.py
Normal file
@@ -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())
|
||||||
@@ -1,36 +1,24 @@
|
|||||||
# Transformation ITRF2020 --> ETRF89/DREF91 Realisierung 2025
|
# Transformation ITRF2020 --> ETRF89/DREF91 Realisierung 2025
|
||||||
|
|
||||||
import sympy as sp
|
import sympy as sp
|
||||||
|
from Einheitenumrechnung import Einheitenumrechnung
|
||||||
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
|
# Helmetert Paramteter zur Referenzepoche t0
|
||||||
t0 = 2015.0
|
t0 = 2015.0
|
||||||
T1 = mm_to_m(41.1393)
|
T1 = Einheitenumrechnung.mm_to_m(41.1393)
|
||||||
T2 = mm_to_m(51.9830)
|
T2 = Einheitenumrechnung.mm_to_m(51.9830)
|
||||||
T3 = mm_to_m(-101.1455)
|
T3 = Einheitenumrechnung.mm_to_m(-101.1455)
|
||||||
D = ppb(7.8918)
|
D = Einheitenumrechnung.ppb(7.8918)
|
||||||
R1 = mas_to_rad(0.8878)
|
R1 = Einheitenumrechnung.mas_to_rad(0.8878)
|
||||||
R2 = mas_to_rad(12.7748)
|
R2 = Einheitenumrechnung.mas_to_rad(12.7748)
|
||||||
R3 = mas_to_rad(-22.2616)
|
R3 = Einheitenumrechnung.mas_to_rad(-22.2616)
|
||||||
dotT1 = mm_to_m(0)
|
dotT1 = Einheitenumrechnung.mm_to_m(0)
|
||||||
dotT2 = mm_to_m(0)
|
dotT2 = Einheitenumrechnung.mm_to_m(0)
|
||||||
dotT3 = mm_to_m(0)
|
dotT3 = Einheitenumrechnung.mm_to_m(0)
|
||||||
dotD = 0
|
dotD = 0
|
||||||
dotR1 = mas_to_rad(0.086)
|
dotR1 = Einheitenumrechnung.mas_to_rad(0.086)
|
||||||
dotR2 = mas_to_rad(0.519)
|
dotR2 = Einheitenumrechnung.mas_to_rad(0.519)
|
||||||
dotR3 = mas_to_rad(-0.753)
|
dotR3 = Einheitenumrechnung.mas_to_rad(-0.753)
|
||||||
|
|
||||||
# Testdatensatz der AdV
|
# Testdatensatz der AdV
|
||||||
tc = 2021.48
|
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]])
|
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])
|
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"BRMG = {(BRMG + T_Vektor + R_Matrix * BRMG).evalf()}")
|
||||||
print(f"RANT = {(RANT + T_Vektor + R_Matrix * RANT).evalf()}")
|
print(f"RANT = {(RANT + T_Vektor + R_Matrix * RANT).evalf()}")
|
||||||
print(f"TIT2 = {(TIT2 + T_Vektor + R_Matrix * TIT2).evalf()}")
|
print(f"TIT2 = {(TIT2 + T_Vektor + R_Matrix * TIT2).evalf()}")
|
||||||
@@ -11,9 +11,7 @@
|
|||||||
"source": [
|
"source": [
|
||||||
"import csv\n",
|
"import csv\n",
|
||||||
"\n",
|
"\n",
|
||||||
"from prompt_toolkit.utils import to_float\n",
|
"from prompt_toolkit.utils import to_float\n"
|
||||||
"\n",
|
|
||||||
"import Datenbank_alt"
|
|
||||||
],
|
],
|
||||||
"id": "9317c939b4662e39",
|
"id": "9317c939b4662e39",
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
Reference in New Issue
Block a user