Koordinaten des stationärem GNSS werden jetzt verwendet

This commit is contained in:
2025-12-22 17:20:44 +01:00
parent 1654155f53
commit fe5e69dcf3
3 changed files with 183 additions and 417 deletions

Binary file not shown.

View File

@@ -6,8 +6,8 @@
"metadata": { "metadata": {
"collapsed": true, "collapsed": true,
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:31.059228Z", "end_time": "2025-12-22T15:35:00.039338Z",
"start_time": "2025-12-22T12:12:30.193257Z" "start_time": "2025-12-22T15:34:58.697001Z"
} }
}, },
"source": [ "source": [
@@ -31,8 +31,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:31.130070Z", "end_time": "2025-12-22T15:35:00.823775Z",
"start_time": "2025-12-22T12:12:31.069067Z" "start_time": "2025-12-22T15:35:00.741818Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -54,8 +54,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:31.154687Z", "end_time": "2025-12-22T15:35:02.430245Z",
"start_time": "2025-12-22T12:12:31.135084Z" "start_time": "2025-12-22T15:35:02.406780Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -79,8 +79,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:31.178210Z", "end_time": "2025-12-22T15:35:04.334700Z",
"start_time": "2025-12-22T12:12:31.161767Z" "start_time": "2025-12-22T15:35:04.320176Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -282,8 +282,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:31.189780Z", "end_time": "2025-12-22T15:35:08.088450Z",
"start_time": "2025-12-22T12:12:31.184776Z" "start_time": "2025-12-22T15:35:08.082894Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -308,69 +308,76 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:31.218587Z", "end_time": "2025-12-22T16:19:10.888607Z",
"start_time": "2025-12-22T12:12:31.198190Z" "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", "cell_type": "code",
"source": [ "source": [
"# ToDo: Sobald GNSS vorliegend Koordinaten im ETRS89 / DREF 91 (2025) daraus berechnen!\n", "# ToDo: Sobald GNSS vorliegend Koordinaten im ETRS89 / DREF 91 (2025) daraus berechnen!\n",
"liste_koordinaten_naeherung_us_alt = {\n", "#liste_koordinaten_naeherung_us = {\n",
" 10001: (3794874.98408291, 546741.751930012, 5079995.3838),\n", "# 10001: (3794874.984, 546741.752, 5080029.990),\n",
" 10002: (3794842.53340714, 546726.907150697, 5080039.8778),\n", "# 10002: (3794842.533, 546726.907, 5080071.133),\n",
" 10008: (3794757.41294192, 546742.822339098, 5080107.3198),\n", "# 10037: (3794774.148, 546955.423, 5080040.520),\n",
" 10012: (3794827.11937161, 546801.412652168, 5080028.5852),\n", "# 10044: (3794725.786, 546954.557, 5080084.411),\n",
" 10026: (3794727.06042449, 546823.571170112, 5080134.2029),\n", "#}\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",
"\n", "\n",
"\n", "\n",
"con = sqlite3.connect(pfad_datenbank)\n", "#con = sqlite3.connect(pfad_datenbank)\n",
"cursor = con.cursor()\n", "#cursor = con.cursor()\n",
"sql = \"\"\"\n", "#sql = \"\"\"\n",
"UPDATE Netzpunkte\n", "#UPDATE Netzpunkte\n",
"SET naeherungx_us = ?, naeherungy_us = ?, naeherungz_us = ?\n", "#SET naeherungx_us = ?, naeherungy_us = ?, naeherungz_us = ?\n",
"WHERE punktnummer = ?\n", "#WHERE punktnummer = ?\n",
"\"\"\"\n", "#\"\"\"\n",
"for punktnummer, (x, y, z) in liste_koordinaten_naeherung_us.items():\n", "#for punktnummer, (x, y, z) in #liste_koordinaten_naeherung_us.items():\n",
" cursor.execute(sql, (x, y, z, punktnummer))\n", "# cursor.execute(sql, (x, y, z, punktnummer))\n",
"con.commit()\n", "#con.commit()\n",
"cursor.close()\n", "#cursor.close()\n",
"con.close()" "#con.close()"
], ],
"id": "f64d9c01318b40f1", "id": "f64d9c01318b40f1",
"outputs": [], "outputs": [],
"execution_count": 6 "execution_count": 29
}, },
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-22T12:12:33.276390Z", "end_time": "2025-12-22T16:19:45.126506Z",
"start_time": "2025-12-22T12:12:31.224907Z" "start_time": "2025-12-22T16:19:42.245751Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -469,83 +476,82 @@
"output_type": "stream", "output_type": "stream",
"text": [ "text": [
"d(p2,p1)= 46.60388451996242\n", "d(p2,p1)= 46.60388451996242\n",
"d(P2,P1)= 54.462720048072995\n", "d(P2,P1)= 46.59145296840883\n",
"m0 ~ 1.1686304823956102\n", "m0 ~ 0.999733250743331\n",
"Anzahl Ratios: 6\n", "Anzahl Ratios: 45\n",
"min/mean/max: 0.9679784506116116 1.0266943302085056 1.1686304823956102\n", "min/mean/max: 0.9986498495467658 0.9999468893556359 1.0004164038548047\n",
"std: 0.07473161831852519\n", "std: 0.00025301851725699595\n",
"S_loc: Matrix([[925.528400000000], [1883.39492500000], [100.005775000000]])\n", "S_loc: Matrix([[937.945990000000], [1847.25831000000], [99.9451600000000]])\n",
"S_ecef: Matrix([[3794804.36275000], [546844.659750000], [5080056.51350000]])\n", "S_ecef: Matrix([[3794821.39483000], [546885.587320000], [5080110.27740000]])\n",
"Delta: Matrix([[3.79388e+6], [544961.], [5.07996e+6]])\n", "Delta: Matrix([[3.79388e+6], [545038.], [5.08001e+6]])\n",
"10001 0.0936\n", "10054 0.0004\n",
"10002 0.0873\n", "10059 0.0004\n",
"10044 0.0527\n", "10037 0.0002\n",
"10037 0.0477\n", "10028 0.0002\n",
"Anzahl gemeinsame Punkte: 4\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", "\n",
"Erste Zielpunkte:\n", "Erste Zielpunkte:\n",
"10001 [3794874.984, 546741.752, 5080029.99]\n", "10001 [3794901.5252, 546745.559, 5080065.7672]\n",
"10002 [3794842.533, 546726.907, 5080071.133]\n", "10002 [3794866.9711, 546729.5958, 5080092.6364]\n",
"10037 [3794774.148, 546955.423, 5080040.52]\n", "10008 [3794783.8581, 546746.6347, 5080152.7404]\n",
"10044 [3794725.786, 546954.557, 5080084.411]\n", "10014 [3794838.7464, 546812.3658, 5080105.2]\n",
"10026 [3794753.8595, 546827.4296, 5080167.0938]\n",
"\n", "\n",
"Erste Ausgangspunkte:\n", "Erste Ausgangspunkte:\n",
"10001 [833.9439, 1978.3737, 99.8946]\n", "10001 [833.9439, 1978.3737, 99.8946]\n",
"10002 [875.9684, 1998.5174, 99.5867]\n", "10002 [875.9684, 1998.5174, 99.5867]\n",
"10037 [966.2253, 1774.2051, 99.9957]\n", "10008 [979.7022, 1991.401, 99.732]\n",
"10044 [1025.976, 1782.4835, 100.5461]\n", "10014 [913.9706, 1918.7731, 99.8872]\n",
"min/mean/max: 0.9679784506116116 1.0266943302085056 1.1686304823956102\n", "10026 [1020.0059, 1913.8703, 100.3059]\n",
"min/mean/max: 0.9986498495467658 0.9999468893556359 1.0004164038548047\n",
"R ist Orthonormal!\n", "R ist Orthonormal!\n",
"Iteration Nr.1 abgeschlossen\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", "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", "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", "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", "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", "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", "Matrix([[5.49e-10], [-9.92e-10], [-2.05e-9], [1.18e-13], [-8.18e-13], [1.23e-12], [1.45e-12]])\n",
"Iteration Nr.7 abgeschlossen\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([[0.0137], [0.00611], [0.0128], [5.92e-11], [9.61e-6], [-7.89e-6], [-5.25e-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",
"Iteration Nr.8 abgeschlossen\n", "x = Matrix([[3.80e+6], [5.49e+5], [5.08e+6], [1.00], [-0.156], [0.627], [3.26]])\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",
"\n", "\n",
"l_berechnet_final:\n", "l_berechnet_final:\n",
"10001: 3794874.637, 546738.682, 5080033.793\n", "10001: 3794901.510, 546745.579, 5080065.739\n",
"10002: 3794844.297, 546729.060, 5080066.484\n", "10002: 3794867.000, 546729.613, 5080092.680\n",
"10037: 3794770.848, 546952.857, 5080042.910\n", "10008: 3794783.863, 546746.642, 5080152.749\n",
"10044: 3794727.668, 546958.039, 5080082.867\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", "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", "\n",
"Differenz Schwerpunkt (Vektor):\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", "Betrag der Schwerpunkt-Differenz:\n",
"0.000m\n" "0.000m\n"
] ]
} }
], ],
"execution_count": 7 "execution_count": 30
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:12:33.476425Z",
"start_time": "2025-12-22T12:12:33.438250Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Koordinatentransformationen)\n", "importlib.reload(Koordinatentransformationen)\n",
@@ -555,189 +561,11 @@
"print(koordinaten_transformiert)" "print(koordinaten_transformiert)"
], ],
"id": "df0dcccb73299fcf", "id": "df0dcccb73299fcf",
"outputs": [ "outputs": [],
{ "execution_count": null
"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
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:12:33.503470Z",
"start_time": "2025-12-22T12:12:33.482987Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Datenbank)\n", "importlib.reload(Datenbank)\n",
@@ -747,15 +575,10 @@
], ],
"id": "f6993d81c8a145dd", "id": "f6993d81c8a145dd",
"outputs": [], "outputs": [],
"execution_count": 9 "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:12:33.532541Z",
"start_time": "2025-12-22T12:12:33.509289Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"# Importieren der tachymetrischen Beobachtungen\n", "# Importieren der tachymetrischen Beobachtungen\n",
@@ -767,34 +590,11 @@
"db_zugriff.get_instrument_liste(\"Tachymeter\")" "db_zugriff.get_instrument_liste(\"Tachymeter\")"
], ],
"id": "e376b4534297016c", "id": "e376b4534297016c",
"outputs": [ "outputs": [],
{ "execution_count": null
"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": {}, "metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 10
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-22T12:12:33.594115Z",
"start_time": "2025-12-22T12:12:33.538997Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"#Importieren der apriori Genauigkeitsinformationen\n", "#Importieren der apriori Genauigkeitsinformationen\n",
@@ -811,26 +611,11 @@
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Zenitwinkel\", 0.15)" "db_zugriff.set_genauigkeiten(1, \"Tachymeter_Zenitwinkel\", 0.15)"
], ],
"id": "97e24245ce3398a2", "id": "97e24245ce3398a2",
"outputs": [ "outputs": [],
{ "execution_count": null
"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
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:12:33.629375Z",
"start_time": "2025-12-22T12:12:33.598498Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"# Importieren der tachymetrischen Beobachtungen\n", "# Importieren der tachymetrischen Beobachtungen\n",
@@ -842,24 +627,11 @@
"imp.import_beobachtungen_tachymeter(pfad_datei_tachymeterbeobachtungen, 1)" "imp.import_beobachtungen_tachymeter(pfad_datei_tachymeterbeobachtungen, 1)"
], ],
"id": "509e462917e98145", "id": "509e462917e98145",
"outputs": [ "outputs": [],
{ "execution_count": null
"name": "stdout",
"output_type": "stream",
"text": [
"Der Import der Datei Daten\\campsnetz_beobachtungen_bereinigt.csv wurde erfolgreich abgeschlossen.\n"
]
}
],
"execution_count": 12
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:15:32.791902Z",
"start_time": "2025-12-22T12:12:33.640234Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"# Jacobimatrix aufstellen\n", "# Jacobimatrix aufstellen\n",
@@ -881,15 +653,10 @@
], ],
"id": "d38939f7108e1788", "id": "d38939f7108e1788",
"outputs": [], "outputs": [],
"execution_count": 13 "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:16:56.096391Z",
"start_time": "2025-12-22T12:16:47.975473Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Datenbank)\n", "importlib.reload(Datenbank)\n",
@@ -901,15 +668,10 @@
], ],
"id": "4a0b1790c65d59ee", "id": "4a0b1790c65d59ee",
"outputs": [], "outputs": [],
"execution_count": 14 "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:16:56.199954Z",
"start_time": "2025-12-22T12:16:56.102093Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Funktionales_Modell)\n", "importlib.reload(Funktionales_Modell)\n",
@@ -919,15 +681,10 @@
], ],
"id": "38f698b6694bebe7", "id": "38f698b6694bebe7",
"outputs": [], "outputs": [],
"execution_count": 15 "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:17:00.325725Z",
"start_time": "2025-12-22T12:16:56.204415Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Funktionales_Modell)\n", "importlib.reload(Funktionales_Modell)\n",
@@ -937,15 +694,10 @@
], ],
"id": "e5cca13bbb6b95c5", "id": "e5cca13bbb6b95c5",
"outputs": [], "outputs": [],
"execution_count": 16 "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T12:18:24.352387Z",
"start_time": "2025-12-22T12:18:23.230779Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Funktionales_Modell)\n", "importlib.reload(Funktionales_Modell)\n",
@@ -955,15 +707,10 @@
], ],
"id": "eb0452c52e7afa6b", "id": "eb0452c52e7afa6b",
"outputs": [], "outputs": [],
"execution_count": 17 "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T13:26:11.574790Z",
"start_time": "2025-12-22T13:25:15.541036Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"# Auftstellen der Qll-Matrix\n", "# Auftstellen der Qll-Matrix\n",
@@ -975,7 +722,7 @@
], ],
"id": "40a3df8fe549c81", "id": "40a3df8fe549c81",
"outputs": [], "outputs": [],
"execution_count": 20 "execution_count": null
}, },
{ {
"metadata": {}, "metadata": {},
@@ -1002,12 +749,7 @@
"execution_count": null "execution_count": null
}, },
{ {
"metadata": { "metadata": {},
"ExecuteTime": {
"end_time": "2025-12-22T13:30:29.015893Z",
"start_time": "2025-12-22T13:30:28.726240Z"
}
},
"cell_type": "code", "cell_type": "code",
"source": [ "source": [
"importlib.reload(Funktionales_Modell)\n", "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]" "dx = Parameterschaetzung.ausgleichung_global(A_matrix_numerisch_iteration0, fm.berechnung_dl(beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch_iteration0), stoch_modell)[1]"
], ],
"id": "f53849ee4757d5e8", "id": "f53849ee4757d5e8",
"outputs": [ "outputs": [],
{ "execution_count": null
"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
}, },
{ {
"metadata": {}, "metadata": {},

View File

@@ -224,3 +224,40 @@ class Import:
cursor.close() cursor.close()
con.close() con.close()
print(f"Der Import der Datei {pfad_datei} wurde erfolgreich abgeschlossen.") 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."