Datenimport angepasst und Abfrage Näaherungskoordinaten lokales Horizontsystem
This commit is contained in:
BIN
Campusnetz.db
BIN
Campusnetz.db
Binary file not shown.
208
Campusnetz.ipynb
208
Campusnetz.ipynb
@@ -6,14 +6,15 @@
|
||||
"metadata": {
|
||||
"collapsed": true,
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-05T16:08:32.972973Z",
|
||||
"start_time": "2025-12-05T16:08:32.962798Z"
|
||||
"end_time": "2025-12-08T16:59:58.933024Z",
|
||||
"start_time": "2025-12-08T16:59:58.578335Z"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"# Hier werden alle verwendeten Pythonmodule importiert\n",
|
||||
"import Datenbank\n",
|
||||
"import Import"
|
||||
"import Import\n",
|
||||
"import importlib"
|
||||
],
|
||||
"outputs": [],
|
||||
"execution_count": 1
|
||||
@@ -21,18 +22,20 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-05T16:08:32.981718Z",
|
||||
"start_time": "2025-12-05T16:08:32.978622Z"
|
||||
"end_time": "2025-12-08T17:00:01.134916Z",
|
||||
"start_time": "2025-12-08T17:00:01.110846Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"importlib.reload(Import)\n",
|
||||
"# Anlegen der Datenbank, wenn nicht vorhanden\n",
|
||||
"pfad_datenbank = r\"Campusnetz.db\"\n",
|
||||
"Datenbank.Datenbank_anlegen(pfad_datenbank)\n",
|
||||
"\n",
|
||||
"# Import vervollständigen\n",
|
||||
"imp = Import.Import(pfad_datenbank)"
|
||||
"imp = Import.Import(pfad_datenbank)\n",
|
||||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)"
|
||||
],
|
||||
"id": "82d514cd426db78b",
|
||||
"outputs": [],
|
||||
@@ -41,15 +44,15 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-05T16:08:32.992364Z",
|
||||
"start_time": "2025-12-05T16:08:32.987964Z"
|
||||
"end_time": "2025-12-08T17:00:02.698814Z",
|
||||
"start_time": "2025-12-08T17:00:02.678346Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"# Import der Koordinatendatei(en) vom Tachymeter\n",
|
||||
"pfad_datei = r\"Daten\\campusnetz_koordinaten_25_11.csv\"\n",
|
||||
"imp.import_koordinaten_lh_tachymeter(pfad_datei)\n"
|
||||
"imp.import_koordinaten_lh_tachymeter(pfad_datei)"
|
||||
],
|
||||
"id": "d3bce3991a8962dc",
|
||||
"outputs": [
|
||||
@@ -57,11 +60,196 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Der Import wurde abgebrochen, weil mindestens ein Teil der Punktnummern aus der Datei Daten\\campusnetz_koordinaten_25_11.csv bereits in der Datenbank vorhanden ist. Bitte in der Datei ändern und Import wiederholen.\n"
|
||||
"Der Import der Näherungskoordinaten wurde erfolgreich abgeschlossen\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 3
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-08T17:00:13.157273Z",
|
||||
"start_time": "2025-12-08T17:00:13.147245Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"importlib.reload(Datenbank)\n",
|
||||
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
||||
"# Transformationen in ETRS89 / DREF91 Realisierung 2025\n",
|
||||
"print(db_zugriff.get_koordinaten(\"naeherung_lh\"))"
|
||||
],
|
||||
"id": "196ff0c8f8b5aea1",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[{'10009': Matrix([\n",
|
||||
"[1000.0],\n",
|
||||
"[2000.0],\n",
|
||||
"[ 100.0]])}, {'10006': Matrix([\n",
|
||||
"[ 1000.0],\n",
|
||||
"[2032.6863],\n",
|
||||
"[ 99.5825]])}, {'10010': Matrix([\n",
|
||||
"[1011.8143],\n",
|
||||
"[1973.3252],\n",
|
||||
"[ 99.9259]])}, {'10018': Matrix([\n",
|
||||
"[1008.5759],\n",
|
||||
"[ 1942.762],\n",
|
||||
"[ 100.2553]])}, {'10008': Matrix([\n",
|
||||
"[979.7022],\n",
|
||||
"[1991.401],\n",
|
||||
"[ 99.732]])}, {'10005': Matrix([\n",
|
||||
"[ 966.5154],\n",
|
||||
"[2014.6496],\n",
|
||||
"[ 99.72]])}, {'10003': Matrix([\n",
|
||||
"[ 908.4312],\n",
|
||||
"[1996.1248],\n",
|
||||
"[ 99.7403]])}, {'10004': Matrix([\n",
|
||||
"[ 954.1536],\n",
|
||||
"[2021.6822],\n",
|
||||
"[ 99.4916]])}, {'10007': Matrix([\n",
|
||||
"[ 921.7481],\n",
|
||||
"[1973.6201],\n",
|
||||
"[ 99.9176]])}, {'10001': Matrix([\n",
|
||||
"[ 833.9439],\n",
|
||||
"[1978.3737],\n",
|
||||
"[ 99.8946]])}, {'10002': Matrix([\n",
|
||||
"[ 875.9684],\n",
|
||||
"[1998.5174],\n",
|
||||
"[ 99.5867]])}, {'100016': Matrix([\n",
|
||||
"[ 928.2783],\n",
|
||||
"[1944.0082],\n",
|
||||
"[ 100.0459]])}, {'10011': Matrix([\n",
|
||||
"[ 908.4308],\n",
|
||||
"[1996.1277],\n",
|
||||
"[ 99.7822]])}, {'10011a': Matrix([\n",
|
||||
"[844.9567],\n",
|
||||
"[1891.157],\n",
|
||||
"[ 99.8117]])}, {'10026': Matrix([\n",
|
||||
"[1020.0059],\n",
|
||||
"[1913.8703],\n",
|
||||
"[ 100.3059]])}, {'10027': Matrix([\n",
|
||||
"[1016.9451],\n",
|
||||
"[1866.2914],\n",
|
||||
"[ 100.3251]])}, {'10043': Matrix([\n",
|
||||
"[1031.2077],\n",
|
||||
"[1822.4739],\n",
|
||||
"[ 100.3035]])}, {'10044': Matrix([\n",
|
||||
"[ 1025.976],\n",
|
||||
"[1782.4835],\n",
|
||||
"[ 100.5461]])}, {'10021': Matrix([\n",
|
||||
"[ 992.7607],\n",
|
||||
"[1904.8854],\n",
|
||||
"[ 100.3533]])}, {'10020': Matrix([\n",
|
||||
"[ 984.6187],\n",
|
||||
"[1903.3601],\n",
|
||||
"[ 100.3423]])}, {'10024': Matrix([\n",
|
||||
"[ 997.4831],\n",
|
||||
"[1881.7862],\n",
|
||||
"[ 100.3032]])}, {'10025': Matrix([\n",
|
||||
"[996.3241],\n",
|
||||
"[1866.844],\n",
|
||||
"[100.4102]])}, {'10022': Matrix([\n",
|
||||
"[990.0679],\n",
|
||||
"[1896.536],\n",
|
||||
"[100.2194]])}, {'10023': Matrix([\n",
|
||||
"[ 987.3223],\n",
|
||||
"[1889.8762],\n",
|
||||
"[ 100.343]])}, {'10019': Matrix([\n",
|
||||
"[ 962.6387],\n",
|
||||
"[1902.3565],\n",
|
||||
"[ 99.9772]])}, {'10033': Matrix([\n",
|
||||
"[ 964.0191],\n",
|
||||
"[1860.8023],\n",
|
||||
"[ 99.8551]])}, {'10017': Matrix([\n",
|
||||
"[ 931.6761],\n",
|
||||
"[1900.9945],\n",
|
||||
"[ 99.9572]])}, {'10052': Matrix([\n",
|
||||
"[ 1037.875],\n",
|
||||
"[1757.2999],\n",
|
||||
"[ 100.2737]])}, {'10042': Matrix([\n",
|
||||
"[1017.3489],\n",
|
||||
"[1803.0742],\n",
|
||||
"[ 100.3441]])}, {'10053': Matrix([\n",
|
||||
"[1033.3758],\n",
|
||||
"[1723.4258],\n",
|
||||
"[ 100.2774]])}, {'10037': Matrix([\n",
|
||||
"[ 966.2253],\n",
|
||||
"[1774.2051],\n",
|
||||
"[ 99.9957]])}, {'10040': Matrix([\n",
|
||||
"[ 990.8832],\n",
|
||||
"[1780.9678],\n",
|
||||
"[ 100.1677]])}, {'10041': Matrix([\n",
|
||||
"[993.2769],\n",
|
||||
"[1812.031],\n",
|
||||
"[100.4749]])}, {'10038': Matrix([\n",
|
||||
"[ 958.1899],\n",
|
||||
"[1804.7135],\n",
|
||||
"[ 100.0741]])}, {'10051': Matrix([\n",
|
||||
"[1008.9811],\n",
|
||||
"[1750.1838],\n",
|
||||
"[ 100.288]])}, {'10036': Matrix([\n",
|
||||
"[ 948.6403],\n",
|
||||
"[1763.5807],\n",
|
||||
"[ 100.0063]])}, {'10035': Matrix([\n",
|
||||
"[ 910.1265],\n",
|
||||
"[1768.0099],\n",
|
||||
"[ 100.0781]])}, {'10039': Matrix([\n",
|
||||
"[ 960.3884],\n",
|
||||
"[1820.0543],\n",
|
||||
"[ 100.0983]])}, {'10059': Matrix([\n",
|
||||
"[1049.2587],\n",
|
||||
"[1662.5451],\n",
|
||||
"[ 100.0148]])}, {'10050': Matrix([\n",
|
||||
"[1010.0246],\n",
|
||||
"[1726.2445],\n",
|
||||
"[ 100.1493]])}, {'10049': Matrix([\n",
|
||||
"[ 984.7667],\n",
|
||||
"[1714.5709],\n",
|
||||
"[ 100.0101]])}, {'100': Matrix([\n",
|
||||
"[ 957.3912],\n",
|
||||
"[1716.2864],\n",
|
||||
"[ 99.7777]])}, {'10013': Matrix([\n",
|
||||
"[900.9076],\n",
|
||||
"[1902.873],\n",
|
||||
"[ 99.7911]])}, {'10028': Matrix([\n",
|
||||
"[ 853.9608],\n",
|
||||
"[1815.7417],\n",
|
||||
"[ 99.7793]])}, {'10012': Matrix([\n",
|
||||
"[ 895.3032],\n",
|
||||
"[1924.1523],\n",
|
||||
"[ 99.8758]])}, {'10014': Matrix([\n",
|
||||
"[ 913.9706],\n",
|
||||
"[1918.7731],\n",
|
||||
"[ 99.8872]])}, {'10031': Matrix([\n",
|
||||
"[ 937.1557],\n",
|
||||
"[1855.2805],\n",
|
||||
"[ 99.8479]])}, {'10015': Matrix([\n",
|
||||
"[ 912.5157],\n",
|
||||
"[1937.6471],\n",
|
||||
"[ 99.9834]])}, {'10032': Matrix([\n",
|
||||
"[ 954.6732],\n",
|
||||
"[1845.9356],\n",
|
||||
"[ 99.724]])}, {'10030': Matrix([\n",
|
||||
"[ 908.4749],\n",
|
||||
"[1828.8008],\n",
|
||||
"[ 99.5581]])}, {'10029': Matrix([\n",
|
||||
"[ 909.3343],\n",
|
||||
"[1814.8767],\n",
|
||||
"[ 99.5486]])}, {'10034': Matrix([\n",
|
||||
"[ 860.2357],\n",
|
||||
"[1758.9282],\n",
|
||||
"[ 99.737]])}, {'10045': Matrix([\n",
|
||||
"[867.2324],\n",
|
||||
"[1705.063],\n",
|
||||
"[ 99.7214]])}]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 4
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
||||
26
Datenbank.py
26
Datenbank.py
@@ -1,5 +1,6 @@
|
||||
import os
|
||||
import sqlite3
|
||||
import sympy as sp
|
||||
|
||||
|
||||
class Datenbank_anlegen:
|
||||
@@ -25,4 +26,27 @@ class Datenbank_anlegen:
|
||||
""");
|
||||
con.commit()
|
||||
cursor.close()
|
||||
con.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
|
||||
@@ -6,6 +6,10 @@ class Import:
|
||||
self.pfad_datenbank = pfad_datenbank
|
||||
pass
|
||||
|
||||
def string_to_float(self, zahl):
|
||||
zahl = zahl.replace(',', '.')
|
||||
return float(zahl)
|
||||
|
||||
def import_koordinaten_lh_tachymeter(self, pfad_datei):
|
||||
liste_punktnummern = []
|
||||
liste_punktnummern_vorher = []
|
||||
@@ -45,7 +49,7 @@ class Import:
|
||||
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]))
|
||||
(row[0], self.string_to_float(row[1]), self.string_to_float(row[2]), self.string_to_float(row[3])))
|
||||
|
||||
con.commit()
|
||||
cursor.close()
|
||||
|
||||
Reference in New Issue
Block a user