diff --git a/Campusnetz.db b/Campusnetz.db index 065aaca..459d3e7 100644 Binary files a/Campusnetz.db and b/Campusnetz.db differ diff --git a/Campusnetz.ipynb b/Campusnetz.ipynb index 01afbcc..1204411 100644 --- a/Campusnetz.ipynb +++ b/Campusnetz.ipynb @@ -6,8 +6,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2025-12-22T12:12:31.059228Z", - "start_time": "2025-12-22T12:12:30.193257Z" + "end_time": "2025-12-22T15:35:00.039338Z", + "start_time": "2025-12-22T15:34:58.697001Z" } }, "source": [ @@ -31,8 +31,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-12-22T12:12:31.130070Z", - "start_time": "2025-12-22T12:12:31.069067Z" + "end_time": "2025-12-22T15:35:00.823775Z", + "start_time": "2025-12-22T15:35:00.741818Z" } }, "cell_type": "code", @@ -54,8 +54,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-12-22T12:12:31.154687Z", - "start_time": "2025-12-22T12:12:31.135084Z" + "end_time": "2025-12-22T15:35:02.430245Z", + "start_time": "2025-12-22T15:35:02.406780Z" } }, "cell_type": "code", @@ -79,8 +79,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-12-22T12:12:31.178210Z", - "start_time": "2025-12-22T12:12:31.161767Z" + "end_time": "2025-12-22T15:35:04.334700Z", + "start_time": "2025-12-22T15:35:04.320176Z" } }, "cell_type": "code", @@ -282,8 +282,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-12-22T12:12:31.189780Z", - "start_time": "2025-12-22T12:12:31.184776Z" + "end_time": "2025-12-22T15:35:08.088450Z", + "start_time": "2025-12-22T15:35:08.082894Z" } }, "cell_type": "code", @@ -308,69 +308,76 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-12-22T12:12:31.218587Z", - "start_time": "2025-12-22T12:12:31.198190Z" + "end_time": "2025-12-22T16:19:10.888607Z", + "start_time": "2025-12-22T16:19:10.864125Z" + } + }, + "cell_type": "code", + "source": [ + "importlib.reload(Import)\n", + "imp = Import.Import(pfad_datenbank)\n", + "\n", + "pfad_koordinaten_gnss = r\"Daten\\Koordinaten_OL_umliegend_bereinigt.csv\"\n", + "# X, Y, Z der SAPOS-Stationen\n", + "genauigkeit_sapos_referenzstationen = [0.05, 0.04, 0.09]\n", + "\n", + "imp.import_koordinaten_gnss(pfad_koordinaten_gnss, genauigkeit_sapos_referenzstationen)\n" + ], + "id": "7b6a359712fe858e", + "outputs": [ + { + "data": { + "text/plain": [ + "'Import der Koordinaten aus stationärem GNSS abgeschlossen.'" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 28 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-12-22T16:19:38.227496Z", + "start_time": "2025-12-22T16:19:38.223777Z" } }, "cell_type": "code", "source": [ "# ToDo: Sobald GNSS vorliegend Koordinaten im ETRS89 / DREF 91 (2025) daraus berechnen!\n", - "liste_koordinaten_naeherung_us_alt = {\n", - " 10001: (3794874.98408291, 546741.751930012, 5079995.3838),\n", - " 10002: (3794842.53340714, 546726.907150697, 5080039.8778),\n", - " 10008: (3794757.41294192, 546742.822339098, 5080107.3198),\n", - " 10012: (3794827.11937161, 546801.412652168, 5080028.5852),\n", - " 10026: (3794727.06042449, 546823.571170112, 5080134.2029),\n", - " 10028: (3794862.91900719, 546904.943464041, 5079920.8994),\n", - " 10037: (3794774.14751515, 546955.423068316, 5079960.9426),\n", - " 10044: (3794725.78597473, 546954.557211544, 5080009.9234),\n", - " 10054: (3794852.07416848, 547094.399826613, 5079715.1737),\n", - " 10059: (3794710.34348443, 547075.630380075, 5080119.6491),\n", - "}\n", - "\n", - "liste_koordinaten_naeherung_us_V2 = {\n", - " 10001: (3794874.984, 546741.752, 5080029.990),\n", - " 10002: (3794842.533, 546726.907, 5080071.133),\n", - " 10008: (3794757.413, 546742.822, 5080135.400),\n", - " 10012: (3794827.119, 546801.413, 5080065.404),\n", - " 10026: (3794727.060, 546823.571, 5080179.951),\n", - " 10028: (3794862.919, 546904.943, 5079963.214),\n", - " 10037: (3794774.148, 546955.423, 5080040.520),\n", - " 10044: (3794725.786, 546954.557, 5080084.411),\n", - " 10054: (3794852.074, 547094.400, 5079771.845),\n", - " 10059: (3794710.343, 547075.630, 5080153.653),\n", - "}\n", - "\n", - "liste_koordinaten_naeherung_us = {\n", - " 10001: (3794874.984, 546741.752, 5080029.990),\n", - " 10002: (3794842.533, 546726.907, 5080071.133),\n", - " 10037: (3794774.148, 546955.423, 5080040.520),\n", - " 10044: (3794725.786, 546954.557, 5080084.411),\n", - "}\n", + "#liste_koordinaten_naeherung_us = {\n", + "# 10001: (3794874.984, 546741.752, 5080029.990),\n", + "# 10002: (3794842.533, 546726.907, 5080071.133),\n", + "# 10037: (3794774.148, 546955.423, 5080040.520),\n", + "# 10044: (3794725.786, 546954.557, 5080084.411),\n", + "#}\n", "\n", "\n", - "con = sqlite3.connect(pfad_datenbank)\n", - "cursor = con.cursor()\n", - "sql = \"\"\"\n", - "UPDATE Netzpunkte\n", - "SET naeherungx_us = ?, naeherungy_us = ?, naeherungz_us = ?\n", - "WHERE punktnummer = ?\n", - "\"\"\"\n", - "for punktnummer, (x, y, z) in liste_koordinaten_naeherung_us.items():\n", - " cursor.execute(sql, (x, y, z, punktnummer))\n", - "con.commit()\n", - "cursor.close()\n", - "con.close()" + "#con = sqlite3.connect(pfad_datenbank)\n", + "#cursor = con.cursor()\n", + "#sql = \"\"\"\n", + "#UPDATE Netzpunkte\n", + "#SET naeherungx_us = ?, naeherungy_us = ?, naeherungz_us = ?\n", + "#WHERE punktnummer = ?\n", + "#\"\"\"\n", + "#for punktnummer, (x, y, z) in #liste_koordinaten_naeherung_us.items():\n", + "# cursor.execute(sql, (x, y, z, punktnummer))\n", + "#con.commit()\n", + "#cursor.close()\n", + "#con.close()" ], "id": "f64d9c01318b40f1", "outputs": [], - "execution_count": 6 + "execution_count": 29 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-12-22T12:12:33.276390Z", - "start_time": "2025-12-22T12:12:31.224907Z" + "end_time": "2025-12-22T16:19:45.126506Z", + "start_time": "2025-12-22T16:19:42.245751Z" } }, "cell_type": "code", @@ -469,83 +476,82 @@ "output_type": "stream", "text": [ "d(p2,p1)= 46.60388451996242\n", - "d(P2,P1)= 54.462720048072995\n", - "m0 ~ 1.1686304823956102\n", - "Anzahl Ratios: 6\n", - "min/mean/max: 0.9679784506116116 1.0266943302085056 1.1686304823956102\n", - "std: 0.07473161831852519\n", - "S_loc: Matrix([[925.528400000000], [1883.39492500000], [100.005775000000]])\n", - "S_ecef: Matrix([[3794804.36275000], [546844.659750000], [5080056.51350000]])\n", - "Delta: Matrix([[3.79388e+6], [544961.], [5.07996e+6]])\n", - "10001 0.0936\n", - "10002 0.0873\n", - "10044 0.0527\n", - "10037 0.0477\n", - "Anzahl gemeinsame Punkte: 4\n", + "d(P2,P1)= 46.59145296840883\n", + "m0 ~ 0.999733250743331\n", + "Anzahl Ratios: 45\n", + "min/mean/max: 0.9986498495467658 0.9999468893556359 1.0004164038548047\n", + "std: 0.00025301851725699595\n", + "S_loc: Matrix([[937.945990000000], [1847.25831000000], [99.9451600000000]])\n", + "S_ecef: Matrix([[3794821.39483000], [546885.587320000], [5080110.27740000]])\n", + "Delta: Matrix([[3.79388e+6], [545038.], [5.08001e+6]])\n", + "10054 0.0004\n", + "10059 0.0004\n", + "10037 0.0002\n", + "10028 0.0002\n", + "10044 0.0001\n", + "10001 0.0001\n", + "10014 0.0001\n", + "10002 0.0001\n", + "10026 0.0001\n", + "10008 0.0001\n", + "Anzahl gemeinsame Punkte: 10\n", "\n", "Erste Zielpunkte:\n", - "10001 [3794874.984, 546741.752, 5080029.99]\n", - "10002 [3794842.533, 546726.907, 5080071.133]\n", - "10037 [3794774.148, 546955.423, 5080040.52]\n", - "10044 [3794725.786, 546954.557, 5080084.411]\n", + "10001 [3794901.5252, 546745.559, 5080065.7672]\n", + "10002 [3794866.9711, 546729.5958, 5080092.6364]\n", + "10008 [3794783.8581, 546746.6347, 5080152.7404]\n", + "10014 [3794838.7464, 546812.3658, 5080105.2]\n", + "10026 [3794753.8595, 546827.4296, 5080167.0938]\n", "\n", "Erste Ausgangspunkte:\n", "10001 [833.9439, 1978.3737, 99.8946]\n", "10002 [875.9684, 1998.5174, 99.5867]\n", - "10037 [966.2253, 1774.2051, 99.9957]\n", - "10044 [1025.976, 1782.4835, 100.5461]\n", - "min/mean/max: 0.9679784506116116 1.0266943302085056 1.1686304823956102\n", + "10008 [979.7022, 1991.401, 99.732]\n", + "10014 [913.9706, 1918.7731, 99.8872]\n", + "10026 [1020.0059, 1913.8703, 100.3059]\n", + "min/mean/max: 0.9986498495467658 0.9999468893556359 1.0004164038548047\n", "R ist Orthonormal!\n", "Iteration Nr.1 abgeschlossen\n", - "Matrix([[-85.7], [-61.5], [188.], [-0.246], [-0.821], [0.00489], [0.406]])\n", + "Matrix([[-11.6], [6.17], [1.24], [-0.0287], [-0.303], [0.0131], [0.234]])\n", "Iteration Nr.2 abgeschlossen\n", - "Matrix([[241.], [-94.3], [-151.], [0.191], [-0.153], [-0.109], [0.120]])\n", + "Matrix([[6.69], [-7.21], [-7.49], [0.0287], [-0.00526], [-0.0136], [0.00423]])\n", "Iteration Nr.3 abgeschlossen\n", - "Matrix([[5.71], [5.03], [0.723], [0.00670], [0.0401], [0.0180], [-0.0355]])\n", + "Matrix([[-0.0296], [0.0719], [0.0282], [4.06e-5], [0.000189], [0.000386], [-0.000202]])\n", "Iteration Nr.4 abgeschlossen\n", - "Matrix([[-2.83], [-1.48], [-2.88], [0.000657], [-0.00186], [0.00135], [0.00102]])\n", + "Matrix([[-0.000141], [3.72e-5], [-0.000110], [4.57e-8], [-8.87e-9], [9.87e-8], [-5.50e-8]])\n", "Iteration Nr.5 abgeschlossen\n", - "Matrix([[0.441], [0.196], [0.417], [6.90e-8], [0.000310], [-0.000257], [-0.000169]])\n", + "Matrix([[-2.01e-8], [-2.70e-9], [-2.25e-8], [-4.34e-14], [-5.16e-12], [2.79e-11], [5.62e-12]])\n", "Iteration Nr.6 abgeschlossen\n", - "Matrix([[-0.0781], [-0.0348], [-0.0729], [1.91e-9], [-5.48e-5], [4.49e-5], [3.00e-5]])\n", - "Iteration Nr.7 abgeschlossen\n", - "Matrix([[0.0137], [0.00611], [0.0128], [5.92e-11], [9.61e-6], [-7.89e-6], [-5.25e-6]])\n", - "Iteration Nr.8 abgeschlossen\n", - "Matrix([[-0.00241], [-0.00107], [-0.00225], [1.35e-12], [-1.69e-6], [1.39e-6], [9.23e-7]])\n", - "Iteration Nr.9 abgeschlossen\n", - "Matrix([[0.000423], [0.000188], [0.000395], [-4.72e-13], [2.96e-7], [-2.43e-7], [-1.62e-7]])\n", - "Iteration Nr.10 abgeschlossen\n", - "Matrix([[-7.42e-5], [-3.31e-5], [-6.95e-5], [1.10e-12], [-5.21e-8], [4.27e-8], [2.85e-8]])\n", - "Iteration Nr.11 abgeschlossen\n", - "Matrix([[1.30e-5], [5.82e-6], [1.22e-5], [-3.48e-13], [9.15e-9], [-7.51e-9], [-5.00e-9]])\n", - "Matrix([[3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6]])\n", - "Matrix([[3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6]])\n", - "x = Matrix([[3.80e+6], [5.48e+5], [5.08e+6], [0.979], [-0.481], [0.677], [3.42]])\n", + "Matrix([[5.49e-10], [-9.92e-10], [-2.05e-9], [1.18e-13], [-8.18e-13], [1.23e-12], [1.45e-12]])\n", + "Matrix([[3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6]])\n", + "Matrix([[3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6]])\n", + "x = Matrix([[3.80e+6], [5.49e+5], [5.08e+6], [1.00], [-0.156], [0.627], [3.26]])\n", "\n", "l_berechnet_final:\n", - "10001: 3794874.637, 546738.682, 5080033.793\n", - "10002: 3794844.297, 546729.060, 5080066.484\n", - "10037: 3794770.848, 546952.857, 5080042.910\n", - "10044: 3794727.668, 546958.039, 5080082.867\n", + "10001: 3794901.510, 546745.579, 5080065.739\n", + "10002: 3794867.000, 546729.613, 5080092.680\n", + "10008: 3794783.863, 546746.642, 5080152.749\n", + "10014: 3794838.739, 546812.364, 5080105.171\n", + "10026: 3794753.855, 546827.443, 5080167.088\n", + "10028: 3794889.666, 546908.762, 5080056.912\n", + "10037: 3794800.626, 546960.749, 5080117.708\n", + "10044: 3794752.687, 546958.324, 5080154.240\n", + "10054: 3794889.165, 547086.950, 5080038.116\n", + "10059: 3794736.836, 547079.449, 5080152.372\n", "Streckendifferenzen:\n", - "[4.899982, 5.418896, 4.814927, 4.248968]\n", + "[0.037854, 0.054708, 0.012057, 0.029525, 0.015332, 0.073156, 0.071369, 0.025069, 0.127425, 0.139397]\n", "\n", "Differenz Schwerpunkt (Vektor):\n", - "Matrix([[-4.66e-10], [-2.91e-11], [-4.66e-10]])\n", + "Matrix([[7.45e-10], [-1.16e-11], [8.38e-10]])\n", "Betrag der Schwerpunkt-Differenz:\n", "0.000m\n" ] } ], - "execution_count": 7 + "execution_count": 30 }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:12:33.476425Z", - "start_time": "2025-12-22T12:12:33.438250Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Koordinatentransformationen)\n", @@ -555,189 +561,11 @@ "print(koordinaten_transformiert)" ], "id": "df0dcccb73299fcf", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'10003': Matrix([\n", - "[3794820.51175889],\n", - "[546738.121545569],\n", - "[5080085.66027136]]), '10004': Matrix([\n", - "[3794787.68039096],\n", - "[546724.355539902],\n", - "[5080122.57197924]]), '10005': Matrix([\n", - "[3794778.52744143],\n", - "[546733.440239574],\n", - "[5080127.82709672]]), '10006': Matrix([\n", - "[3794754.48961774],\n", - "[546723.992131817],\n", - "[ 5080154.6491784]]), '10007': Matrix([\n", - "[ 3794810.10603],\n", - "[546761.510609237],\n", - "[ 5080086.0020765]]), '10008': Matrix([\n", - "[3794768.08506589],\n", - "[546757.433496855],\n", - "[ 5080127.7145515]]), '10009': Matrix([\n", - "[3794753.66298807],\n", - "[546753.936763795],\n", - "[ 5080143.3866772]]), '10010': Matrix([\n", - "[3794744.05628981],\n", - "[546780.742811981],\n", - "[ 5080141.1636738]]), '10011': Matrix([\n", - "[3794863.58049222],\n", - "[546820.559672293],\n", - "[5080009.68904121]]), '10012': Matrix([\n", - "[3794827.81056398],\n", - "[ 546801.06957277],\n", - "[ 5080052.2764653]]), '10013': Matrix([\n", - "[3794822.93179095],\n", - "[ 546821.6420314],\n", - "[5080048.14190298]]), '10014': Matrix([\n", - "[3794813.94866435],\n", - "[546809.911071387],\n", - "[5080061.83762516]]), '10015': Matrix([\n", - "[3794815.71134214],\n", - "[ 546792.41022388],\n", - "[5080067.67633712]]), '10016': Matrix([\n", - "[3794804.40667566],\n", - "[546789.942078133],\n", - "[5080079.63649543]]), '10017': Matrix([\n", - "[ 3794800.4139096],\n", - "[546829.880936662],\n", - "[5080066.46875977]]), '10018': Matrix([\n", - "[3794745.61855632],\n", - "[546808.043262064],\n", - "[5080128.60455588]]), '10019': Matrix([\n", - "[3794777.76781701],\n", - "[546835.162107796],\n", - "[5080085.96045632]]), '10020': Matrix([\n", - "[3794761.92015664],\n", - "[546838.977847251],\n", - "[5080100.04765691]]), '10021': Matrix([\n", - "[3794756.00797839],\n", - "[546839.303246531],\n", - "[5080105.58935921]]), '10022': Matrix([\n", - "[3794757.61562001],\n", - "[546846.316729031],\n", - "[5080100.89762826]]), '10023': Matrix([\n", - "[3794759.48549621],\n", - "[546851.850918009],\n", - "[5080096.94440005]]), '10024': Matrix([\n", - "[3794751.73730327],\n", - "[546861.360519194],\n", - "[ 5080100.294253]]), '10025': Matrix([\n", - "[3794752.15498749],\n", - "[546874.781453645],\n", - "[5080094.37790759]]), '10026': Matrix([\n", - "[3794736.30003562],\n", - "[546836.826883513],\n", - "[5080125.44708045]]), '10027': Matrix([\n", - "[3794736.96000806],\n", - "[546879.602518143],\n", - "[5080106.77720197]]), '10028': Matrix([\n", - "[3794854.42558972],\n", - "[546891.260466949],\n", - "[5079988.55485218]]), '10029': Matrix([\n", - "[3794813.64192358],\n", - "[546903.641106338],\n", - "[5080022.06775364]]), '10030': Matrix([\n", - "[3794814.74562118],\n", - "[546890.757518605],\n", - "[5080026.46489654]]), '10031': Matrix([\n", - "[3794794.79058969],\n", - "[ 546872.71612651],\n", - "[5080053.61063449]]), '10032': Matrix([\n", - "[3794781.55115635],\n", - "[546884.895506778],\n", - "[5080060.97408994]]), '10033': Matrix([\n", - "[3794775.28175346],\n", - "[546873.334968714],\n", - "[5080072.04785473]]), '10034': Matrix([\n", - "[3794847.88993759],\n", - "[546944.410223245],\n", - "[5079972.30963836]]), '10035': Matrix([\n", - "[3794811.83097489],\n", - "[546946.723835994],\n", - "[5080006.35848061]]), '10036': Matrix([\n", - "[3794783.39377131],\n", - "[546958.852789368],\n", - "[5080028.37568321]]), '10038': Matrix([\n", - "[3794777.81558632],\n", - "[546923.349922253],\n", - "[5080048.80883121]]), '10039': Matrix([\n", - "[3794776.73400961],\n", - "[546909.821579998],\n", - "[5080055.59246981]]), '10040': Matrix([\n", - "[3794753.10534012],\n", - "[546951.926584076],\n", - "[5080060.54410929]]), '10041': Matrix([\n", - "[3794752.59165627],\n", - "[546924.173873934],\n", - "[5080073.19205182]]), '10042': Matrix([\n", - "[ 3794734.5543882],\n", - "[546937.377006367],\n", - "[ 5080084.7094339]]), '10043': Matrix([\n", - "[3794725.01661161],\n", - "[546922.581244633],\n", - "[5080100.03703997]]), '10045': Matrix([\n", - "[3794840.94124498],\n", - "[546995.029310828],\n", - "[5079957.56668261]]), '10046': Matrix([\n", - "[3794809.35039725],\n", - "[546994.054056815],\n", - "[5079987.99204381]]), '10047': Matrix([\n", - "[ 3794795.4368399],\n", - "[547001.195960895],\n", - "[5079998.39175117]]), '10048': Matrix([\n", - "[3794775.20666754],\n", - "[ 547003.76019026],\n", - "[5080016.84921095]]), '10049': Matrix([\n", - "[3794754.91370463],\n", - "[ 547010.69453884],\n", - "[5080033.75043702]]), '10050': Matrix([\n", - "[3794737.22036781],\n", - "[547005.884569236],\n", - "[ 5080052.9475627]]), '10051': Matrix([\n", - "[3794738.87891047],\n", - "[546983.860512271],\n", - "[5080060.85649738]]), '10052': Matrix([\n", - "[3794717.92069948],\n", - "[ 546983.44591806],\n", - "[5080081.08810058]]), '10053': Matrix([\n", - "[3794720.08539271],\n", - "[547013.409039769],\n", - "[ 5080066.3657566]]), '10054': Matrix([\n", - "[3794843.61283972],\n", - "[547056.002453676],\n", - "[5079929.24030295]]), '10055': Matrix([\n", - "[ 3794798.3440481],\n", - "[547058.886596772],\n", - "[5079971.04209003]]), '10056': Matrix([\n", - "[3794785.08794943],\n", - "[547072.889218702],\n", - "[5079977.73770134]]), '10057': Matrix([\n", - "[3794764.13960343],\n", - "[ 547061.72963122],\n", - "[5080002.94483388]]), '10058': Matrix([\n", - "[3794731.98341087],\n", - "[547079.121468109],\n", - "[5080026.61270465]]), '10059': Matrix([\n", - "[3794706.22500851],\n", - "[547072.229773112],\n", - "[5080054.43002136]])}\n" - ] - } - ], - "execution_count": 8 + "outputs": [], + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:12:33.503470Z", - "start_time": "2025-12-22T12:12:33.482987Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Datenbank)\n", @@ -747,15 +575,10 @@ ], "id": "f6993d81c8a145dd", "outputs": [], - "execution_count": 9 + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:12:33.532541Z", - "start_time": "2025-12-22T12:12:33.509289Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "# Importieren der tachymetrischen Beobachtungen\n", @@ -767,34 +590,11 @@ "db_zugriff.get_instrument_liste(\"Tachymeter\")" ], "id": "e376b4534297016c", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Das Instrument Trimble S9 wurde erfolgreich hinzugefügt.\n" - ] - }, - { - "data": { - "text/plain": [ - "[(1, 'Tachymeter', 'Trimble S9')]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 10 + "outputs": [], + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:12:33.594115Z", - "start_time": "2025-12-22T12:12:33.538997Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "#Importieren der apriori Genauigkeitsinformationen\n", @@ -811,26 +611,11 @@ "db_zugriff.set_genauigkeiten(1, \"Tachymeter_Zenitwinkel\", 0.15)" ], "id": "97e24245ce3398a2", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Die Genauigkeitsangabe für die Beobachtungsart Tachymeter_Richtung des Instrumentes Trimble S9 wurde erfolgreich hinzugefügt.\n", - "Die Genauigkeitsangabe für die Beobachtungsart Tachymeter_Strecke des Instrumentes Trimble S9 wurde erfolgreich hinzugefügt.\n", - "Die Genauigkeitsangabe für die Beobachtungsart Tachymeter_Zenitwinkel des Instrumentes Trimble S9 wurde erfolgreich hinzugefügt.\n" - ] - } - ], - "execution_count": 11 + "outputs": [], + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:12:33.629375Z", - "start_time": "2025-12-22T12:12:33.598498Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "# Importieren der tachymetrischen Beobachtungen\n", @@ -842,24 +627,11 @@ "imp.import_beobachtungen_tachymeter(pfad_datei_tachymeterbeobachtungen, 1)" ], "id": "509e462917e98145", - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Der Import der Datei Daten\\campsnetz_beobachtungen_bereinigt.csv wurde erfolgreich abgeschlossen.\n" - ] - } - ], - "execution_count": 12 + "outputs": [], + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:15:32.791902Z", - "start_time": "2025-12-22T12:12:33.640234Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "# Jacobimatrix aufstellen\n", @@ -881,15 +653,10 @@ ], "id": "d38939f7108e1788", "outputs": [], - "execution_count": 13 + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:16:56.096391Z", - "start_time": "2025-12-22T12:16:47.975473Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Datenbank)\n", @@ -901,15 +668,10 @@ ], "id": "4a0b1790c65d59ee", "outputs": [], - "execution_count": 14 + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:16:56.199954Z", - "start_time": "2025-12-22T12:16:56.102093Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", @@ -919,15 +681,10 @@ ], "id": "38f698b6694bebe7", "outputs": [], - "execution_count": 15 + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:17:00.325725Z", - "start_time": "2025-12-22T12:16:56.204415Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", @@ -937,15 +694,10 @@ ], "id": "e5cca13bbb6b95c5", "outputs": [], - "execution_count": 16 + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T12:18:24.352387Z", - "start_time": "2025-12-22T12:18:23.230779Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", @@ -955,15 +707,10 @@ ], "id": "eb0452c52e7afa6b", "outputs": [], - "execution_count": 17 + "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T13:26:11.574790Z", - "start_time": "2025-12-22T13:25:15.541036Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "# Auftstellen der Qll-Matrix\n", @@ -975,7 +722,7 @@ ], "id": "40a3df8fe549c81", "outputs": [], - "execution_count": 20 + "execution_count": null }, { "metadata": {}, @@ -1002,12 +749,7 @@ "execution_count": null }, { - "metadata": { - "ExecuteTime": { - "end_time": "2025-12-22T13:30:29.015893Z", - "start_time": "2025-12-22T13:30:28.726240Z" - } - }, + "metadata": {}, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", @@ -1025,21 +767,8 @@ "dx = Parameterschaetzung.ausgleichung_global(A_matrix_numerisch_iteration0, fm.berechnung_dl(beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch_iteration0), stoch_modell)[1]" ], "id": "f53849ee4757d5e8", - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'liste_beobachtungsvektor_symbolisch' is not defined", - "output_type": "error", - "traceback": [ - "\u001B[31m---------------------------------------------------------------------------\u001B[39m", - "\u001B[31mNameError\u001B[39m Traceback (most recent call last)", - "\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[21]\u001B[39m\u001B[32m, line 13\u001B[39m\n\u001B[32m 8\u001B[39m importlib.reload(Export)\n\u001B[32m 11\u001B[39m stoch_modell = Stochastisches_Modell.StochastischesModell(A_matrix_numerisch_iteration0.rows)\n\u001B[32m---> \u001B[39m\u001B[32m13\u001B[39m dx = Parameterschaetzung.ausgleichung_global(A_matrix_numerisch_iteration0, \u001B[43mfm\u001B[49m\u001B[43m.\u001B[49m\u001B[43mberechnung_dl\u001B[49m\u001B[43m(\u001B[49m\u001B[43mbeobachtungsvektor_numerisch\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mbeobachtungsvektor_naeherung_numerisch_iteration0\u001B[49m\u001B[43m)\u001B[49m, stoch_modell)[\u001B[32m1\u001B[39m]\n", - "\u001B[36mFile \u001B[39m\u001B[32m~\\Desktop\\Masterprojekt\\Funktionales_Modell.py:636\u001B[39m, in \u001B[36mFunktionalesModell.berechnung_dl\u001B[39m\u001B[34m(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch)\u001B[39m\n\u001B[32m 634\u001B[39m \u001B[38;5;28;01mdef\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34mberechnung_dl\u001B[39m(\u001B[38;5;28mself\u001B[39m, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch):\n\u001B[32m 635\u001B[39m dl = beobachtungsvektor_numerisch - beobachtungsvektor_naeherung_numerisch\n\u001B[32m--> \u001B[39m\u001B[32m636\u001B[39m \u001B[38;5;28;01mfor\u001B[39;00m i, name \u001B[38;5;129;01min\u001B[39;00m \u001B[38;5;28menumerate\u001B[39m(\u001B[43mliste_beobachtungsvektor_symbolisch\u001B[49m):\n\u001B[32m 637\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m \u001B[33m\"\u001B[39m\u001B[33m_R_\u001B[39m\u001B[33m\"\u001B[39m \u001B[38;5;129;01min\u001B[39;00m name:\n\u001B[32m 638\u001B[39m dl[i] = sp.atan2(sp.sin(dl[i]), sp.cos(dl[i])) \u001B[38;5;66;03m# wrap auf (-pi, pi]\u001B[39;00m\n", - "\u001B[31mNameError\u001B[39m: name 'liste_beobachtungsvektor_symbolisch' is not defined" - ] - } - ], - "execution_count": 21 + "outputs": [], + "execution_count": null }, { "metadata": {}, diff --git a/Import.py b/Import.py index e87e9ce..dbf730c 100644 --- a/Import.py +++ b/Import.py @@ -223,4 +223,41 @@ class Import: con.commit() cursor.close() con.close() - print(f"Der Import der Datei {pfad_datei} wurde erfolgreich abgeschlossen.") \ No newline at end of file + print(f"Der Import der Datei {pfad_datei} wurde erfolgreich abgeschlossen.") + + def import_koordinaten_gnss(self, pfad_datei, liste_sapos_stationen_genauigkeiten): + liste_zeilen = [] + dict_koordinaten = {} + + 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 i, row in enumerate(r): + row_neu = [] + for eintrag in row: + eintrag = str(eintrag).strip() + + eintrag = eintrag.replace("'", "") + aufgeteilt = eintrag.split() + for teil in aufgeteilt: + teil = teil.split(",") + row_neu.extend(teil) + if row_neu[1] == 'Referenz' and row_neu[7] == '0.0000' and row_neu[8] == '0.0000' and row_neu[9] == '0.0000': + row_neu[7] = liste_sapos_stationen_genauigkeiten[0] + row_neu[8] = liste_sapos_stationen_genauigkeiten[1] + row_neu[9] = liste_sapos_stationen_genauigkeiten[2] + cursor.execute(f"""INSERT INTO Netzpunkte (punktnummer, naeherungx_us, naeherungy_us, naeherungz_us, stabw_vorinfo_x, stabw_vorinfo_y, stabw_vorinfo_z) VALUES (?, ?, ?, ?, ?, ?, ?) ON CONFLICT (punktnummer) DO UPDATE SET naeherungx_us = excluded.naeherungx_us, + naeherungy_us = excluded.naeherungy_us, + naeherungz_us = excluded.naeherungz_us, + stabw_vorinfo_x = excluded.stabw_vorinfo_x, + stabw_vorinfo_y = excluded.stabw_vorinfo_y, + stabw_vorinfo_z = excluded.stabw_vorinfo_z""", (row_neu[0], row_neu[4], row_neu[5], row_neu[6], row_neu[7], row_neu[8], row_neu[9]) + ) + #liste_zeilen.append(row_neu) + + + con.commit() + con.close() + return "Import der Koordinaten aus stationärem GNSS abgeschlossen."