{ "cells": [ { "cell_type": "code", "id": "initial_id", "metadata": { "collapsed": true, "ExecuteTime": { "end_time": "2025-12-18T15:37:11.703428Z", "start_time": "2025-12-18T15:37:10.179920Z" } }, "source": [ "# Hier werden alle verwendeten Pythonmodule importiert\n", "import Datenbank\n", "import Import\n", "import importlib\n", "import Koordinatentransformationen\n", "import sqlite3\n", "import Funktionales_Modell\n", "import Berechnungen\n", "import Parameterschaetzung\n", "import Stochastisches_Modell\n", "from Stochastisches_Modell import StochastischesModell\n", "import Export\n", "import Netzqualität_Genauigkeit" ], "outputs": [], "execution_count": 1 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:11.718425Z", "start_time": "2025-12-18T15:37:11.710116Z" } }, "cell_type": "code", "source": [ "importlib.reload(Datenbank)\n", "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)\n", "db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)" ], "id": "82d514cd426db78b", "outputs": [], "execution_count": 2 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:11.731344Z", "start_time": "2025-12-18T15:37:11.723304Z" } }, "cell_type": "code", "source": [ "# Import der Koordinatendatei(en) vom Tachymeter\n", "pfad_datei = r\"Daten\\campsnetz_koordinaten_bereinigt.csv\"\n", "imp.import_koordinaten_lh_tachymeter(pfad_datei)" ], "id": "d3bce3991a8962dc", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Der Import wurde abgebrochen, weil mindestens ein Teil der Punktnummern aus der Datei Daten\\campsnetz_koordinaten_bereinigt.csv bereits in der Datenbank vorhanden ist. Bitte in der Datei ändern und Import wiederholen.\n" ] } ], "execution_count": 3 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:11.752920Z", "start_time": "2025-12-18T15:37:11.738465Z" } }, "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]]), '10016': Matrix([\n", "[ 928.2783],\n", "[1944.0082],\n", "[ 100.0459]]), '10011': 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]]), '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]]), '10049': Matrix([\n", "[ 985.2561],\n", "[1715.2109],\n", "[ 99.9965]]), '10048': Matrix([\n", "[ 957.3889],\n", "[1716.2949],\n", "[ 99.7212]]), '10047': Matrix([\n", "[ 929.5334],\n", "[1712.6429],\n", "[ 99.6076]]), '10046': Matrix([\n", "[ 910.663],\n", "[1716.0969],\n", "[ 99.5459]]), '10057': Matrix([\n", "[969.6876],\n", "[1655.597],\n", "[ 99.7039]]), '10055': Matrix([\n", "[ 922.4731],\n", "[1647.7452],\n", "[ 99.4658]]), '10054': Matrix([\n", "[ 860.4481],\n", "[1636.6722],\n", "[ 99.7093]]), '10058': Matrix([\n", "[1013.2592],\n", "[1646.6356],\n", "[ 99.8513]]), '10056': Matrix([\n", "[ 939.9763],\n", "[1636.4179],\n", "[ 99.4027]])}\n" ] } ], "execution_count": 4 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:11.776953Z", "start_time": "2025-12-18T15:37:11.760774Z" } }, "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_us\"))" ], "id": "3989b7b41874c16a", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'10009': Matrix([\n", "[3794753.662988071],\n", "[546753.9367637949],\n", "[5080143.386677202]]), '10006': Matrix([\n", "[3794754.4896177407],\n", "[ 546723.9921318174],\n", "[ 5080154.649178403]]), '10010': Matrix([\n", "[3794744.056289807],\n", "[ 546780.742811981],\n", "[5080141.163673801]]), '10018': Matrix([\n", "[3794745.6185563155],\n", "[ 546808.0432620639],\n", "[ 5080128.604555877]]), '10008': Matrix([\n", "[3794768.085065894],\n", "[546757.4334968549],\n", "[5080127.714551505]]), '10005': Matrix([\n", "[3794778.527441427],\n", "[546733.4402395741],\n", "[5080127.827096725]]), '10003': Matrix([\n", "[3794820.511758894],\n", "[546738.1215455689],\n", "[5080085.660271364]]), '10004': Matrix([\n", "[3794787.6803909624],\n", "[ 546724.3555399023],\n", "[ 5080122.571979241]]), '10007': Matrix([\n", "[3794810.1060299976],\n", "[ 546761.5106092368],\n", "[ 5080086.002076505]]), '10001': Matrix([\n", "[3794874.984],\n", "[ 546741.752],\n", "[ 5080029.99]]), '10002': Matrix([\n", "[3794842.533],\n", "[ 546726.907],\n", "[5080071.133]]), '10016': Matrix([\n", "[3794804.406675659],\n", "[546789.9420781326],\n", "[5080079.636495427]]), '10011': Matrix([\n", "[3794863.580492221],\n", "[ 546820.559672293],\n", "[5080009.689041209]]), '10026': Matrix([\n", "[3794736.3000356155],\n", "[ 546836.8268835127],\n", "[ 5080125.447080448]]), '10027': Matrix([\n", "[3794736.960008056],\n", "[546879.6025181431],\n", "[5080106.777201966]]), '10043': Matrix([\n", "[3794725.0166116133],\n", "[ 546922.5812446327],\n", "[ 5080100.037039967]]), '10044': Matrix([\n", "[3794725.786],\n", "[ 546954.557],\n", "[5080084.411]]), '10021': Matrix([\n", "[3794756.007978388],\n", "[546839.3032465314],\n", "[5080105.589359214]]), '10020': Matrix([\n", "[3794761.920156639],\n", "[ 546838.977847251],\n", "[5080100.047656914]]), '10024': Matrix([\n", "[3794751.737303274],\n", "[ 546861.360519194],\n", "[5080100.294253004]]), '10025': Matrix([\n", "[3794752.154987486],\n", "[546874.7814536445],\n", "[5080094.377907591]]), '10022': Matrix([\n", "[3794757.615620013],\n", "[546846.3167290309],\n", "[5080100.897628256]]), '10023': Matrix([\n", "[3794759.485496209],\n", "[ 546851.850918009],\n", "[5080096.944400053]]), '10019': Matrix([\n", "[3794777.7678170092],\n", "[ 546835.1621077962],\n", "[ 5080085.960456316]]), '10033': Matrix([\n", "[3794775.2817534585],\n", "[ 546873.3349687136],\n", "[ 5080072.047854735]]), '10017': Matrix([\n", "[3794800.413909602],\n", "[546829.8809366617],\n", "[5080066.468759774]]), '10052': Matrix([\n", "[3794717.9206994777],\n", "[ 546983.4459180598],\n", "[ 5080081.08810058]]), '10042': Matrix([\n", "[3794734.554388196],\n", "[546937.3770063668],\n", "[5080084.709433899]]), '10053': Matrix([\n", "[3794720.085392712],\n", "[547013.4090397687],\n", "[5080066.365756604]]), '10037': Matrix([\n", "[3794774.148],\n", "[ 546955.423],\n", "[ 5080040.52]]), '10040': Matrix([\n", "[ 3794753.10534012],\n", "[546951.9265840759],\n", "[5080060.544109294]]), '10041': Matrix([\n", "[3794752.5916562714],\n", "[ 546924.1738739341],\n", "[ 5080073.192051816]]), '10038': Matrix([\n", "[ 3794777.815586322],\n", "[ 546923.349922253],\n", "[5080048.8088312065]]), '10051': Matrix([\n", "[3794738.8789104675],\n", "[ 546983.8605122707],\n", "[ 5080060.856497383]]), '10036': Matrix([\n", "[3794783.3937713057],\n", "[ 546958.852789368],\n", "[ 5080028.375683213]]), '10035': Matrix([\n", "[3794811.830974887],\n", "[546946.7238359943],\n", "[5080006.358480608]]), '10039': Matrix([\n", "[3794776.7340096105],\n", "[ 546909.8215799981],\n", "[ 5080055.592469811]]), '10059': Matrix([\n", "[3794706.225008511],\n", "[547072.2297731125],\n", "[ 5080054.43002136]]), '10050': Matrix([\n", "[3794737.2203678135],\n", "[ 547005.884569236],\n", "[ 5080052.947562701]]), '10013': Matrix([\n", "[ 3794822.93179095],\n", "[546821.6420313995],\n", "[5080048.141902982]]), '10028': Matrix([\n", "[3794854.4255897156],\n", "[ 546891.2604669487],\n", "[ 5079988.554852184]]), '10012': Matrix([\n", "[3794827.8105639764],\n", "[ 546801.0695727703],\n", "[ 5080052.276465297]]), '10014': Matrix([\n", "[3794813.9486643546],\n", "[ 546809.9110713875],\n", "[ 5080061.837625159]]), '10031': Matrix([\n", "[3794794.7905896883],\n", "[ 546872.7161265102],\n", "[ 5080053.610634492]]), '10015': Matrix([\n", "[3794815.711342138],\n", "[546792.4102238796],\n", "[5080067.676337123]]), '10032': Matrix([\n", "[3794781.551156347],\n", "[546884.8955067778],\n", "[5080060.974089937]]), '10030': Matrix([\n", "[3794814.745621184],\n", "[546890.7575186054],\n", "[5080026.464896545]]), '10029': Matrix([\n", "[3794813.6419235766],\n", "[ 546903.6411063377],\n", "[ 5080022.067753642]]), '10034': Matrix([\n", "[3794847.8899375866],\n", "[ 546944.410223245],\n", "[ 5079972.309638362]]), '10045': Matrix([\n", "[3794840.9412449836],\n", "[ 546995.0293108278],\n", "[ 5079957.566682608]]), '10049': Matrix([\n", "[3794754.9137046253],\n", "[ 547010.6945388399],\n", "[ 5080033.750437016]]), '10048': Matrix([\n", "[3794775.2066675387],\n", "[ 547003.7601902599],\n", "[ 5080016.849210949]]), '10047': Matrix([\n", "[3794795.4368398967],\n", "[ 547001.1959608953],\n", "[ 5079998.391751167]]), '10046': Matrix([\n", "[3794809.350397248],\n", "[546994.0540568152],\n", "[5079987.992043806]]), '10057': Matrix([\n", "[3794764.1396034313],\n", "[ 547061.7296312195],\n", "[ 5080002.94483388]]), '10055': Matrix([\n", "[3794798.344048102],\n", "[547058.8865967724],\n", "[5079971.042090028]]), '10054': Matrix([\n", "[3794843.6128397244],\n", "[ 547056.002453676],\n", "[ 5079929.240302954]]), '10058': Matrix([\n", "[3794731.9834108665],\n", "[ 547079.1214681087],\n", "[ 5080026.612704653]]), '10056': Matrix([\n", "[3794785.0879494334],\n", "[ 547072.8892187019],\n", "[ 5079977.737701344]])}\n" ] } ], "execution_count": 5 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:11.794891Z", "start_time": "2025-12-18T15:37:11.786182Z" } }, "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", "\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()" ], "id": "f64d9c01318b40f1", "outputs": [], "execution_count": 6 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:34.196063Z", "start_time": "2025-12-18T15:37:11.802736Z" } }, "cell_type": "code", "source": [ "# ToDo: Sobald GNSS-Daten vorliegen und die Berechnungen richtig sind, aufräumen!!!\n", "\n", "importlib.reload(Koordinatentransformationen)\n", "trafos = Koordinatentransformationen.Transformationen(pfad_datenbank)\n", "\n", "\n", "import numpy as np\n", "\n", "import itertools\n", "import numpy as np\n", "import sympy as sp\n", "\n", "db = Datenbank.Datenbankzugriff(pfad_datenbank)\n", "dict_ausgangssystem = db.get_koordinaten(\"naeherung_lh\", \"Dict\")\n", "dict_zielsystem = db.get_koordinaten(\"naeherung_us\", \"Dict\")\n", "\n", "gemeinsame_punktnummern = sorted(set(dict_ausgangssystem.keys()) & set(dict_zielsystem.keys()))\n", "anzahl_gemeinsame_punkte = len(gemeinsame_punktnummern)\n", "\n", "liste_punkte_ausgangssystem = [dict_ausgangssystem[i] for i in gemeinsame_punktnummern]\n", "liste_punkte_zielsystem = [dict_zielsystem[i] for i in gemeinsame_punktnummern]\n", "\n", "def dist(a, b):\n", " return float((a - b).norm())\n", "\n", "print(\"d(p2,p1)=\", dist(liste_punkte_ausgangssystem[1], liste_punkte_ausgangssystem[0]))\n", "print(\"d(P2,P1)=\", dist(liste_punkte_zielsystem[1], liste_punkte_zielsystem[0]))\n", "print(\"m0 ~\", dist(liste_punkte_zielsystem[1], liste_punkte_zielsystem[0]) /\n", " dist(liste_punkte_ausgangssystem[1], liste_punkte_ausgangssystem[0]))\n", "\n", "\n", "def dist(a, b):\n", " return float((a - b).norm())\n", "\n", "ratios = []\n", "pairs = list(itertools.combinations(range(len(liste_punkte_ausgangssystem)), 2))\n", "\n", "for i, j in pairs:\n", " d_loc = dist(liste_punkte_ausgangssystem[i], liste_punkte_ausgangssystem[j])\n", " d_ecef = dist(liste_punkte_zielsystem[i], liste_punkte_zielsystem[j])\n", " if d_loc > 1e-6:\n", " ratios.append(d_ecef / d_loc)\n", "\n", "print(\"Anzahl Ratios:\", len(ratios))\n", "print(\"min/mean/max:\", min(ratios), sum(ratios)/len(ratios), max(ratios))\n", "print(\"std:\", float(np.std(ratios)))\n", "\n", "S_loc = sum(liste_punkte_ausgangssystem, sp.Matrix([0,0,0])) / anzahl_gemeinsame_punkte\n", "S_ecef = sum(liste_punkte_zielsystem, sp.Matrix([0,0,0])) / anzahl_gemeinsame_punkte\n", "\n", "print(\"S_loc:\", S_loc)\n", "print(\"S_ecef:\", S_ecef)\n", "print(\"Delta:\", (S_ecef - S_loc).evalf(6))\n", "\n", "\n", "def dist(a, b):\n", " return float((a - b).norm())\n", "\n", "n = len(liste_punkte_ausgangssystem)\n", "\n", "scores = []\n", "for i in range(n):\n", " d_loc = []\n", " d_ecef = []\n", " for j in range(n):\n", " if i == j:\n", " continue\n", " d_loc.append(dist(liste_punkte_ausgangssystem[i], liste_punkte_ausgangssystem[j]))\n", " d_ecef.append(dist(liste_punkte_zielsystem[i], liste_punkte_zielsystem[j]))\n", "\n", " d_loc = np.array(d_loc)\n", " d_ecef = np.array(d_ecef)\n", "\n", " # Verhältnisvektor; robust gegen Nullschutz\n", " r = d_ecef / np.where(d_loc == 0, np.nan, d_loc)\n", "\n", " # Streuung der Ratios für Punkt i\n", " score = np.nanstd(r)\n", " scores.append(score)\n", "\n", "for pn, sc in sorted(zip(gemeinsame_punktnummern, scores), key=lambda x: -x[1]):\n", " print(pn, round(sc, 4))\n", "\n", "\n", "\n", "transformationsparameter = trafos.Helmerttransformation_Euler_Transformationsparameter_berechne()" ], "id": "21d60465e432c649", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "d(p2,p1)= 46.60388451996242\n", "d(P2,P1)= 54.462720048072995\n", "m0 ~ 1.1686304823956102\n", "Anzahl Ratios: 1711\n", "min/mean/max: 0.7614345916032296 0.9794088114462783 1.1686304823956102\n", "std: 0.013420503874278246\n", "S_loc: Matrix([[956.308098305085], [1838.78964237288], [99.9601016949153]])\n", "S_ecef: Matrix([[3794780.2653894138], [546891.8276136060], [5080059.6128838661]])\n", "Delta: Matrix([[3.79382e+6], [545053.], [5.07996e+6]])\n", "10037 0.0506\n", "10044 0.0394\n", "10002 0.0328\n", "10036 0.0288\n", "10001 0.0284\n", "10040 0.0226\n", "10042 0.0182\n", "10051 0.0152\n", "10043 0.0147\n", "10052 0.0141\n", "10003 0.014\n", "10041 0.0133\n", "10038 0.0103\n", "10048 0.0096\n", "10047 0.0092\n", "10035 0.0092\n", "10050 0.0091\n", "10046 0.0085\n", "10004 0.0085\n", "10039 0.0082\n", "10053 0.0079\n", "10011 0.0079\n", "10049 0.0079\n", "10027 0.0078\n", "10005 0.0072\n", "10025 0.007\n", "10024 0.0061\n", "10045 0.006\n", "10034 0.0059\n", "10006 0.0058\n", "10008 0.0056\n", "10033 0.0055\n", "10032 0.0054\n", "10023 0.0054\n", "10009 0.0053\n", "10055 0.0053\n", "10057 0.0053\n", "10026 0.0053\n", "10012 0.0052\n", "10022 0.0052\n", "10021 0.005\n", "10056 0.0049\n", "10028 0.0049\n", "10007 0.0048\n", "10020 0.0048\n", "10010 0.0047\n", "10054 0.0046\n", "10018 0.0046\n", "10013 0.0045\n", "10058 0.0042\n", "10019 0.004\n", "10031 0.0039\n", "10059 0.0038\n", "10014 0.0035\n", "10029 0.0034\n", "10017 0.0033\n", "10015 0.0032\n", "10030 0.0032\n", "10016 0.0025\n", "Anzahl gemeinsame Punkte: 59\n", "\n", "Erste Zielpunkte:\n", "10001 [3794874.984, 546741.752, 5080029.99]\n", "10002 [3794842.533, 546726.907, 5080071.133]\n", "10003 [3794820.511758894, 546738.1215455689, 5080085.660271364]\n", "10004 [3794787.6803909624, 546724.3555399023, 5080122.571979241]\n", "10005 [3794778.527441427, 546733.4402395741, 5080127.827096725]\n", "\n", "Erste Ausgangspunkte:\n", "10001 [833.9439, 1978.3737, 99.8946]\n", "10002 [875.9684, 1998.5174, 99.5867]\n", "10003 [908.4312, 1996.1248, 99.7403]\n", "10004 [954.1536, 2021.6822, 99.4916]\n", "10005 [966.5154, 2014.6496, 99.72]\n", "min/mean/max: 0.7614345916032296 0.9794088114462783 1.1686304823956102\n", "R ist nicht Orthonormal!\n", "Iteration Nr.1 abgeschlossen\n", "Matrix([[154.], [42.5], [251.], [-0.265], [-0.956], [0.0318], [0.464]])\n", "Iteration Nr.2 abgeschlossen\n", "Matrix([[129.], [-43.2], [-153.], [0.260], [-0.120], [-0.0849], [-0.0123]])\n", "Iteration Nr.3 abgeschlossen\n", "Matrix([[2.89], [2.18], [-3.01], [0.00353], [0.0346], [0.0241], [-0.00102]])\n", "Iteration Nr.4 abgeschlossen\n", "Matrix([[0.326], [0.250], [-0.491], [0.000587], [0.000114], [0.000254], [-0.000579]])\n", "Iteration Nr.5 abgeschlossen\n", "Matrix([[0.000525], [0.000162], [0.000407], [1.55e-7], [3.36e-7], [-8.42e-7], [-1.72e-7]])\n", "Iteration Nr.6 abgeschlossen\n", "Matrix([[-1.19e-6], [-5.32e-7], [-1.12e-6], [8.11e-14], [-8.37e-10], [6.95e-10], [4.64e-10]])\n", "Iteration Nr.7 abgeschlossen\n", "Matrix([[1.79e-9], [6.83e-10], [1.06e-9], [1.89e-13], [7.60e-13], [-1.07e-12], [-5.40e-13]])\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], [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], [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], [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], [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], [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.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [3.79e+6], [5.46e+5], [5.08e+6], [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], [3.79e+6], [5.47e+5], [5.08e+6], [3.79e+6], [5.47e+5], [5.08e+6], [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.46e+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.46e+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], [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], [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], [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.48e+5], [5.08e+6], [0.979], [-0.481], [0.677], [3.42]])\n", "\n", "l_berechnet_final:\n", "10001: 3794874.637, 546738.682, 5080033.793\n", "10002: 3794844.297, 546729.060, 5080066.484\n", "10003: 3794820.512, 546738.122, 5080085.660\n", "10004: 3794787.680, 546724.356, 5080122.572\n", "10005: 3794778.527, 546733.440, 5080127.827\n", "10006: 3794754.490, 546723.992, 5080154.649\n", "10007: 3794810.106, 546761.511, 5080086.002\n", "10008: 3794768.085, 546757.433, 5080127.715\n", "10009: 3794753.663, 546753.937, 5080143.387\n", "10010: 3794744.056, 546780.743, 5080141.164\n", "10011: 3794863.580, 546820.560, 5080009.689\n", "10012: 3794827.811, 546801.070, 5080052.276\n", "10013: 3794822.932, 546821.642, 5080048.142\n", "10014: 3794813.949, 546809.911, 5080061.838\n", "10015: 3794815.711, 546792.410, 5080067.676\n", "10016: 3794804.407, 546789.942, 5080079.636\n", "10017: 3794800.414, 546829.881, 5080066.469\n", "10018: 3794745.619, 546808.043, 5080128.605\n", "10019: 3794777.768, 546835.162, 5080085.960\n", "10020: 3794761.920, 546838.978, 5080100.048\n", "10021: 3794756.008, 546839.303, 5080105.589\n", "10022: 3794757.616, 546846.317, 5080100.898\n", "10023: 3794759.485, 546851.851, 5080096.944\n", "10024: 3794751.737, 546861.361, 5080100.294\n", "10025: 3794752.155, 546874.781, 5080094.378\n", "10026: 3794736.300, 546836.827, 5080125.447\n", "10027: 3794736.960, 546879.603, 5080106.777\n", "10028: 3794854.426, 546891.260, 5079988.555\n", "10029: 3794813.642, 546903.641, 5080022.068\n", "10030: 3794814.746, 546890.758, 5080026.465\n", "10031: 3794794.791, 546872.716, 5080053.611\n", "10032: 3794781.551, 546884.896, 5080060.974\n", "10033: 3794775.282, 546873.335, 5080072.048\n", "10034: 3794847.890, 546944.410, 5079972.310\n", "10035: 3794811.831, 546946.724, 5080006.358\n", "10036: 3794783.394, 546958.853, 5080028.376\n", "10037: 3794770.848, 546952.857, 5080042.910\n", "10038: 3794777.816, 546923.350, 5080048.809\n", "10039: 3794776.734, 546909.822, 5080055.592\n", "10040: 3794753.105, 546951.927, 5080060.544\n", "10041: 3794752.592, 546924.174, 5080073.192\n", "10042: 3794734.554, 546937.377, 5080084.709\n", "10043: 3794725.017, 546922.581, 5080100.037\n", "10044: 3794727.668, 546958.039, 5080082.867\n", "10045: 3794840.941, 546995.029, 5079957.567\n", "10046: 3794809.350, 546994.054, 5079987.992\n", "10047: 3794795.437, 547001.196, 5079998.392\n", "10048: 3794775.207, 547003.760, 5080016.849\n", "10049: 3794754.914, 547010.695, 5080033.750\n", "10050: 3794737.220, 547005.885, 5080052.948\n", "10051: 3794738.879, 546983.861, 5080060.856\n", "10052: 3794717.921, 546983.446, 5080081.088\n", "10053: 3794720.085, 547013.409, 5080066.366\n", "10054: 3794843.613, 547056.002, 5079929.240\n", "10055: 3794798.344, 547058.887, 5079971.042\n", "10056: 3794785.088, 547072.889, 5079977.738\n", "10057: 3794764.140, 547061.730, 5080002.945\n", "10058: 3794731.983, 547079.121, 5080026.613\n", "10059: 3794706.225, 547072.230, 5080054.430\n", "Streckendifferenzen:\n", "[4.899982, 5.418896, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.814927, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.248968, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]\n", "\n", "Differenz Schwerpunkt (Vektor):\n", "Matrix([[-1.09e-10], [-2.54e-11], [-8.49e-10]])\n", "Betrag der Schwerpunkt-Differenz:\n", "0.000m\n" ] } ], "execution_count": 7 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:34.376494Z", "start_time": "2025-12-18T15:37:34.358826Z" } }, "cell_type": "code", "source": [ "importlib.reload(Koordinatentransformationen)\n", "trafos = Koordinatentransformationen.Transformationen(pfad_datenbank)\n", "\n", "koordinaten_transformiert = trafos.Helmerttransformation(transformationsparameter)\n", "print(koordinaten_transformiert)" ], "id": "df0dcccb73299fcf", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{}\n" ] } ], "execution_count": 8 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:34.385926Z", "start_time": "2025-12-18T15:37:34.381268Z" } }, "cell_type": "code", "source": [ "importlib.reload(Datenbank)\n", "db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n", "\n", "db_zugriff.set_koordinaten(koordinaten_transformiert, \"naeherung_us\")" ], "id": "f6993d81c8a145dd", "outputs": [], "execution_count": 9 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:34.431123Z", "start_time": "2025-12-18T15:37:34.394972Z" } }, "cell_type": "code", "source": [ "# Importieren der tachymetrischen Beobachtungen\n", "importlib.reload(Datenbank)\n", "db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n", "\n", "db_zugriff.get_instrument(\"Tachymeter\")\n", "db_zugriff.set_instrument(\"Tachymeter\", \"Trimble S9\")\n", "db_zugriff.get_instrument(\"Tachymeter\")" ], "id": "e376b4534297016c", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Das Instrument Trimble S9 ist bereits in der Datenbank vorhanden.\n", "Es hat die ID 1\n" ] }, { "data": { "text/plain": [ "[(1, 'Tachymeter', 'Trimble S9')]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 10 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:34.447523Z", "start_time": "2025-12-18T15:37:34.440045Z" } }, "cell_type": "code", "source": [ "#Importieren der apriori Genauigkeitsinformationen\n", "#Zulässige Beobachtungsarten = \"Tachymeter_Richtung\", \"Tachymeter_Strecke\"\n", "# Wenn Beobachtungsart = \"Tachymeter_Richtung\" --> Übergabe in Milligon und nur Stabw_apriori_konst\n", "# Wenn Beobachtungsart = \"Tachymeter_Strecke\" --> Übergabe Stabw_apriori_konst in Millimeter und Stabw_apriori_streckenprop in ppm\n", "\n", "importlib.reload(Datenbank)\n", "db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n", "importlib.reload(Berechnungen)\n", "\n", "db_zugriff.set_genauigkeiten(1, \"Tachymeter_Richtung\", 0.15)\n", "db_zugriff.set_genauigkeiten(1, \"Tachymeter_Strecke\", 0.8, 1)" ], "id": "97e24245ce3398a2", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Die Genauigkeitsangabe ist bereits in der Datenbank vorhanden.\n", "Die Genauigkeitsangabe ist bereits in der Datenbank vorhanden.\n" ] } ], "execution_count": 11 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:37:34.465403Z", "start_time": "2025-12-18T15:37:34.457506Z" } }, "cell_type": "code", "source": [ "# Importieren der tachymetrischen Beobachtungen\n", "importlib.reload(Import)\n", "imp = Import.Import(pfad_datenbank)\n", "\n", "pfad_datei_tachymeterbeobachtungen = r\"Daten\\campsnetz_beobachtungen_bereinigt.csv\"\n", "\n", "imp.import_beobachtungen_tachymeter(pfad_datei_tachymeterbeobachtungen, 1)" ], "id": "509e462917e98145", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Der Import wurde abgebrochen, weil die Beobachtungen aus der Datei Daten\\campsnetz_beobachtungen_bereinigt.csv bereits in der Datenbank vorhanden sind.\n" ] } ], "execution_count": 12 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:38:21.175538Z", "start_time": "2025-12-18T15:37:34.489160Z" } }, "cell_type": "code", "source": [ "# Jacobimatrix aufstellen\n", "importlib.reload(Datenbank)\n", "db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n", "\n", "# Parameter des GRS80-ellipsoids (Bezugsellipsoid des ETRS89 / DREF 91 (2025)\n", "# ToDo: Quelle mit möglichst genauen Parametern heraussuchen!\n", "a = 6378137.0 #m\n", "b = 63567552.314 #m\n", "\n", "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "\n", "#db_zugriff.get_beobachtungen_id_standpunkt_zielpunkt(\"tachymeter_distanz\")\n", "Jacobimatrix_symbolisch = fm.jacobi_matrix_symbolisch()[0]\n", "Jacobimatrix_symbolisch_liste_unbekannte = fm.jacobi_matrix_symbolisch()[1]\n", "Jacobimatrix_symbolisch_liste_beobachtungsvektor = fm.jacobi_matrix_symbolisch()[2]" ], "id": "d38939f7108e1788", "outputs": [], "execution_count": 13 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:38:29.635639Z", "start_time": "2025-12-18T15:38:28.432489Z" } }, "cell_type": "code", "source": [ "importlib.reload(Datenbank)\n", "db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n", "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "\n", "A_matrix_numerisch_iteration0 = fm.jacobi_matrix_zahlen_iteration_0(Jacobimatrix_symbolisch, \"naeherung_us\", Jacobimatrix_symbolisch_liste_unbekannte, Jacobimatrix_symbolisch_liste_beobachtungsvektor)" ], "id": "4a0b1790c65d59ee", "outputs": [], "execution_count": 14 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:38:29.713209Z", "start_time": "2025-12-18T15:38:29.641738Z" } }, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "\n", "beobachtungsvektor_numerisch = fm.beobachtungsvektor_numerisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor)" ], "id": "38f698b6694bebe7", "outputs": [], "execution_count": 15 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:38:30.266023Z", "start_time": "2025-12-18T15:38:29.719876Z" } }, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "\n", "beobachtungsvektor_naeherung_symbolisch = fm.beobachtungsvektor_naeherung_symbolisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor)" ], "id": "e5cca13bbb6b95c5", "outputs": [], "execution_count": 16 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:38:30.471696Z", "start_time": "2025-12-18T15:38:30.270922Z" } }, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "\n", "beobachtungsvektor_naeherung_numerisch_iteration0 = fm.beobachtungsvektor_naeherung_numerisch_iteration0(Jacobimatrix_symbolisch_liste_beobachtungsvektor, beobachtungsvektor_naeherung_symbolisch)" ], "id": "eb0452c52e7afa6b", "outputs": [], "execution_count": 17 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:38:30.564007Z", "start_time": "2025-12-18T15:38:30.561425Z" } }, "cell_type": "code", "source": "", "id": "5f693ea7d699db5", "outputs": [], "execution_count": null }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:58:59.752512Z", "start_time": "2025-12-18T15:57:03.976622Z" } }, "cell_type": "code", "source": [ "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "\n", "importlib.reload(Parameterschaetzung)\n", "importlib.reload(Stochastisches_Modell)\n", "\n", "importlib.reload(Netzqualität_Genauigkeit)\n", "importlib.reload(Export)\n", "\n", "\n", "stoch_modell = Stochastisches_Modell.StochastischesModell(A_matrix_numerisch_iteration0.rows)\n", "\n", "dx = Parameterschaetzung.ausgleichung(A_matrix_numerisch_iteration0, fm.berechnung_dl(beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch_iteration0), stoch_modell)[1]" ], "id": "f53849ee4757d5e8", "outputs": [], "execution_count": 24 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T15:58:59.778163Z", "start_time": "2025-12-18T15:58:59.772917Z" } }, "cell_type": "code", "source": "print(dx)", "id": "ddab453ba8432a2e", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Matrix([[-15.836878584224005], [-11.247992969377836], [-15.035970699461896], [-17.172225915627391], [-12.173321760599258], [-15.454280247622307], [5.8499866304036029], [-0.84408137153644882], [8.8428344118956920], [0.72246492846590215], [-2.6805161681178439], [2.6561177036687012], [-1.7530336151646340], [-4.0828424915123159], [-1.1116425422727685], [-12.406627111323089], [-9.3797102733249321], [-11.307162824737238], [-5.1944178730145476], [-5.3432586001388116], [-5.4878123818429649], [-10.042692171849579], [-8.5240394027296233], [-9.4596665841413192], [27.422586000355638], [9.2825737332351858], [27.778859287348245], [2.4602163319908927], [-5.7491987498622639], [3.9333738087535138], [4.7375692229725473], [0.33076782754328830], [-2.4779604262283192], [17.142633017180586], [5.4164801506396094], [16.741629291078787], [1.6928425251527212], [-1.5195571148866928], [-2.4272405037900690], [9.0602539400968511], [1.6821170572252666], [11.568078083970901], [2.3549123392381141], [-0.26458175694122837], [4.3686826655259176], [9.8185006307524331], [4.1080618791581898], [12.544260568232283], [3.2763322333276562], [5.3055059893555683], [3.9223714342847534], [0.60520357541114602], [-1.5495926362313008], [1.9227428332430944], [3.2878782838233516], [-0.44754426128892091], [4.4635107837475506], [-0.90144118724306758], [-1.7265745960106901], [0.24517522670635369], [-0.38866073768744302], [-1.2079814068684954], [0.66726417048861476], [1.5739738824820702], [-1.0327182535932885], [2.6923009104152141], [2.4671966070744344], [-0.51755283555471828], [3.5615386178071496], [23.106270539437759], [5.7787644763976513], [24.366936943444542], [21.571347206867959], [5.7368806620570824], [21.972597048171281], [0.35395481642685145], [-1.1997143246058162], [-1.1861715359381562], [12.275315527434830], [6.6623984692942630], [15.177595945825646], [-6.0381755939842792], [-3.0369373286189943], [-4.9820599951832047], [-0.39369680418824364], [2.0715080420095952], [2.4045997827095693], [-1.1701185532957933], [-2.5028664051832912], [6.2909239418975121], [-13.502290467846696], [-4.1667425016344247], [-12.347189404692619], [-22.409211457493528], [-9.9757595893449019], [-23.842016750733605], [4.8861559972755568], [-0.86606026286854386], [3.0030479492724135], [6.2671811557631598], [4.3204335828518802], [8.1407423384124597], [2.6812499333327412], [1.0785321977509672], [3.9217187575981670], [0.77726754791754994], [0.53805074636246901], [0.35786438371770457], [1.0574487863849902], [-2.6386853939193140], [-0.49660028724612645], [-0.35915950676406471], [3.8022114113862679], [4.1755598846602404], [-2.4220222066006638], [1.0322651998506441], [-0.66010077807801857], [4.0064239355518560], [-0.13328542687360145], [1.7248688371943423], [4.5977602541989611], [1.0179996191308970], [-0.79411582105523724], [-6.4782494374778967], [-5.2273168102958061], [-8.8885332080582243], [-0.16148819963348198], [-2.0382745275721952], [-1.8696260745012774], [6.1765877572858512], [2.4166000136248174], [4.9271932554524929], [9.5912530083867848], [1.9352159494553939], [8.3904972213104597], [-36.854600050939177], [-18.392682775944993], [-36.867526230250396], [-1.3101242864302213], [-2.9656640484549343], [-5.3064133446332462], [-1.2360520826333704], [-2.4623194898522547], [-4.6701149211832324], [3.8592688425947312], [3.0452754270630287], [1.9011868453853438], [16.071155838781023], [9.5621002159194649], [14.405999945022790], [-3.6564602955199492], [0.86740846288392710], [-2.4808225672809876], [-1.3479918087679470], [2.0593028028808695], [-1.9647375310521838], [0.012476625544841331], [2.6098452389005484], [-1.2494318782543187], [-2.3552690992546623], [1.0300039170278315], [-2.2257979097615787], [-0.85095768360329300], [3.3887736130285480], [0.74381283036782511], [1.3635621499509423], [5.4669454688129320], [2.9680237851035994], [2.3784279926809026], [5.6821112134717671], [1.3357302229758119], [4.1241396205744366], [6.0819089981186366], [7.7461583359207565], [5.2432144944109490], [6.7339752553106913], [6.5789767741021837]])\n" ] } ], "execution_count": 25 }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-18T16:08:56.402308Z", "start_time": "2025-12-18T16:08:56.346777Z" } }, "cell_type": "code", "source": [ "# Von Fabian\n", "\n", "importlib.reload(Funktionales_Modell)\n", "fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n", "importlib.reload(Export)\n", "importlib.reload(Datenbank)\n", "\n", "unbekanntenvektor_symbolisch = (fm.unbekanntenvektor_symbolisch(Jacobimatrix_symbolisch_liste_unbekannte))\n", "unbekanntenvektor_numerisch_iteration0 = fm.unbekanntenvektor_numerisch(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_symbolisch)\n", "print(unbekanntenvektor_numerisch_iteration0)\n", "print(\"-----\")\n", "unbekanntenvektor_numerisch = fm.unbekanntenvektor_numerisch(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_symbolisch, dx, unbekanntenvektor_numerisch_iteration0)\n", "print(unbekanntenvektor_numerisch)" ], "id": "122dca077d1d267c", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Matrix([[3794753.662988071], [546753.9367637949], [5080143.386677202], [3794754.4896177407], [546723.9921318174], [5080154.649178403], [3794744.056289807], [546780.742811981], [5080141.163673801], [3794745.6185563155], [546808.0432620639], [5080128.604555877], [3794768.085065894], [546757.4334968549], [5080127.714551505], [3794778.527441427], [546733.4402395741], [5080127.827096725], [3794820.511758894], [546738.1215455689], [5080085.660271364], [3794787.6803909624], [546724.3555399023], [5080122.571979241], [3794810.1060299976], [546761.5106092368], [5080086.002076505], [3794874.98400000], [546741.752000000], [5080029.99000000], [3794842.53300000], [546726.907000000], [5080071.13300000], [3794804.406675659], [546789.9420781326], [5080079.636495427], [3794863.580492221], [546820.559672293], [5080009.689041209], [3794736.3000356155], [546836.8268835127], [5080125.447080448], [3794736.960008056], [546879.6025181431], [5080106.777201966], [3794725.0166116133], [546922.5812446327], [5080100.037039967], [3794725.78600000], [546954.557000000], [5080084.41100000], [3794756.007978388], [546839.3032465314], [5080105.589359214], [3794761.920156639], [546838.977847251], [5080100.047656914], [3794751.737303274], [546861.360519194], [5080100.294253004], [3794752.154987486], [546874.7814536445], [5080094.377907591], [3794757.615620013], [546846.3167290309], [5080100.897628256], [3794759.485496209], [546851.850918009], [5080096.944400053], [3794777.7678170092], [546835.1621077962], [5080085.960456316], [3794775.2817534585], [546873.3349687136], [5080072.047854735], [3794800.413909602], [546829.8809366617], [5080066.468759774], [3794717.9206994777], [546983.4459180598], [5080081.08810058], [3794734.554388196], [546937.3770063668], [5080084.709433899], [3794720.085392712], [547013.4090397687], [5080066.365756604], [3794774.14800000], [546955.423000000], [5080040.52000000], [3794753.10534012], [546951.9265840759], [5080060.544109294], [3794752.5916562714], [546924.1738739341], [5080073.192051816], [3794777.815586322], [546923.349922253], [5080048.8088312065], [3794738.8789104675], [546983.8605122707], [5080060.856497383], [3794783.3937713057], [546958.852789368], [5080028.375683213], [3794811.830974887], [546946.7238359943], [5080006.358480608], [3794776.7340096105], [546909.8215799981], [5080055.592469811], [3794706.225008511], [547072.2297731125], [5080054.43002136], [3794737.2203678135], [547005.884569236], [5080052.947562701], [3794822.93179095], [546821.6420313995], [5080048.141902982], [3794854.4255897156], [546891.2604669487], [5079988.554852184], [3794827.8105639764], [546801.0695727703], [5080052.276465297], [3794813.9486643546], [546809.9110713875], [5080061.837625159], [3794794.7905896883], [546872.7161265102], [5080053.610634492], [3794815.711342138], [546792.4102238796], [5080067.676337123], [3794781.551156347], [546884.8955067778], [5080060.974089937], [3794814.745621184], [546890.7575186054], [5080026.464896545], [3794813.6419235766], [546903.6411063377], [5080022.067753642], [3794847.8899375866], [546944.410223245], [5079972.309638362], [3794840.9412449836], [546995.0293108278], [5079957.566682608], [3794754.9137046253], [547010.6945388399], [5080033.750437016], [3794795.4368398967], [547001.1959608953], [5079998.391751167], [3794809.350397248], [546994.0540568152], [5079987.992043806], [3794775.2066675387], [547003.7601902599], [5080016.849210949], [3794764.1396034313], [547061.7296312195], [5080002.94483388], [3794798.344048102], [547058.8865967724], [5079971.042090028], [3794843.6128397244], [547056.002453676], [5079929.240302954], [3794731.9834108665], [547079.1214681087], [5080026.612704653], [3794785.0879494334], [547072.8892187019], [5079977.737701344]])\n", "-----\n", "Matrix([[3794737.8261094868], [546742.68877082553], [5080128.3507065025], [3794737.3173918251], [546711.81881005680], [5080139.1948981553], [3794749.9062764374], [546779.89873060947], [5080150.0065082129], [3794746.3410212440], [546805.36274589579], [5080131.2606735807], [3794766.3320322788], [546753.35065436338], [5080126.6029089628], [3794766.1208143157], [546724.06052930078], [5080116.5199339003], [3794815.3173410210], [546732.77828696876], [5080080.1724589822], [3794777.6376987905], [546715.83150049957], [5080113.1123126568], [3794837.5286159980], [546770.79318297003], [5080113.7809357923], [3794877.4442163322], [546736.00280125012], [5080033.9233738090], [3794847.2705692228], [546727.23776782755], [5080068.6550395742], [3794821.5493086762], [546795.35855828324], [5080096.3781247181], [3794865.2733347461], [546819.04011517813], [5080007.2618007053], [3794745.3602895556], [546838.50900056992], [5080137.0151585320], [3794739.3149203953], [546879.33793638616], [5080111.1458846316], [3794734.8351122441], [546926.68930651186], [5080112.5813005353], [3794729.0623322332], [546959.86250598939], [5080088.3333714346], [3794756.6131819634], [546837.75365389517], [5080107.5121020472], [3794765.2080349228], [546838.53030298970], [5080104.5111676977], [3794750.8358620867], [546859.63394459803], [5080100.5394282307], [3794751.7663267483], [546873.57347223762], [5080095.0451717615], [3794759.1895938955], [546845.28401077731], [5080103.5899291664], [3794761.9526928161], [546851.33336517339], [5080100.5059386708], [3794800.8740875486], [546840.94087227260], [5080110.3273932595], [3794796.8531006654], [546879.07184937566], [5080094.0204517832], [3794800.7678644184], [546828.68122233710], [5080065.2825882381], [3794730.1960150051], [546990.10831652910], [5080096.2656965254], [3794728.5162126020], [546934.34006903819], [5080079.7273739038], [3794719.6916959078], [547015.48054781071], [5080068.7703563867], [3794772.9778814467], [546952.92013359477], [5080046.8109239414], [3794739.6030496521], [546947.75984157427], [5080048.1969198893], [3794730.1824448139], [546914.19811434475], [5080049.3500350653], [3794782.7017423193], [546922.48386199018], [5080051.8118791558], [3794745.1460916233], [546988.18094585355], [5080068.9972397214], [3794786.0750212390], [546959.93132156577], [5080032.2974019706], [3794812.6082424349], [546947.26188674066], [5080006.7163449917], [3794777.7914583969], [546907.18289460418], [5080055.0958695237], [3794705.8658490042], [547076.03198452389], [5080058.6055812442], [3794734.7983456069], [547006.91683443581], [5080052.2874619229], [3794826.9382148853], [546821.50874597263], [5080049.8667718192], [3794859.0233499698], [546892.27846656784], [5079987.7607363630], [3794821.3323145389], [546795.84225596000], [5080043.3879320889], [3794813.7871761550], [546807.87279685993], [5080059.9679990845], [3794800.9671774456], [546875.13272652383], [5080058.5378277475], [3794825.3025951464], [546794.34543982906], [5080076.0668343443], [3794744.6965562960], [546866.50282400186], [5080024.1065637068], [3794813.4354968976], [546887.79185455695], [5080021.1584832004], [3794812.4058714940], [546901.17878684785], [5080017.3976387208], [3794851.7492064292], [546947.45549867210], [5079974.2108252074], [3794857.0124008224], [547004.59141104372], [5079971.9726825530], [3794751.2572443298], [547011.56194730279], [5080031.2696144487], [3794794.0888480879], [547003.25526369818], [5079996.4270136360], [3794809.3628738735], [546996.66390205411], [5079986.7426119278], [3794772.8513984394], [547004.79019417693], [5080014.6234130393], [3794763.2886457477], [547065.11840483252], [5080003.6886467107], [3794799.7076102519], [547064.35354224121], [5079974.0101138130], [3794845.9912677171], [547061.68456488943], [5079930.5760331770], [3794736.1075504871], [547085.20337710682], [5080034.3588629889], [3794790.3311639278], [547079.62319395720], [5079984.3166781181]])\n" ] } ], "execution_count": 34 } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }