import os import sqlite3 import sympy as sp class Datenbank_anlegen: def __init__(self, pfad_datenbank): self.pfad_datenbank = pfad_datenbank self.db_anlegen() def db_anlegen(self): # pfad = r"C:\Users\fabia\OneDrive\Jade HS\Master\MGW2\Masterprojekt_allgemein\Masterprojekt\Programmierung\Campusnetz\Campusnetz.db" if not os.path.exists(self.pfad_datenbank): con = sqlite3.connect(self.pfad_datenbank) cursor = con.cursor() cursor.executescript("""CREATE TABLE Netzpunkte ( punktnummer TEXT(10), naeherungx_lh NUMERIC(9,3), naeherungy_lh NUMERIC(7,3), naeherungz_lh NUMERIC(8,3), naeherungx_us NUMERIC(9,3), naeherungy_us NUMERIC(7,3), naeherungz_us NUMERIC(8,3), CONSTRAINT pk_Netzpunkte PRIMARY KEY (punktnummer) ); """); con.commit() cursor.close() con.close() class Datenbankzugriff: def __init__(self, pfad_datenbank): self.pfad_datenbank = pfad_datenbank def get_koordinaten(self, koordinatenart, ausgabeart = "Vektoren"): con = sqlite3.connect(self.pfad_datenbank) cursor = con.cursor() if koordinatenart == "naeherung_lh": values = "punktnummer, naeherungx_lh, naeherungy_lh, naeherungz_lh" liste_koordinaten = cursor.execute(f""" SELECT {values} FROM Netzpunkte; """).fetchall() cursor.close() con.close() if ausgabeart == "Vektoren": liste_koordinaten_vektoren = [] for koordinate in liste_koordinaten: liste_koordinaten_vektoren.append({koordinate[0]: sp.Matrix([float(koordinate[1]), float(koordinate[2]), float(koordinate[3])])}) liste_koordinaten = liste_koordinaten_vektoren return liste_koordinaten