zusammenfügen
This commit is contained in:
58
Import.py
58
Import.py
@@ -90,6 +90,9 @@ class Import:
|
||||
except:
|
||||
nummer_beobachtungsgruppeID = 0
|
||||
|
||||
if nummer_beobachtungsgruppeID is None:
|
||||
nummer_beobachtungsgruppeID = 0
|
||||
|
||||
with (open(pfad_datei, "r", encoding="utf-8") as f):
|
||||
liste_fehlerhafte_zeile = []
|
||||
liste_beobachtungen_vorbereitung = []
|
||||
@@ -189,7 +192,7 @@ class Import:
|
||||
zenitwinkel_vollsatz_rad = Berechnungen.Einheitenumrechnung.gon_to_rad_Decimal(zenitwinkel_vollsatz_gon)
|
||||
distanz_vollsatz = (self.string_to_decimal(liste_aktueller_zielpunkt[7]) + self.string_to_decimal(
|
||||
liste[7])) / 2
|
||||
if richtung2 < 0:
|
||||
if richtung2 < 0 and richtung1 != Decimal(0):
|
||||
richtung2 += Decimal(400)
|
||||
elif richtung2 > 400:
|
||||
richtung2 -= Decimal(400)
|
||||
@@ -585,3 +588,56 @@ class Import:
|
||||
con.close()
|
||||
return "Import der Koordinaten aus stationärem GNSS abgeschlossen."
|
||||
|
||||
def import_basislinien_gnss(self, pfad_datei):
|
||||
Import_fortsetzen = True
|
||||
|
||||
# Prüfen, ob Bereits Daten aus der Datei in der Datenbank vorhanden sind
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
liste_dateinamen_in_db = [r[0] for r in cursor.execute(
|
||||
"SELECT DISTINCT dateiname FROM Beobachtungen"
|
||||
).fetchall()]
|
||||
con.close()
|
||||
cursor.close
|
||||
|
||||
if pfad_datei in liste_dateinamen_in_db:
|
||||
Import_fortsetzen = False
|
||||
|
||||
if Import_fortsetzen:
|
||||
liste_basilinien = []
|
||||
tupel_basislinie = ()
|
||||
with (open(pfad_datei, "r", encoding="utf-8") as txt):
|
||||
for i, zeile in enumerate(txt):
|
||||
zeile = str(zeile).rstrip("\n").rstrip("\r")
|
||||
aufgeteilt = zeile.split()
|
||||
if aufgeteilt[0][:2] == "@+":
|
||||
#print(aufgeteilt[0][2:])
|
||||
tupel_basislinie += (aufgeteilt[0][2:],)
|
||||
if aufgeteilt[0][:2] == "@-":
|
||||
#print(aufgeteilt[0][2:], aufgeteilt[1], aufgeteilt[2], aufgeteilt[3])
|
||||
tupel_basislinie += (aufgeteilt[0][2:], aufgeteilt[1], aufgeteilt[2], aufgeteilt[3],)
|
||||
if aufgeteilt[0][:2] == "@=":
|
||||
#print(aufgeteilt[1], aufgeteilt[2], aufgeteilt[3], aufgeteilt[4], aufgeteilt[5], aufgeteilt[6], aufgeteilt[7])
|
||||
tupel_basislinie += (aufgeteilt[1], aufgeteilt[2], aufgeteilt[3], aufgeteilt[4], aufgeteilt[5], aufgeteilt[6], aufgeteilt[7], )
|
||||
liste_basilinien.append(tupel_basislinie)
|
||||
tupel_basislinie = ()
|
||||
#print(liste_basilinien)
|
||||
|
||||
else:
|
||||
print(
|
||||
f"Der Import wurde abgebrochen, weil die Beobachtungen aus der Datei {pfad_datei} bereits in der Datenbank vorhanden sind.")
|
||||
|
||||
if Import_fortsetzen:
|
||||
con = sqlite3.connect(self.pfad_datenbank)
|
||||
cursor = con.cursor()
|
||||
for basislinie in liste_basilinien:
|
||||
cursor.execute(
|
||||
"INSERT INTO Beobachtungen (punktnummer_sp, punktnummer_zp, gnss_bx, gnss_by, gnss_bz, gnss_s0, gnss_cxx, gnss_cxy, gnss_cxz, gnss_cyy, gnss_cyz, gnss_czz, dateiname) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
(basislinie[0], basislinie[1], float(basislinie[2]), float(basislinie[3]), float(basislinie[4]), float(basislinie[5]), float(basislinie[6]), float(basislinie[7]), float(basislinie[8]), float(basislinie[9]), float(basislinie[10]), float(basislinie[11]), pfad_datei))
|
||||
con.commit()
|
||||
cursor.close()
|
||||
con.close()
|
||||
print(f"Der Import der Datei {pfad_datei} wurde erfolgreich abgeschlossen.")
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user