Import Näherungskoordinaten aus Tachymetermessung in DB

This commit is contained in:
2025-12-05 17:10:05 +01:00
parent 5bc9207c2e
commit 727a0a07a5
7 changed files with 192 additions and 15 deletions

53
Import.py Normal file
View File

@@ -0,0 +1,53 @@
import csv
import sqlite3
class Import:
def __init__(self, pfad_datenbank):
self.pfad_datenbank = pfad_datenbank
pass
def import_koordinaten_lh_tachymeter(self, pfad_datei):
liste_punktnummern = []
liste_punktnummern_vorher = []
liste_punktnummern_vorher_db = []
Import_abbrechen = False
with open (pfad_datei, newline='', encoding='utf-8') as csvfile:
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
liste_punktnummern_db = [r[0] for r in cursor.execute("SELECT DISTINCT punktnummer FROM Netzpunkte").fetchall()]
cursor.close()
con.close()
r = csv.reader(csvfile, delimiter=';')
for row in r:
liste_punktnummern.append(row[0])
if row[0] in liste_punktnummern_vorher:
Import_abbrechen = True
print(f"Der Import wurde abgebrochen, weil in der Datei {pfad_datei} Punktnummern doppelt vorhanden sind. Bitte in der Datei ändern und Import wiederholen.")
break
liste_punktnummern_vorher.append(row[0])
if row[0] in liste_punktnummern_db:
Import_abbrechen = True
print(f"Der Import wurde abgebrochen, weil mindestens ein Teil der Punktnummern aus der Datei {pfad_datei} bereits in der Datenbank vorhanden ist. Bitte in der Datei ändern und Import wiederholen.")
break
liste_punktnummern_vorher_db.append(row[0])
if Import_abbrechen == False:
con = sqlite3.connect(self.pfad_datenbank)
cursor = con.cursor()
with open(pfad_datei, newline='', encoding='utf-8') as csvfile:
r = csv.reader(csvfile, delimiter=';')
for row in r:
cursor.execute(
"INSERT INTO Netzpunkte (punktnummer, naeherungx_lh, naeherungy_lh, naeherungz_lh) VALUES (?, ?, ?, ?)",
(row[0], row[1], row[2], row[3]))
con.commit()
cursor.close()
con.close()
print("Der Import der Näherungskoordinaten wurde erfolgreich abgeschlossen")