zusammenfügen 30.1.
This commit is contained in:
77
Datenbank.py
77
Datenbank.py
@@ -85,7 +85,7 @@ class Datenbank_anlegen:
|
||||
name TEXT(200),
|
||||
CONSTRAINT pk_Instrumente PRIMARY KEY (instrumenteID)
|
||||
);
|
||||
""")
|
||||
""");
|
||||
cursor.executescript("""CREATE TABLE Genauigkeiten(
|
||||
genauigkeitenID INTEGER,
|
||||
instrumenteID INTEGER,
|
||||
@@ -95,7 +95,18 @@ class Datenbank_anlegen:
|
||||
CONSTRAINT pk_Genauigkeiten PRIMARY KEY (genauigkeitenID),
|
||||
CONSTRAINT fk_Genauigkeiten_Instrumente FOREIGN KEY (instrumenteID) REFERENCES Instrumente(instrumenteID)
|
||||
);
|
||||
""");
|
||||
cursor.executescript("""CREATE TABLE Varianzkomponentenschaetzung(
|
||||
varianzkomponenteID INTEGER,
|
||||
instrumenteID INTEGER,
|
||||
beobachtungsgruppe TEXT(50),
|
||||
varianz_varianzkomponentenschaetzung NUMERIC(3, 16) DEFAULT 1,
|
||||
s0_apriori_vorherige_iteration NUMERIC(3, 16) DEFAULT 1,
|
||||
CONSTRAINT pk_Varianzkomponentenschaetzung PRIMARY KEY (varianzkomponenteID),
|
||||
CONSTRAINT fk_Varianzkomponentenschaetzung_Instrumente FOREIGN KEY (instrumenteID) REFERENCES Instrumente(instrumenteID)
|
||||
);
|
||||
""")
|
||||
|
||||
con.commit()
|
||||
cursor.close()
|
||||
con.close()
|
||||
@@ -128,7 +139,7 @@ class Datenbankzugriff:
|
||||
cursor.close()
|
||||
con.close()
|
||||
|
||||
def set_instrument(self, typ: str, name: str) -> None:
|
||||
def set_instrument(self, typ: str, name: str, liste_beobachtungsarten: list) -> None:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
liste_instrumente = cursor.execute("SELECT * FROM Instrumente WHERE typ = ? AND name =?", (typ, name)).fetchall()
|
||||
@@ -136,7 +147,25 @@ class Datenbankzugriff:
|
||||
cursor.execute(
|
||||
"INSERT INTO Instrumente (typ, name) VALUES (?, ?)", (typ, name)
|
||||
)
|
||||
id_instrument = cursor.lastrowid
|
||||
print(f"Das Instrument {name} wurde erfolgreich hinzugefügt.")
|
||||
|
||||
if self.get_varianzkomponentenschaetzung() == []:
|
||||
cursor.execute(
|
||||
"INSERT INTO Instrumente (typ, name) VALUES (?, ?)", ("Anschlusspunkte", "lA")
|
||||
)
|
||||
id_instrument_anschlusspunkte = cursor.lastrowid
|
||||
|
||||
cursor.execute(
|
||||
"INSERT INTO Varianzkomponentenschaetzung (instrumenteID, beobachtungsgruppe) VALUES (?, ?)",
|
||||
(id_instrument_anschlusspunkte, "Anschlusspunkte")
|
||||
)
|
||||
|
||||
for beobachtungsart in liste_beobachtungsarten:
|
||||
cursor.execute(
|
||||
"INSERT INTO Varianzkomponentenschaetzung (instrumenteID, beobachtungsgruppe) VALUES (?, ?)",
|
||||
(id_instrument, beobachtungsart)
|
||||
)
|
||||
else:
|
||||
id_instrument = cursor.execute(
|
||||
"SELECT instrumenteID FROM Instrumente WHERE typ = ? AND name =?", (typ, name))
|
||||
@@ -414,6 +443,33 @@ class Datenbankzugriff:
|
||||
cursor.close()
|
||||
con.close()
|
||||
|
||||
def set_varianzkomponente(self, liste_varianzkomponten_anpassen: list) -> None:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
if liste_varianzkomponten_anpassen != []:
|
||||
for varianzkomponente in liste_varianzkomponten_anpassen:
|
||||
cursor.execute(
|
||||
f"UPDATE Varianzkomponentenschaetzung SET varianz_varianzkomponentenschaetzung = ? WHERE instrumenteID = ? AND beobachtungsgruppe = ?",
|
||||
(varianzkomponente[2], varianzkomponente[0], varianzkomponente[1]))
|
||||
print(f"Folgende Varianzkomponente wurde für die nächste Iteration gespeichert: {liste_varianzkomponten_anpassen}.")
|
||||
con.commit()
|
||||
cursor.close()
|
||||
con.close()
|
||||
|
||||
def set_s0_apriori(self, liste_s0_apriori_anpassen: list) -> None:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
if liste_s0_apriori_anpassen != []:
|
||||
for s0_apriori in liste_s0_apriori_anpassen:
|
||||
cursor.execute(
|
||||
f"UPDATE Varianzkomponentenschaetzung SET s0_apriori_vorherige_iteration = ? WHERE instrumenteID = ? AND beobachtungsgruppe = ?",
|
||||
(s0_apriori[2], s0_apriori[0], s0_apriori[1]))
|
||||
print(f"Folgende S0_apriori wurde für die nächste Iteration gespeichert: {liste_s0_apriori_anpassen}.")
|
||||
con.commit()
|
||||
cursor.close()
|
||||
con.close()
|
||||
|
||||
|
||||
def get_koordinaten(self, koordinatenart: str, ausgabeart: str = "Dict") -> dict[Any, MutableDenseMatrix] | None:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
@@ -612,3 +668,20 @@ class Datenbankzugriff:
|
||||
con.close()
|
||||
return liste_nivellement_beobachtungen
|
||||
|
||||
def get_varianzkomponentenschaetzung(self) -> list[Any]:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
liste_varianzkomponenten = cursor.execute(f"SELECT varianzkomponenteID, instrumenteID, beobachtungsgruppe, varianz_varianzkomponentenschaetzung FROM Varianzkomponentenschaetzung").fetchall()
|
||||
cursor.close()
|
||||
con.close()
|
||||
return liste_varianzkomponenten
|
||||
|
||||
def get_s0_apriori(self) -> list[Any]:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
liste_s0_apriori = cursor.execute(f"SELECT varianzkomponenteID, instrumenteID, beobachtungsgruppe, varianz_varianzkomponentenschaetzung, s0_apriori_vorherige_iteration FROM Varianzkomponentenschaetzung").fetchall()
|
||||
cursor.close()
|
||||
con.close()
|
||||
return liste_s0_apriori
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user