zusammenfügen

This commit is contained in:
2026-01-07 13:51:17 +01:00
parent 4db7f1c3cc
commit dd447e59e1
16 changed files with 18867 additions and 17080 deletions

View File

@@ -47,16 +47,13 @@ class Datenbank_anlegen:
gnss_bx NUMERIC(7, 4),
gnss_by NUMERIC(7, 4),
gnss_bz NUMERIC(7, 4),
gnss_m0 NUMERIC(1, 8),
gnss_q11 NUMERIC(1, 8),
gnss_q12 NUMERIC(1, 8),
gnss_q13 NUMERIC(1, 8),
gnss_q21 NUMERIC(1, 8),
gnss_q22 NUMERIC(1, 8),
gnss_q23 NUMERIC(1, 8),
gnss_q31 NUMERIC(1, 8),
gnss_q32 NUMERIC(1, 8),
gnss_q33 NUMERIC(1, 8),
gnss_s0 NUMERIC(1, 8),
gnss_cxx NUMERIC(1, 8),
gnss_cxy NUMERIC(1, 8),
gnss_cxz NUMERIC(1, 8),
gnss_cyy NUMERIC(1, 8),
gnss_cyz NUMERIC(1, 8),
gnss_czz NUMERIC(1, 8),
niv_dh NUMERIC(8, 6),
niv_strecke NUMERIC(8, 6),
niv_anz_standpkte INTEGER,
@@ -92,34 +89,6 @@ class Datenbankzugriff:
def __init__(self, pfad_datenbank):
self.pfad_datenbank = pfad_datenbank
def get_koordinaten(self, koordinatenart, ausgabeart = "Dict"):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
if koordinatenart == "naeherung_lh":
values = "punktnummer, naeherungx_lh, naeherungy_lh, naeherungz_lh"
elif koordinatenart == "naeherung_us":
values = "punktnummer, naeherungx_us, naeherungy_us, naeherungz_us"
liste_koordinaten = cursor.execute(f"""
SELECT {values} FROM Netzpunkte;
""").fetchall()
cursor.close()
con.close()
liste_koordinaten = [
koordinate for koordinate in liste_koordinaten
if koordinate[1] is not None and koordinate[2] is not None and koordinate[3] is not None
]
if ausgabeart == "Dict":
return {
koordinate[0]: sp.Matrix([
sp.Float(str(koordinate[1])),
sp.Float(str(koordinate[2])),
sp.Float(str(koordinate[3]))
])
for koordinate in liste_koordinaten
}
def set_koordinaten(self, dict_koordinaten, koordinatenart):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
@@ -351,6 +320,34 @@ class Datenbankzugriff:
else:
return f"Es wurden keine neuen Normalhöhen übergeben. Folgende Normalhöhen sind in der Datenbank enthalten: {liste_hfp_in_db}"
def get_koordinaten(self, koordinatenart, ausgabeart = "Dict"):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
if koordinatenart == "naeherung_lh":
values = "punktnummer, naeherungx_lh, naeherungy_lh, naeherungz_lh"
elif koordinatenart == "naeherung_us":
values = "punktnummer, naeherungx_us, naeherungy_us, naeherungz_us"
liste_koordinaten = cursor.execute(f"""
SELECT {values} FROM Netzpunkte;
""").fetchall()
cursor.close()
con.close()
liste_koordinaten = [
koordinate for koordinate in liste_koordinaten
if koordinate[1] is not None and koordinate[2] is not None and koordinate[3] is not None
]
if ausgabeart == "Dict":
return {
koordinate[0]: sp.Matrix([
sp.Float(str(koordinate[1])),
sp.Float(str(koordinate[2])),
sp.Float(str(koordinate[3]))
])
for koordinate in liste_koordinaten
}
def get_normalhoehe_hfp(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
@@ -404,8 +401,83 @@ class Datenbankzugriff:
def get_beobachtungen_from_beobachtungenid(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_beobachtungen = cursor.execute(f"SELECT punktnummer_sp, punktnummer_zp, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz FROM Beobachtungen").fetchall()
liste_beobachtungen = cursor.execute(f"SELECT punktnummer_sp, punktnummer_zp, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz FROM Beobachtungen WHERE tachymeter_richtung IS NOT NULL").fetchall()
cursor.close()
con.close()
return liste_beobachtungen
def get_beobachtungen_gnssbasislinien(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_beobachtungen = cursor.execute(f"SELECT beobachtungenID, punktnummer_sp, punktnummer_zp, gnss_bx, gnss_by, gnss_bz, gnss_s0, gnss_cxx, gnss_cxy, gnss_cxz, gnss_cyy, gnss_cyz, gnss_czz FROM Beobachtungen WHERE gnss_bx IS NOT NULL AND gnss_by IS NOT NULL AND gnss_bz IS NOT NULL AND gnss_s0 IS NOT NULL AND gnss_cxx IS NOT NULL AND gnss_cxy IS NOT NULL AND gnss_cxz IS NOT NULL AND gnss_cyy IS NOT NULL AND gnss_cyz IS NOT NULL AND gnss_czz IS NOT NULL").fetchall()
cursor.close()
con.close()
return liste_beobachtungen
def get_datumskoordinate(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_datumskoordinate_x = cursor.execute(
f"SELECT punktnummer FROM Netzpunkte WHERE datumskoordinate_x = 1").fetchall()
liste_datumskoordinate_y = cursor.execute(
f"SELECT punktnummer FROM Netzpunkte WHERE datumskoordinate_y = 1").fetchall()
liste_datumskoordinate_z = cursor.execute(
f"SELECT punktnummer FROM Netzpunkte WHERE datumskoordinate_z = 1").fetchall()
cursor.close()
con.close()
liste_datumskoordinaten = []
if liste_datumskoordinate_x != []:
for datumskoordinate in liste_datumskoordinate_x:
datumskoordinate = str(datumskoordinate[0]).strip()
liste_datumskoordinaten.append(f"X{datumskoordinate}")
if liste_datumskoordinate_y != []:
for datumskoordinate in liste_datumskoordinate_y:
datumskoordinate = str(datumskoordinate[0]).strip()
liste_datumskoordinaten.append(f"Y{datumskoordinate}")
if liste_datumskoordinate_z != []:
for datumskoordinate in liste_datumskoordinate_z:
datumskoordinate = str(datumskoordinate[0]).strip()
liste_datumskoordinaten.append(f"Z{datumskoordinate}")
return liste_datumskoordinaten
def get_stabw_AA_Netzpunkte(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_stabwAA_x = cursor.execute(f"SELECT punktnummer, stabw_vorinfo_x FROM Netzpunkte WHERE stabw_vorinfo_x IS NOT NULL").fetchall()
liste_stabwAA_y = cursor.execute(
f"SELECT punktnummer, stabw_vorinfo_y FROM Netzpunkte WHERE stabw_vorinfo_y IS NOT NULL").fetchall()
liste_stabwAA_z = cursor.execute(
f"SELECT punktnummer, stabw_vorinfo_z FROM Netzpunkte WHERE stabw_vorinfo_z IS NOT NULL").fetchall()
cursor.close()
con.close()
dict_stabwAA = {}
for stabwAA_x in liste_stabwAA_x:
punktnummer = str(stabwAA_x[0]).strip()
wert = stabwAA_x[1]
dict_stabwAA[f"StabwAA_X{punktnummer}"]= wert
for stabwAA_y in liste_stabwAA_y:
punktnummer = str(stabwAA_y[0]).strip()
wert = stabwAA_y[1]
dict_stabwAA[f"StabwAA_Y{punktnummer}"]= wert
for stabwAA_z in liste_stabwAA_z:
punktnummer = str(stabwAA_z[0]).strip()
wert = stabwAA_z[1]
dict_stabwAA[f"StabwAA_Z{punktnummer}"]= wert
return dict_stabwAA
def get_gnss_beobachtungen_punktnummern(self):
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_gnss_beobachtungen = cursor.execute(f"SELECT beobachtungenID, punktnummer_sp, punktnummer_zp FROM Beobachtungen WHERE gnss_bx IS NOT NULL AND gnss_by IS NOT NULL AND gnss_bz IS NOT NULL AND gnss_s0 IS NOT NULL AND gnss_cxx IS NOT NULL AND gnss_cxy IS NOT NULL AND gnss_cxz IS NOT NULL AND gnss_cyy IS NOT NULL AND gnss_cyz IS NOT NULL AND gnss_czz IS NOT NULL").fetchall()
cursor.close()
con.close()
return liste_gnss_beobachtungen