Import Nivellement

This commit is contained in:
2025-12-29 18:24:24 +01:00
parent 0e8154dc23
commit 30f1104b6d
2 changed files with 885 additions and 56 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -21,9 +21,11 @@ class Datenbank_anlegen:
naeherungx_lh NUMERIC(9,3),
naeherungy_lh NUMERIC(7,3),
naeherungz_lh NUMERIC(8,3),
naeherungz_lh_niv NUMERIC(8,3),
naeherungx_us NUMERIC(9,3),
naeherungy_us NUMERIC(7,3),
naeherungz_us NUMERIC(8,3),
normalhoehe_hfp NUMERIC(5,3),
datumskoordinate_x INTEGER DEFAULT 0,
datumskoordinate_y INTEGER DEFAULT 0,
datumskoordinate_z INTEGER DEFAULT 0,
@@ -55,6 +57,9 @@ class Datenbank_anlegen:
gnss_q31 NUMERIC(1, 8),
gnss_q32 NUMERIC(1, 8),
gnss_q33 NUMERIC(1, 8),
niv_dh NUMERIC(8, 6),
niv_strecke NUMERIC(8, 6),
niv_anz_standpkte INTEGER,
dateiname TEXT(200),
CONSTRAINT pk_Beobachtungen PRIMARY KEY (beobachtungenID),
CONSTRAINT fk_Beobachtungen_Netzpunktesp FOREIGN KEY (punktnummer_sp) REFERENCES Netzpunkte(punktnummer),
@@ -317,6 +322,44 @@ class Datenbankzugriff:
cursor.close()
con.close()
def set_normalhoehe_hfp(self, liste_normalhoehe_hfp):
liste_hfp_in_db = self.get_normalhoehe_hfp()
if liste_normalhoehe_hfp != []:
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_punktnummern_in_db = [str(r[0]) for r in cursor.execute(
"SELECT punktnummer FROM Netzpunkte"
).fetchall()]
ausgaben = []
for hfp in liste_normalhoehe_hfp:
if str(hfp[0]) in liste_punktnummern_in_db:
cursor.execute("UPDATE Netzpunkte SET normalhoehe_hfp = ? WHERE punktnummer = ?",
(hfp[1], hfp[0])
)
ausgaben.append(f"Der HFP {hfp[0]} wurde aktualisiert.")
else:
cursor.execute(
"INSERT INTO Netzpunkte (punktnummer, normalhoehe_hfp) VALUES (?, ?)",
(hfp[0], hfp[1])
)
ausgaben.append(f"Der HFP {hfp[0]} wurde neu hinzugefügt.")
con.commit()
cursor.close()
con.close()
return "\n".join(ausgaben)
else:
return f"Es wurden keine neuen Normalhöhen übergeben. Folgende Normalhöhen sind in der Datenbank enthalten: {liste_hfp_in_db}"
def get_normalhoehe_hfp(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_hfp = cursor.execute("SELECT punktnummer, normalhoehe_hfp FROM Netzpunkte WHERE normalhoehe_hfp IS NOT NULL").fetchall()
cursor.close()
con.close()
return liste_hfp
def get_instrument_liste(self, typ):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()