Push 05.02.2026

This commit is contained in:
2026-02-05 12:52:27 +01:00
parent 5842255a6a
commit e0796deec6
15 changed files with 38386 additions and 1765 deletions

View File

@@ -44,7 +44,7 @@ class StochastischesModell:
self.db_zugriff = Datenbankzugriff(self.pfad_datenbank)
def Qll_symbolisch(self, liste_beobachtungen_symbolisch: list) -> sp.Matrix:
"""Erstellt die symbolische Varianz-Kovarianz-Matrix Qll der Beobachtungen.
"""Erstellt die symbolische Kofaktormatrix der Beobachtungen.
Aus den symbolischen Beobachtungskennungen wird die Beobachtungsart abgeleitet (Tachymeter: SD/R/ZW,
GNSS: gnssbx/gnssby/gnssbz, Geometrisches Nivellement: niv). Für jede Beobachtung wird eine symbolische Varianzgleichung
@@ -61,7 +61,7 @@ class StochastischesModell:
:param liste_beobachtungen_symbolisch: Liste der symbolischen Beobachtungskennungen.
:type liste_beobachtungen_symbolisch: list
:return: Symbolische Varianz-Kovarianz-Matrix Qll.
:return: Symbolische Kofaktormatrix Qll.
:rtype: sp.Matrix
"""
liste_standardabweichungen_symbole = []
@@ -204,7 +204,7 @@ class StochastischesModell:
return Qll
def Qll_numerisch(self, Qll_Matrix_Symbolisch: sp.Matrix, liste_beobachtungen_symbolisch: list) -> np.Matrix:
"""Erstellt eine numerische Varianz-Kovarianz-Matrix aus einer symbolischen Qll-Matrix.
"""Erstellt eine numerische Kofaktormatrix der Beobachtungen aus einer symbolischen Qll-Matrix.
Es werden die zur Substitution benötigten Werte aus der Datenbank abgefragt und den in Qll vorkommenden Symbolen zugeordnet,
u. a.:
@@ -221,11 +221,11 @@ class StochastischesModell:
Die numerische Matrix wird als CSV-Datei in Zwischenergebnisse\\Qll_Numerisch.csv exportiert.
:param Qll_Matrix_Symbolisch: Symbolische Varianz-Kovarianz-Matrix Qll.
:param Qll_Matrix_Symbolisch: Symbolische Kofaktormatrix der Beobachtungen Qll.
:type Qll_Matrix_Symbolisch: sp.Matrix
:param liste_beobachtungen_symbolisch: Liste der symbolischen Beobachtungskennungen.
:type liste_beobachtungen_symbolisch: list
:return: Numerische Varianz-Kovarianz-Matrix Qll als Numpy-Array.
:return: Numerische Kofaktormatrix Qll als Numpy-Array.
:rtype: np.Matrix
:raises ValueError: Falls Symbole in Qll_Matrix_Symbolisch enthalten sind, für die keine Substitutionen vorhanden sind.
"""
@@ -380,7 +380,7 @@ class StochastischesModell:
return Qll_numerisch
def QAA_symbolisch(self, liste_beobachtungen_symbolisch: list) -> np.Matrix:
"""Erstellt die symbolische Varianz-Kovarianz-Matrix QAA der Anschlusspunkte (weiche Lagerung).
"""Erstellt die symbolische Kofaktormatrix der Anschlusspunkte (weiche Lagerung).
Es werden ausschließlich Beobachtungen berücksichtigt, deren Kennung mit "lA_" beginnt. Für jede Anschlussbedingung
wird eine (symbolische) Standardabweichung StabwAA_* angesetzt und mit der Varianzkomponente der Beobachtungsgruppe
@@ -390,7 +390,7 @@ class StochastischesModell:
:param liste_beobachtungen_symbolisch: Liste der symbolischen Beobachtungskennungen.
:type liste_beobachtungen_symbolisch: list
:return: Symbolische Varianz-Kovarianz-Matrix QAA.
:return: Symbolische Kofaktormatrix QAA.
:rtype: sp.Matrix
"""
liste_standardabweichungen_symbole = []
@@ -428,11 +428,11 @@ class StochastischesModell:
Die numerische Matrix wird als CSV-Datei in Zwischenergebnisse\\QAA_Numerisch.csv exportiert.
:param QAA_Matrix_Symbolisch: Symbolische Varianz-Kovarianz-Matrix QAA.
:param QAA_Matrix_Symbolisch: Symbolische Kofaktormatrix QAA.
:type QAA_Matrix_Symbolisch: sp.Matrix
:param liste_beobachtungen_symbolisch: Liste der symbolischen Beobachtungskennungen.
:type liste_beobachtungen_symbolisch: list
:return: Numerische Varianz-Kovarianz-Matrix QAA als Numpy-Array.
:return: Numerische VKofaktormatrix QAA als Numpy-Array.
:rtype: np.Matrix
"""
# Symbolische Listen
@@ -483,11 +483,11 @@ class StochastischesModell:
@staticmethod
def berechne_P(Q_ll: np.ndarray) -> np.ndarray:
"""Berechnet die Gewichtsmatrix P aus einer Varianz-Kovarianz-Matrix Qll.
"""Berechnet die Gewichtsmatrix P aus der Kofaktormatrix.
Die Gewichtsmatrix wird als Inverse von Qll gebildet: P = inv(Qll).
:param Q_ll: Varianz-Kovarianz-Matrix der Beobachtungen.
:param Q_ll: Kofaktormatrix der Beobachtungen.
:type Q_ll: np.ndarray
:return: Gewichtsmatrix P.
:rtype: np.ndarray
@@ -515,7 +515,7 @@ class StochastischesModell:
@staticmethod
def berechne_Q_ll_dach(A: np.ndarray, Q_xx: np.ndarray) -> np.ndarray:
"""Berechnet die (geschätzte) Varianz-Kovarianz-Matrix der Beobachtungen Qll_dach.
"""Berechnet die (geschätzte) Kofaktormatrix der Beobachtungen Qll_dach.
Die Matrix wird gemäß Qll_dach = A @ Qxx @ A.T gebildet.
@@ -523,7 +523,7 @@ class StochastischesModell:
:type A: np.ndarray
:param Q_xx: Kofaktormatrix der Unbekannten.
:type Q_xx: np.ndarray
:return: Geschätzte Varianz-Kovarianz-Matrix der Beobachtungen Qll_dach.
:return: Geschätzte VKofaktormatrix der Beobachtungen Qll_dach.
:rtype: np.ndarray
"""
Q_ll_dach = A @ Q_xx @ A.T
@@ -531,16 +531,16 @@ class StochastischesModell:
@staticmethod
def berechne_Qvv(Q_ll: np.ndarray, Q_ll_dach: np.ndarray) -> np.ndarray:
"""Berechnet die Varianz-Kovarianz-Matrix der Residuen Qvv.
"""Berechnet die Kofaktormatrix der Residuen Qvv.
Die Residuenkovarianz wird als Differenz aus Beobachtungs-Kovarianz und dem durch das Modell erklärten Anteil gebildet:
Qvv = Qll - Qll_dach.
:param Q_ll: Varianz-Kovarianz-Matrix der Beobachtungen.
:param Q_ll: Kofaktormatrix der Beobachtungen.
:type Q_ll: np.ndarray
:param Q_ll_dach: Geschätzte Varianz-Kovarianz-Matrix der Beobachtungen.
:param Q_ll_dach: Geschätzte Kofaktormatrix der Beobachtungen.
:type Q_ll_dach: np.ndarray
:return: Varianz-Kovarianz-Matrix der Residuen Qvv.
:return: Kofaktormatrix der Residuen Qvv.
:rtype: np.ndarray
"""
Q_vv = Q_ll - Q_ll_dach