zusammenfügen 30.1.

This commit is contained in:
2026-01-30 20:00:29 +01:00
parent d069b7ca81
commit 774acc3854
4 changed files with 7258 additions and 89881 deletions

File diff suppressed because one or more lines are too long

View File

@@ -101,7 +101,6 @@ class Datenbank_anlegen:
instrumenteID INTEGER, instrumenteID INTEGER,
beobachtungsgruppe TEXT(50), beobachtungsgruppe TEXT(50),
varianz_varianzkomponentenschaetzung NUMERIC(3, 16) DEFAULT 1, varianz_varianzkomponentenschaetzung NUMERIC(3, 16) DEFAULT 1,
s0_apriori_vorherige_iteration NUMERIC(3, 16) DEFAULT 1,
CONSTRAINT pk_Varianzkomponentenschaetzung PRIMARY KEY (varianzkomponenteID), CONSTRAINT pk_Varianzkomponentenschaetzung PRIMARY KEY (varianzkomponenteID),
CONSTRAINT fk_Varianzkomponentenschaetzung_Instrumente FOREIGN KEY (instrumenteID) REFERENCES Instrumente(instrumenteID) CONSTRAINT fk_Varianzkomponentenschaetzung_Instrumente FOREIGN KEY (instrumenteID) REFERENCES Instrumente(instrumenteID)
); );
@@ -448,9 +447,11 @@ class Datenbankzugriff:
cursor = con.cursor() cursor = con.cursor()
if liste_varianzkomponten_anpassen != []: if liste_varianzkomponten_anpassen != []:
for varianzkomponente in liste_varianzkomponten_anpassen: for varianzkomponente in liste_varianzkomponten_anpassen:
varianz_db = cursor.execute(f"SELECT varianz_varianzkomponentenschaetzung FROM Varianzkomponentenschaetzung WHERE instrumenteID = ? AND beobachtungsgruppe = ?",
(varianzkomponente[0], varianzkomponente[1])).fetchone()[0]
cursor.execute( cursor.execute(
f"UPDATE Varianzkomponentenschaetzung SET varianz_varianzkomponentenschaetzung = ? WHERE instrumenteID = ? AND beobachtungsgruppe = ?", f"UPDATE Varianzkomponentenschaetzung SET varianz_varianzkomponentenschaetzung = ? WHERE instrumenteID = ? AND beobachtungsgruppe = ?",
(varianzkomponente[2], varianzkomponente[0], varianzkomponente[1])) (varianz_db * varianzkomponente[2], varianzkomponente[0], varianzkomponente[1]))
print(f"Folgende Varianzkomponente wurde für die nächste Iteration gespeichert: {liste_varianzkomponten_anpassen}.") print(f"Folgende Varianzkomponente wurde für die nächste Iteration gespeichert: {liste_varianzkomponten_anpassen}.")
con.commit() con.commit()
cursor.close() cursor.close()

View File

@@ -100,7 +100,7 @@ class StochastischesModell:
varianzkompontenschaetzung = sp.Symbol(f"varkomp_{instrumenteID_i}_Tachymeter_Streckenbeobachtungen") varianzkompontenschaetzung = sp.Symbol(f"varkomp_{instrumenteID_i}_Tachymeter_Streckenbeobachtungen")
Qll[i, i] = (1 / varianzkompontenschaetzung) * (sigma ** 2) Qll[i, i] = (varianzkompontenschaetzung) * (sigma ** 2)
elif beobachtungsart_i == "R" or beobachtungsart_i == "ZW": elif beobachtungsart_i == "R" or beobachtungsart_i == "ZW":
stabw_apriori_konstant = sp.Symbol(f"stabw_apriori_konstant_{beobachtungsart_i}_{instrumenteID_i}") stabw_apriori_konstant = sp.Symbol(f"stabw_apriori_konstant_{beobachtungsart_i}_{instrumenteID_i}")
@@ -118,7 +118,7 @@ class StochastischesModell:
varianzkompontenschaetzung = sp.Symbol( varianzkompontenschaetzung = sp.Symbol(
f"varkomp_{instrumenteID_i}_Tachymeter_Zenitwinkelbeobachtungen") f"varkomp_{instrumenteID_i}_Tachymeter_Zenitwinkelbeobachtungen")
Qll[i, i] = (1 / varianzkompontenschaetzung) * sigma ** 2 Qll[i, i] = (varianzkompontenschaetzung) * sigma ** 2
for j in range(i + 1, len(liste_beobachtungen_symbolisch)): for j in range(i + 1, len(liste_beobachtungen_symbolisch)):
beobachtung_symbolisch_j = liste_beobachtungen_symbolisch[j] beobachtung_symbolisch_j = liste_beobachtungen_symbolisch[j]
@@ -138,7 +138,7 @@ class StochastischesModell:
cxx = sp.symbols(f"cxx_{beobachtungenID_i}") cxx = sp.symbols(f"cxx_{beobachtungenID_i}")
s0 = sp.symbols(f"s0_{beobachtungenID_i}") s0 = sp.symbols(f"s0_{beobachtungenID_i}")
liste_standardabweichungen_symbole.append(cxx) liste_standardabweichungen_symbole.append(cxx)
Qll[i, i] = (1 / varianzkompontenschaetzung) * (cxx * (s0 ** 2)) Qll[i, i] = (varianzkompontenschaetzung) * (cxx * (s0 ** 2))
cxy = sp.Symbol(f"cxy_{beobachtungenID_i}") cxy = sp.Symbol(f"cxy_{beobachtungenID_i}")
s0 = sp.symbols(f"s0_{beobachtungenID_i}") s0 = sp.symbols(f"s0_{beobachtungenID_i}")
@@ -147,8 +147,8 @@ class StochastischesModell:
aufgeteilt_j = beobachtung_symbolisch_j.split("_") aufgeteilt_j = beobachtung_symbolisch_j.split("_")
if int(aufgeteilt_j[0]) == beobachtungenID_i and aufgeteilt_j[1] == "gnssby": if int(aufgeteilt_j[0]) == beobachtungenID_i and aufgeteilt_j[1] == "gnssby":
Qll[i, j] = (1 / varianzkompontenschaetzung) * (cxy * (s0 ** 2)) Qll[i, j] = (varianzkompontenschaetzung) * (cxy * (s0 ** 2))
Qll[j, i] = (1 / varianzkompontenschaetzung) * (cxy * (s0 ** 2)) Qll[j, i] = (varianzkompontenschaetzung) * (cxy * (s0 ** 2))
break break
cxz = sp.Symbol(f"cxz_{beobachtungenID_i}") cxz = sp.Symbol(f"cxz_{beobachtungenID_i}")
@@ -158,15 +158,15 @@ class StochastischesModell:
aufgeteilt_j = beobachtung_symbolisch_j.split("_") aufgeteilt_j = beobachtung_symbolisch_j.split("_")
if int(aufgeteilt_j[0]) == beobachtungenID_i and aufgeteilt_j[1] == "gnssbz": if int(aufgeteilt_j[0]) == beobachtungenID_i and aufgeteilt_j[1] == "gnssbz":
Qll[i, j] = (1 / varianzkompontenschaetzung) * (cxz * (s0 ** 2)) Qll[i, j] = (varianzkompontenschaetzung) * (cxz * (s0 ** 2))
Qll[j, i] = (1 / varianzkompontenschaetzung) * (cxz * (s0 ** 2)) Qll[j, i] = (varianzkompontenschaetzung) * (cxz * (s0 ** 2))
break break
if beobachtungsart_i == "gnssby": if beobachtungsart_i == "gnssby":
cyy = sp.symbols(f"cyy_{beobachtungenID_i}") cyy = sp.symbols(f"cyy_{beobachtungenID_i}")
s0 = sp.symbols(f"s0_{beobachtungenID_i}") s0 = sp.symbols(f"s0_{beobachtungenID_i}")
liste_standardabweichungen_symbole.append(cyy) liste_standardabweichungen_symbole.append(cyy)
Qll[i, i] = (1 / varianzkompontenschaetzung) * (cyy * (s0 ** 2)) Qll[i, i] = (varianzkompontenschaetzung) * (cyy * (s0 ** 2))
cyz = sp.Symbol(f"cyz_{beobachtungenID_i}") cyz = sp.Symbol(f"cyz_{beobachtungenID_i}")
s0 = sp.symbols(f"s0_{beobachtungenID_i}") s0 = sp.symbols(f"s0_{beobachtungenID_i}")
@@ -175,15 +175,15 @@ class StochastischesModell:
aufgeteilt_j = beobachtung_symbolisch_j.split("_") aufgeteilt_j = beobachtung_symbolisch_j.split("_")
if int(aufgeteilt_j[0]) == beobachtungenID_i and aufgeteilt_j[1] == "gnssbz": if int(aufgeteilt_j[0]) == beobachtungenID_i and aufgeteilt_j[1] == "gnssbz":
Qll[i, j] = (1 / varianzkompontenschaetzung) * (cyz * (s0 ** 2)) Qll[i, j] = (varianzkompontenschaetzung) * (cyz * (s0 ** 2))
Qll[j, i] = (1 / varianzkompontenschaetzung) * (cyz * (s0 ** 2)) Qll[j, i] = (varianzkompontenschaetzung) * (cyz * (s0 ** 2))
break break
if beobachtungsart_i == "gnssbz": if beobachtungsart_i == "gnssbz":
czz = sp.symbols(f"czz_{beobachtungenID_i}") czz = sp.symbols(f"czz_{beobachtungenID_i}")
s0 = sp.symbols(f"s0_{beobachtungenID_i}") s0 = sp.symbols(f"s0_{beobachtungenID_i}")
liste_standardabweichungen_symbole.append(czz) liste_standardabweichungen_symbole.append(czz)
Qll[i, i] = (1 / varianzkompontenschaetzung) * (czz * (s0 ** 2)) Qll[i, i] = (varianzkompontenschaetzung) * (czz * (s0 ** 2))
if aufgeteilt_i[1] == "niv": if aufgeteilt_i[1] == "niv":
#beobachtungenID_i = int(aufgeteilt_i[0]) #beobachtungenID_i = int(aufgeteilt_i[0])
@@ -201,7 +201,7 @@ class StochastischesModell:
sigma = sp.sqrt(nivellement_anz_wechselpunkte * stabw_apriori_konstant ** 2 + stabw_apriori_streckenprop ** 2 * nivellement_distanz / 1000) sigma = sp.sqrt(nivellement_anz_wechselpunkte * stabw_apriori_konstant ** 2 + stabw_apriori_streckenprop ** 2 * nivellement_distanz / 1000)
liste_standardabweichungen_symbole.append(sigma) liste_standardabweichungen_symbole.append(sigma)
Qll[i, i] = (1 / varianzkompontenschaetzung) * (sigma ** 2) Qll[i, i] = (varianzkompontenschaetzung) * (sigma ** 2)
Export.matrix_to_csv(r"Zwischenergebnisse\Qll_Symbolisch.csv", liste_beobachtungen_symbolisch, liste_beobachtungen_symbolisch, Qll, "Qll") Export.matrix_to_csv(r"Zwischenergebnisse\Qll_Symbolisch.csv", liste_beobachtungen_symbolisch, liste_beobachtungen_symbolisch, Qll, "Qll")
return Qll return Qll
@@ -389,7 +389,7 @@ class StochastischesModell:
f"varkomp_{instrumente_id_anschlusspunkte}_Anschlusspunkte") f"varkomp_{instrumente_id_anschlusspunkte}_Anschlusspunkte")
liste_standardabweichungen_symbole.append(varianzkompontenschaetzung) liste_standardabweichungen_symbole.append(varianzkompontenschaetzung)
Qll[i, i] = (1 / varianzkompontenschaetzung) * sigma ** 2 Qll[i, i] = (varianzkompontenschaetzung) * sigma ** 2
Export.matrix_to_csv(r"Zwischenergebnisse\QAA_Symbolisch.csv", liste_beobachtungen_symbolisch, liste_beobachtungen_symbolisch, Qll, "Qll") Export.matrix_to_csv(r"Zwischenergebnisse\QAA_Symbolisch.csv", liste_beobachtungen_symbolisch, liste_beobachtungen_symbolisch, Qll, "Qll")
return Qll return Qll

0
vks.py Normal file
View File