zusammenfügen2
This commit is contained in:
@@ -115,6 +115,8 @@ class Berechnungen:
|
||||
dY = float(Y2 - Y1)
|
||||
dZ = float(Z2 - Z1)
|
||||
|
||||
schraegstrecke = np.sqrt(dX ** 2 + dY ** 2 + dZ ** 2)
|
||||
|
||||
B = float(dict_koordinaten_erweitert[beobachtung_tachymeter[0]][3])
|
||||
L = float(dict_koordinaten_erweitert[beobachtung_tachymeter[0]][4])
|
||||
|
||||
@@ -129,14 +131,14 @@ class Berechnungen:
|
||||
beobachtsgruppeID_aktuell = beobachtung_tachymeter[3]
|
||||
if beobachtsgruppeID_aktuell == beobachtsgruppeID_vorher:
|
||||
richtung = float(self.Richtung(Azimut, orientierung))
|
||||
liste_azimut_richtungen.append((standpunkt, zielpunkt, Azimut, richtung, Zenitwinkel))
|
||||
liste_azimut_richtungen.append((beobachtsgruppeID_aktuell, standpunkt, zielpunkt, Azimut, richtung, Zenitwinkel, schraegstrecke))
|
||||
|
||||
else:
|
||||
orientierung = Azimut
|
||||
dict_orientierungen[beobachtsgruppeID_aktuell] = orientierung
|
||||
|
||||
richtung = float(self.Richtung(Azimut, orientierung))
|
||||
liste_azimut_richtungen.append((standpunkt, zielpunkt, Azimut, richtung, Zenitwinkel))
|
||||
liste_azimut_richtungen.append((beobachtsgruppeID_aktuell, standpunkt, zielpunkt, Azimut, richtung, Zenitwinkel, schraegstrecke))
|
||||
|
||||
beobachtsgruppeID_vorher = beobachtsgruppeID_aktuell
|
||||
return liste_azimut_richtungen, dict_orientierungen
|
||||
|
||||
516
Campusnetz.ipynb
516
Campusnetz.ipynb
@@ -3,8 +3,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.332303Z",
|
||||
"start_time": "2026-01-07T12:35:13.327285Z"
|
||||
"end_time": "2026-01-07T16:53:18.235543Z",
|
||||
"start_time": "2026-01-07T16:53:17.375637Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -26,13 +26,13 @@
|
||||
],
|
||||
"id": "2bc687b1b4adb7bd",
|
||||
"outputs": [],
|
||||
"execution_count": 9
|
||||
"execution_count": 1
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.369312Z",
|
||||
"start_time": "2026-01-07T12:35:13.344448Z"
|
||||
"end_time": "2026-01-07T16:53:18.257894Z",
|
||||
"start_time": "2026-01-07T16:53:18.253426Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -43,13 +43,13 @@
|
||||
],
|
||||
"id": "4f7efd7ba6ec18f9",
|
||||
"outputs": [],
|
||||
"execution_count": 10
|
||||
"execution_count": 2
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.400124Z",
|
||||
"start_time": "2026-01-07T12:35:13.377155Z"
|
||||
"end_time": "2026-01-07T16:53:18.315299Z",
|
||||
"start_time": "2026-01-07T16:53:18.270544Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -66,13 +66,13 @@
|
||||
],
|
||||
"id": "57fcd841405b7866",
|
||||
"outputs": [],
|
||||
"execution_count": 11
|
||||
"execution_count": 3
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.424831Z",
|
||||
"start_time": "2026-01-07T12:35:13.413606Z"
|
||||
"end_time": "2026-01-07T16:53:18.336302Z",
|
||||
"start_time": "2026-01-07T16:53:18.324304Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -91,13 +91,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 12
|
||||
"execution_count": 4
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.476073Z",
|
||||
"start_time": "2026-01-07T12:35:13.456886Z"
|
||||
"end_time": "2026-01-07T16:53:18.383715Z",
|
||||
"start_time": "2026-01-07T16:53:18.371556Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -294,13 +294,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 13
|
||||
"execution_count": 5
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.507937Z",
|
||||
"start_time": "2026-01-07T12:35:13.502280Z"
|
||||
"end_time": "2026-01-07T16:53:18.433103Z",
|
||||
"start_time": "2026-01-07T16:53:18.428516Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -320,13 +320,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 14
|
||||
"execution_count": 6
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.561318Z",
|
||||
"start_time": "2026-01-07T12:35:13.546541Z"
|
||||
"end_time": "2026-01-07T16:53:18.484333Z",
|
||||
"start_time": "2026-01-07T16:53:18.467651Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -348,18 +348,18 @@
|
||||
"'Import der Koordinaten aus stationärem GNSS abgeschlossen.'"
|
||||
]
|
||||
},
|
||||
"execution_count": 15,
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 15
|
||||
"execution_count": 7
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.610549Z",
|
||||
"start_time": "2026-01-07T12:35:13.598061Z"
|
||||
"end_time": "2026-01-07T16:53:18.516173Z",
|
||||
"start_time": "2026-01-07T16:53:18.501776Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -383,13 +383,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 16
|
||||
"execution_count": 8
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.684596Z",
|
||||
"start_time": "2026-01-07T12:35:13.671209Z"
|
||||
"end_time": "2026-01-07T16:53:18.540269Z",
|
||||
"start_time": "2026-01-07T16:53:18.527963Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -416,13 +416,13 @@
|
||||
],
|
||||
"id": "ed9be38e35cfc619",
|
||||
"outputs": [],
|
||||
"execution_count": 17
|
||||
"execution_count": 9
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:13.702988Z",
|
||||
"start_time": "2026-01-07T12:35:13.700016Z"
|
||||
"end_time": "2026-01-07T16:53:18.556034Z",
|
||||
"start_time": "2026-01-07T16:53:18.551738Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -451,13 +451,13 @@
|
||||
],
|
||||
"id": "efa952a603ad1909",
|
||||
"outputs": [],
|
||||
"execution_count": 18
|
||||
"execution_count": 10
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:16.797020Z",
|
||||
"start_time": "2026-01-07T12:35:13.713024Z"
|
||||
"end_time": "2026-01-07T16:53:21.444673Z",
|
||||
"start_time": "2026-01-07T16:53:18.579007Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -628,13 +628,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 19
|
||||
"execution_count": 11
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:16.879607Z",
|
||||
"start_time": "2026-01-07T12:35:16.843810Z"
|
||||
"end_time": "2026-01-07T16:53:21.584229Z",
|
||||
"start_time": "2026-01-07T16:53:21.544702Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -802,13 +802,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 20
|
||||
"execution_count": 12
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:16.906230Z",
|
||||
"start_time": "2026-01-07T12:35:16.890057Z"
|
||||
"end_time": "2026-01-07T16:53:21.657166Z",
|
||||
"start_time": "2026-01-07T16:53:21.642656Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -820,13 +820,13 @@
|
||||
],
|
||||
"id": "5a9e8f24709980d2",
|
||||
"outputs": [],
|
||||
"execution_count": 21
|
||||
"execution_count": 13
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:16.938105Z",
|
||||
"start_time": "2026-01-07T12:35:16.916740Z"
|
||||
"end_time": "2026-01-07T16:53:21.703399Z",
|
||||
"start_time": "2026-01-07T16:53:21.679439Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -856,18 +856,18 @@
|
||||
"[(1, 'Tachymeter', 'Trimble S9')]"
|
||||
]
|
||||
},
|
||||
"execution_count": 22,
|
||||
"execution_count": 14,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 22
|
||||
"execution_count": 14
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:16.985065Z",
|
||||
"start_time": "2026-01-07T12:35:16.960038Z"
|
||||
"end_time": "2026-01-07T16:53:21.740755Z",
|
||||
"start_time": "2026-01-07T16:53:21.715666Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -897,13 +897,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 23
|
||||
"execution_count": 15
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:17.024232Z",
|
||||
"start_time": "2026-01-07T12:35:16.995731Z"
|
||||
"end_time": "2026-01-07T16:53:21.786423Z",
|
||||
"start_time": "2026-01-07T16:53:21.759186Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -926,13 +926,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 24
|
||||
"execution_count": 16
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:17.048531Z",
|
||||
"start_time": "2026-01-07T12:35:17.034288Z"
|
||||
"end_time": "2026-01-07T16:53:21.817850Z",
|
||||
"start_time": "2026-01-07T16:53:21.803986Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -953,18 +953,18 @@
|
||||
"'Der HFP 666 wurde neu hinzugefügt.\\nDer HFP 812 wurde neu hinzugefügt.\\nDer HFP 816 wurde neu hinzugefügt.'"
|
||||
]
|
||||
},
|
||||
"execution_count": 25,
|
||||
"execution_count": 17,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 25
|
||||
"execution_count": 17
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:17.066074Z",
|
||||
"start_time": "2026-01-07T12:35:17.059840Z"
|
||||
"end_time": "2026-01-07T16:53:21.855238Z",
|
||||
"start_time": "2026-01-07T16:53:21.847536Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -982,18 +982,18 @@
|
||||
"[('666', 3.891), ('812', 3.999), ('816', 3.995)]"
|
||||
]
|
||||
},
|
||||
"execution_count": 26,
|
||||
"execution_count": 18,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 26
|
||||
"execution_count": 18
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:17.093913Z",
|
||||
"start_time": "2026-01-07T12:35:17.084361Z"
|
||||
"end_time": "2026-01-07T16:53:21.924711Z",
|
||||
"start_time": "2026-01-07T16:53:21.913744Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1015,13 +1015,13 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 27
|
||||
"execution_count": 19
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:17.124724Z",
|
||||
"start_time": "2026-01-07T12:35:17.111229Z"
|
||||
"end_time": "2026-01-07T16:53:21.965219Z",
|
||||
"start_time": "2026-01-07T16:53:21.952162Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1052,18 +1052,18 @@
|
||||
"\"Für folgende Punkte werden die Höhen Ausgeglichen: ['812', '10047', '10046', '10045', '10034', '10035', '10029', '10030', '10031', '10017', '10013', '10012', '10014', '10015', '10016', '10007', '666', '10054', '10056', '10058', '10052', '10043', '10026', '10010', '10006', '816', '10048', '10049', '10053', '10050', '10051', '10040', '10037', '10038', '10039', '10032', '10033', '10025', '10024', '10023', '10022', '10021', '10020', '10019', '10036', '10028', '10011', '10001', '10003', '10008', '10005', '10004', '10002', '10055', '10057', '10059', '10044', '10041', '10042', '10027', '10018', '10009']\""
|
||||
]
|
||||
},
|
||||
"execution_count": 28,
|
||||
"execution_count": 20,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 28
|
||||
"execution_count": 20
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:35:17.166770Z",
|
||||
"start_time": "2026-01-07T12:35:17.148874Z"
|
||||
"end_time": "2026-01-07T16:53:22.016132Z",
|
||||
"start_time": "2026-01-07T16:53:21.998840Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1081,18 +1081,18 @@
|
||||
"'Die Beobachtungen aus der Datei Daten\\\\Niv_bereinigt.DAT.csv wurden erfolgreich importiert.'"
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
"execution_count": 21,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 29
|
||||
"execution_count": 21
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:36:16.197855Z",
|
||||
"start_time": "2026-01-07T12:35:17.190098Z"
|
||||
"end_time": "2026-01-07T16:53:47.958620Z",
|
||||
"start_time": "2026-01-07T16:53:22.025978Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1113,13 +1113,13 @@
|
||||
],
|
||||
"id": "c9367690f5b73953",
|
||||
"outputs": [],
|
||||
"execution_count": 30
|
||||
"execution_count": 22
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:38:06.545955Z",
|
||||
"start_time": "2026-01-07T12:37:27.363665Z"
|
||||
"end_time": "2026-01-07T16:59:30.359379Z",
|
||||
"start_time": "2026-01-07T16:54:03.066002Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1133,13 +1133,13 @@
|
||||
],
|
||||
"id": "163fa2e24923b40",
|
||||
"outputs": [],
|
||||
"execution_count": 31
|
||||
"execution_count": 23
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:38:06.658854Z",
|
||||
"start_time": "2026-01-07T12:38:06.554444Z"
|
||||
"end_time": "2026-01-07T16:59:30.586776Z",
|
||||
"start_time": "2026-01-07T16:59:30.452151Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1151,27 +1151,14 @@
|
||||
"beobachtungsvektor_numerisch = fm.beobachtungsvektor_numerisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor)"
|
||||
],
|
||||
"id": "80e8325721c950f8",
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "KeyError",
|
||||
"evalue": "70_SD_1_10009_10006",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001B[31m---------------------------------------------------------------------------\u001B[39m",
|
||||
"\u001B[31mKeyError\u001B[39m Traceback (most recent call last)",
|
||||
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[32]\u001B[39m\u001B[32m, line 5\u001B[39m\n\u001B[32m 2\u001B[39m importlib.reload(Funktionales_Modell)\n\u001B[32m 3\u001B[39m fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n\u001B[32m----> \u001B[39m\u001B[32m5\u001B[39m beobachtungsvektor_numerisch = \u001B[43mfm\u001B[49m\u001B[43m.\u001B[49m\u001B[43mbeobachtungsvektor_numerisch\u001B[49m\u001B[43m(\u001B[49m\u001B[43mJacobimatrix_symbolisch_liste_beobachtungsvektor\u001B[49m\u001B[43m)\u001B[49m\n",
|
||||
"\u001B[36mFile \u001B[39m\u001B[32m~\\PycharmProjects\\Masterprojekt_V3\\Funktionales_Modell.py:396\u001B[39m, in \u001B[36mFunktionalesModell.beobachtungsvektor_numerisch\u001B[39m\u001B[34m(self, liste_beobachtungsvektor_symbolisch)\u001B[39m\n\u001B[32m 394\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m beobachtung_symbolisch.startswith(\u001B[33m\"\u001B[39m\u001B[33mlA_\u001B[39m\u001B[33m\"\u001B[39m):\n\u001B[32m 395\u001B[39m beobachtung_symbolisch = \u001B[38;5;28mstr\u001B[39m(beobachtung_symbolisch.split(\u001B[33m\"\u001B[39m\u001B[33m_\u001B[39m\u001B[33m\"\u001B[39m, \u001B[32m1\u001B[39m)[\u001B[32m1\u001B[39m]).strip()\n\u001B[32m--> \u001B[39m\u001B[32m396\u001B[39m liste_beobachtungsvektor_numerisch.append(\u001B[38;5;28;43mself\u001B[39;49m\u001B[43m.\u001B[49m\u001B[43msubstitutionen_dict\u001B[49m\u001B[43m[\u001B[49m\u001B[43msp\u001B[49m\u001B[43m.\u001B[49m\u001B[43mSymbol\u001B[49m\u001B[43m(\u001B[49m\u001B[43mbeobachtung_symbolisch\u001B[49m\u001B[43m)\u001B[49m\u001B[43m]\u001B[49m)\n\u001B[32m 398\u001B[39m beobachtungsvektor_numerisch = sp.Matrix(liste_beobachtungsvektor_numerisch)\n\u001B[32m 399\u001B[39m Export.matrix_to_csv(\u001B[33mr\u001B[39m\u001B[33m\"\u001B[39m\u001B[33mZwischenergebnisse\u001B[39m\u001B[33m\\\u001B[39m\u001B[33mBeobachtungsvektor_Numerisch.csv\u001B[39m\u001B[33m\"\u001B[39m, [\u001B[33m\"\u001B[39m\u001B[33m\"\u001B[39m], liste_beobachtungsvektor_symbolisch, beobachtungsvektor_numerisch, \u001B[33m\"\u001B[39m\u001B[33mBeobachtungsvektor\u001B[39m\u001B[33m\"\u001B[39m)\n",
|
||||
"\u001B[31mKeyError\u001B[39m: 70_SD_1_10009_10006"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 32
|
||||
"outputs": [],
|
||||
"execution_count": 24
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:45:30.265091Z",
|
||||
"start_time": "2026-01-07T12:45:29.517772Z"
|
||||
"end_time": "2026-01-07T16:59:31.397290Z",
|
||||
"start_time": "2026-01-07T16:59:30.594141Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1183,13 +1170,13 @@
|
||||
],
|
||||
"id": "33e9fbd465c577e4",
|
||||
"outputs": [],
|
||||
"execution_count": 33
|
||||
"execution_count": 25
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:46:11.519343Z",
|
||||
"start_time": "2026-01-07T12:46:07.931281Z"
|
||||
"end_time": "2026-01-07T17:00:27.366806Z",
|
||||
"start_time": "2026-01-07T16:59:47.883767Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1201,13 +1188,13 @@
|
||||
],
|
||||
"id": "bcf3dd5fc820d077",
|
||||
"outputs": [],
|
||||
"execution_count": 34
|
||||
"execution_count": 26
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:50:12.832101Z",
|
||||
"start_time": "2026-01-07T12:46:51.965045Z"
|
||||
"end_time": "2026-01-07T17:02:19.336413Z",
|
||||
"start_time": "2026-01-07T17:00:27.375923Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1226,13 +1213,13 @@
|
||||
],
|
||||
"id": "c1def9b9b41efcd5",
|
||||
"outputs": [],
|
||||
"execution_count": 35
|
||||
"execution_count": 27
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:38:06.667142700Z",
|
||||
"start_time": "2026-01-06T13:17:40.815217Z"
|
||||
"end_time": "2026-01-07T17:03:23.266049Z",
|
||||
"start_time": "2026-01-07T17:03:23.250183Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1262,18 +1249,18 @@
|
||||
"<module 'Stochastisches_Modell' from 'C:\\\\Users\\\\miche\\\\PycharmProjects\\\\Masterprojekt_V3\\\\Stochastisches_Modell.py'>"
|
||||
]
|
||||
},
|
||||
"execution_count": 154,
|
||||
"execution_count": 28,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 154
|
||||
"execution_count": 28
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:38:06.667142700Z",
|
||||
"start_time": "2026-01-06T13:24:22.955427Z"
|
||||
"end_time": "2026-01-07T17:04:05.830413Z",
|
||||
"start_time": "2026-01-07T17:03:23.278507Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1470,11 +1457,11 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Modell enthält Beobachtungen: 2628\n",
|
||||
"Modell enthält Unbekannte: 236\n",
|
||||
"Behalte Zeilen (10000er): 2628 / 2628\n",
|
||||
"Modell enthält Beobachtungen: 2835\n",
|
||||
"Modell enthält Unbekannte: 257\n",
|
||||
"Behalte Zeilen (10000er): 2628 / 2835\n",
|
||||
"Punkte in den behaltenen Beobachtungen: 59\n",
|
||||
"Behalte Spalten: 236 / 236\n",
|
||||
"Behalte Spalten: 236 / 257\n",
|
||||
"Anzahl Punkte (für Datum/G): 59\n",
|
||||
"Datumspunkte: ['10009', '10006', '10010', '10018', '10008', '10005', '10003', '10004', '10007', '10001']\n",
|
||||
"Anzahl Datumskomponenten: 30\n",
|
||||
@@ -1483,50 +1470,282 @@
|
||||
"Gi shape = (236, 6)\n",
|
||||
"rank(S) = 4\n",
|
||||
"S shape = (6, 6)\n",
|
||||
"Iter 0: max|dx|=1.029e+02, sigma0=0.49318210586418104\n",
|
||||
"Iter 0: max|dx|=1.109e+02, sigma0=0.19923074676411007\n",
|
||||
"rank(Gi) = 6\n",
|
||||
"Gi shape = (236, 6)\n",
|
||||
"rank(S) = 4\n",
|
||||
"rank(S) = 3\n",
|
||||
"S shape = (6, 6)\n",
|
||||
"Iter 1: max|dx|=5.610e+01, sigma0=0.4632058026074509\n",
|
||||
"Iter 1: max|dx|=1.388e+02, sigma0=0.2958008341388878\n",
|
||||
"rank(Gi) = 6\n",
|
||||
"Gi shape = (236, 6)\n",
|
||||
"rank(S) = 4\n",
|
||||
"rank(S) = 3\n",
|
||||
"S shape = (6, 6)\n",
|
||||
"Iter 2: max|dx|=1.593e+01, sigma0=0.4634545548558407\n",
|
||||
"Iter 2: max|dx|=1.811e+02, sigma0=0.38044576942836994\n",
|
||||
"rank(Gi) = 6\n",
|
||||
"Gi shape = (236, 6)\n",
|
||||
"rank(S) = 4\n",
|
||||
"rank(S) = 3\n",
|
||||
"S shape = (6, 6)\n",
|
||||
"Iter 3: max|dx|=8.116e+00, sigma0=0.4633976269114264\n",
|
||||
"Iter 3: max|dx|=4.593e+02, sigma0=0.76913776287138\n",
|
||||
"rank(Gi) = 6\n",
|
||||
"Gi shape = (236, 6)\n",
|
||||
"rank(S) = 4\n",
|
||||
"S shape = (6, 6)\n"
|
||||
"rank(S) = 3\n",
|
||||
"S shape = (6, 6)\n",
|
||||
"Iter 4: max|dx|=5.662e+02, sigma0=0.9636348058551226\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "LinAlgError",
|
||||
"evalue": "Singular matrix",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001B[31m---------------------------------------------------------------------------\u001B[39m",
|
||||
"\u001B[31mLinAlgError\u001B[39m Traceback (most recent call last)",
|
||||
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[155]\u001B[39m\u001B[32m, line 165\u001B[39m\n\u001B[32m 162\u001B[39m l0_np = np.asarray(l0(*werte), dtype=\u001B[38;5;28mfloat\u001B[39m).reshape(-\u001B[32m1\u001B[39m, \u001B[32m1\u001B[39m)\n\u001B[32m 163\u001B[39m dl_np = np.asarray(fm.berechnung_dl(l_numerisch_reduziert, l0_np, beobachtungen_reduziert), dtype=\u001B[38;5;28mfloat\u001B[39m).reshape(-\u001B[32m1\u001B[39m, \u001B[32m1\u001B[39m)\n\u001B[32m--> \u001B[39m\u001B[32m165\u001B[39m res_dict, dx = \u001B[43mParameterschaetzung\u001B[49m\u001B[43m.\u001B[49m\u001B[43mausgleichung_lokal_numpy\u001B[49m\u001B[43m(\u001B[49m\n\u001B[32m 166\u001B[39m \u001B[43m \u001B[49m\u001B[43mA\u001B[49m\u001B[43m=\u001B[49m\u001B[43mA_np\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 167\u001B[39m \u001B[43m \u001B[49m\u001B[43mdl\u001B[49m\u001B[43m=\u001B[49m\u001B[43mdl_np\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 168\u001B[39m \u001B[43m \u001B[49m\u001B[43mQ_ll\u001B[49m\u001B[43m=\u001B[49m\u001B[43mQll_I\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 169\u001B[39m \u001B[43m \u001B[49m\u001B[43mx0\u001B[49m\u001B[43m=\u001B[49m\u001B[43mx\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 170\u001B[39m \u001B[43m \u001B[49m\u001B[43mliste_punktnummern\u001B[49m\u001B[43m=\u001B[49m\u001B[43mliste_punktnummern\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 171\u001B[39m \u001B[43m \u001B[49m\u001B[43mauswahl\u001B[49m\u001B[43m=\u001B[49m\u001B[43mauswahl\u001B[49m\u001B[43m,\u001B[49m\n\u001B[32m 172\u001B[39m \u001B[43m \u001B[49m\u001B[43mmit_massstab\u001B[49m\u001B[43m=\u001B[49m\u001B[38;5;28;43;01mFalse\u001B[39;49;00m\n\u001B[32m 173\u001B[39m \u001B[43m\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 175\u001B[39m dx_np = np.asarray(dx, dtype=\u001B[38;5;28mfloat\u001B[39m).reshape(-\u001B[32m1\u001B[39m, \u001B[32m1\u001B[39m)\n\u001B[32m 176\u001B[39m x = x + dx_np\n",
|
||||
"\u001B[36mFile \u001B[39m\u001B[32m~\\PycharmProjects\\Masterprojekt_V3\\Parameterschaetzung.py:221\u001B[39m, in \u001B[36mausgleichung_lokal_numpy\u001B[39m\u001B[34m(A, dl, Q_ll, x0, liste_punktnummern, auswahl, mit_massstab)\u001B[39m\n\u001B[32m 219\u001B[39m \u001B[38;5;28mprint\u001B[39m(\u001B[33m\"\u001B[39m\u001B[33mrank(S) =\u001B[39m\u001B[33m\"\u001B[39m, np.linalg.matrix_rank(S))\n\u001B[32m 220\u001B[39m \u001B[38;5;28mprint\u001B[39m(\u001B[33m\"\u001B[39m\u001B[33mS shape =\u001B[39m\u001B[33m\"\u001B[39m, S.shape)\n\u001B[32m--> \u001B[39m\u001B[32m221\u001B[39m S_inv = \u001B[43mnp\u001B[49m\u001B[43m.\u001B[49m\u001B[43mlinalg\u001B[49m\u001B[43m.\u001B[49m\u001B[43minv\u001B[49m\u001B[43m(\u001B[49m\u001B[43mS\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 222\u001B[39m Q_xx = N_inv - N_inv_G @ S_inv @ N_inv_G.T\n\u001B[32m 224\u001B[39m \u001B[38;5;66;03m# 7) Q_lhat_lhat, Q_vv\u001B[39;00m\n",
|
||||
"\u001B[36mFile \u001B[39m\u001B[32m~\\AppData\\Local\\Programs\\Python\\Python314\\Lib\\site-packages\\numpy\\linalg\\_linalg.py:669\u001B[39m, in \u001B[36minv\u001B[39m\u001B[34m(a)\u001B[39m\n\u001B[32m 666\u001B[39m signature = \u001B[33m'\u001B[39m\u001B[33mD->D\u001B[39m\u001B[33m'\u001B[39m \u001B[38;5;28;01mif\u001B[39;00m isComplexType(t) \u001B[38;5;28;01melse\u001B[39;00m \u001B[33m'\u001B[39m\u001B[33md->d\u001B[39m\u001B[33m'\u001B[39m\n\u001B[32m 667\u001B[39m \u001B[38;5;28;01mwith\u001B[39;00m errstate(call=_raise_linalgerror_singular, invalid=\u001B[33m'\u001B[39m\u001B[33mcall\u001B[39m\u001B[33m'\u001B[39m,\n\u001B[32m 668\u001B[39m over=\u001B[33m'\u001B[39m\u001B[33mignore\u001B[39m\u001B[33m'\u001B[39m, divide=\u001B[33m'\u001B[39m\u001B[33mignore\u001B[39m\u001B[33m'\u001B[39m, under=\u001B[33m'\u001B[39m\u001B[33mignore\u001B[39m\u001B[33m'\u001B[39m):\n\u001B[32m--> \u001B[39m\u001B[32m669\u001B[39m ainv = \u001B[43m_umath_linalg\u001B[49m\u001B[43m.\u001B[49m\u001B[43minv\u001B[49m\u001B[43m(\u001B[49m\u001B[43ma\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43msignature\u001B[49m\u001B[43m=\u001B[49m\u001B[43msignature\u001B[49m\u001B[43m)\u001B[49m\n\u001B[32m 670\u001B[39m \u001B[38;5;28;01mreturn\u001B[39;00m wrap(ainv.astype(result_t, copy=\u001B[38;5;28;01mFalse\u001B[39;00m))\n",
|
||||
"\u001B[36mFile \u001B[39m\u001B[32m~\\AppData\\Local\\Programs\\Python\\Python314\\Lib\\site-packages\\numpy\\linalg\\_linalg.py:163\u001B[39m, in \u001B[36m_raise_linalgerror_singular\u001B[39m\u001B[34m(err, flag)\u001B[39m\n\u001B[32m 162\u001B[39m \u001B[38;5;28;01mdef\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34m_raise_linalgerror_singular\u001B[39m(err, flag):\n\u001B[32m--> \u001B[39m\u001B[32m163\u001B[39m \u001B[38;5;28;01mraise\u001B[39;00m LinAlgError(\u001B[33m\"\u001B[39m\u001B[33mSingular matrix\u001B[39m\u001B[33m\"\u001B[39m)\n",
|
||||
"\u001B[31mLinAlgError\u001B[39m: Singular matrix"
|
||||
]
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"array([[ 3.79477450e+06],\n",
|
||||
" [ 5.46691953e+05],\n",
|
||||
" [ 5.08014812e+06],\n",
|
||||
" [ 3.79472486e+06],\n",
|
||||
" [ 5.46727987e+05],\n",
|
||||
" [ 5.08017306e+06],\n",
|
||||
" [ 3.79485249e+06],\n",
|
||||
" [ 5.46669640e+05],\n",
|
||||
" [ 5.08015281e+06],\n",
|
||||
" [ 3.79487665e+06],\n",
|
||||
" [ 5.46720851e+05],\n",
|
||||
" [ 5.08014498e+06],\n",
|
||||
" [ 3.79478013e+06],\n",
|
||||
" [ 5.46725703e+05],\n",
|
||||
" [ 5.08011986e+06],\n",
|
||||
" [ 3.79477133e+06],\n",
|
||||
" [ 5.46756388e+05],\n",
|
||||
" [ 5.08017930e+06],\n",
|
||||
" [ 3.79481980e+06],\n",
|
||||
" [ 5.46774891e+05],\n",
|
||||
" [ 5.08014589e+06],\n",
|
||||
" [ 3.79476061e+06],\n",
|
||||
" [ 5.46753904e+05],\n",
|
||||
" [ 5.08015165e+06],\n",
|
||||
" [ 3.79482554e+06],\n",
|
||||
" [ 5.46800094e+05],\n",
|
||||
" [ 5.08014095e+06],\n",
|
||||
" [ 3.79482358e+06],\n",
|
||||
" [ 5.46814168e+05],\n",
|
||||
" [ 5.08004854e+06],\n",
|
||||
" [ 3.79483052e+06],\n",
|
||||
" [ 5.46768610e+05],\n",
|
||||
" [ 5.08010754e+06],\n",
|
||||
" [ 3.79482793e+06],\n",
|
||||
" [ 5.46822653e+05],\n",
|
||||
" [ 5.08011514e+06],\n",
|
||||
" [ 3.79467324e+06],\n",
|
||||
" [ 5.46826900e+05],\n",
|
||||
" [ 5.08005969e+06],\n",
|
||||
" [ 3.79490821e+06],\n",
|
||||
" [ 5.46802954e+05],\n",
|
||||
" [ 5.08020440e+06],\n",
|
||||
" [ 3.79496553e+06],\n",
|
||||
" [ 5.46891951e+05],\n",
|
||||
" [ 5.08017120e+06],\n",
|
||||
" [ 3.79499647e+06],\n",
|
||||
" [ 5.46993000e+05],\n",
|
||||
" [ 5.08017231e+06],\n",
|
||||
" [ 3.79498413e+06],\n",
|
||||
" [ 5.47078352e+05],\n",
|
||||
" [ 5.08013231e+06],\n",
|
||||
" [ 3.79484933e+06],\n",
|
||||
" [ 5.46828550e+05],\n",
|
||||
" [ 5.08011829e+06],\n",
|
||||
" [ 3.79484044e+06],\n",
|
||||
" [ 5.46837427e+05],\n",
|
||||
" [ 5.08011383e+06],\n",
|
||||
" [ 3.79487107e+06],\n",
|
||||
" [ 5.46857706e+05],\n",
|
||||
" [ 5.08014250e+06],\n",
|
||||
" [ 3.79487390e+06],\n",
|
||||
" [ 5.46886724e+05],\n",
|
||||
" [ 5.08014949e+06],\n",
|
||||
" [ 3.79485165e+06],\n",
|
||||
" [ 5.46843624e+05],\n",
|
||||
" [ 5.08012560e+06],\n",
|
||||
" [ 3.79485204e+06],\n",
|
||||
" [ 5.46856310e+05],\n",
|
||||
" [ 5.08013078e+06],\n",
|
||||
" [ 3.79479481e+06],\n",
|
||||
" [ 5.46830952e+05],\n",
|
||||
" [ 5.08007093e+06],\n",
|
||||
" [ 3.79484303e+06],\n",
|
||||
" [ 5.46903172e+05],\n",
|
||||
" [ 5.08008520e+06],\n",
|
||||
" [ 3.79481752e+06],\n",
|
||||
" [ 5.46865227e+05],\n",
|
||||
" [ 5.08008656e+06],\n",
|
||||
" [ 3.79503999e+06],\n",
|
||||
" [ 5.47103505e+05],\n",
|
||||
" [ 5.08013538e+06],\n",
|
||||
" [ 3.79496892e+06],\n",
|
||||
" [ 5.47033432e+05],\n",
|
||||
" [ 5.08013256e+06],\n",
|
||||
" [ 3.79504895e+06],\n",
|
||||
" [ 5.47252038e+05],\n",
|
||||
" [ 5.08014925e+06],\n",
|
||||
" [ 3.79486645e+06],\n",
|
||||
" [ 5.47084066e+05],\n",
|
||||
" [ 5.08004794e+06],\n",
|
||||
" [ 3.79493225e+06],\n",
|
||||
" [ 5.47080102e+05],\n",
|
||||
" [ 5.08011984e+06],\n",
|
||||
" [ 3.79492828e+06],\n",
|
||||
" [ 5.47020648e+05],\n",
|
||||
" [ 5.08011158e+06],\n",
|
||||
" [ 3.79482531e+06],\n",
|
||||
" [ 5.47001161e+05],\n",
|
||||
" [ 5.08005379e+06],\n",
|
||||
" [ 3.79499520e+06],\n",
|
||||
" [ 5.47149383e+05],\n",
|
||||
" [ 5.08012759e+06],\n",
|
||||
" [ 3.79483304e+06],\n",
|
||||
" [ 5.47104032e+05],\n",
|
||||
" [ 5.08002106e+06],\n",
|
||||
" [ 3.79475152e+06],\n",
|
||||
" [ 5.47080118e+05],\n",
|
||||
" [ 5.07991809e+06],\n",
|
||||
" [ 3.79483964e+06],\n",
|
||||
" [ 5.47015073e+05],\n",
|
||||
" [ 5.08007390e+06],\n",
|
||||
" [ 3.79516182e+06],\n",
|
||||
" [ 5.47435045e+05],\n",
|
||||
" [ 5.08021660e+06],\n",
|
||||
" [ 3.79500337e+06],\n",
|
||||
" [ 5.47245632e+05],\n",
|
||||
" [ 5.08012354e+06],\n",
|
||||
" [ 3.79476965e+06],\n",
|
||||
" [ 5.46844316e+05],\n",
|
||||
" [ 5.08008226e+06],\n",
|
||||
" [ 3.79467794e+06],\n",
|
||||
" [ 5.47005327e+05],\n",
|
||||
" [ 5.07994309e+06],\n",
|
||||
" [ 3.79477701e+06],\n",
|
||||
" [ 5.46824062e+05],\n",
|
||||
" [ 5.08009490e+06],\n",
|
||||
" [ 3.79480132e+06],\n",
|
||||
" [ 5.46839326e+05],\n",
|
||||
" [ 5.08009696e+06],\n",
|
||||
" [ 3.79479860e+06],\n",
|
||||
" [ 5.46904100e+05],\n",
|
||||
" [ 5.08004933e+06],\n",
|
||||
" [ 3.79480628e+06],\n",
|
||||
" [ 5.46819002e+05],\n",
|
||||
" [ 5.08010950e+06],\n",
|
||||
" [ 3.79483340e+06],\n",
|
||||
" [ 5.46937002e+05],\n",
|
||||
" [ 5.08007066e+06],\n",
|
||||
" [ 3.79476903e+06],\n",
|
||||
" [ 5.47009706e+05],\n",
|
||||
" [ 5.07994352e+06],\n",
|
||||
" [ 3.79475696e+06],\n",
|
||||
" [ 5.47022601e+05],\n",
|
||||
" [ 5.07993613e+06],\n",
|
||||
" [ 3.79461060e+06],\n",
|
||||
" [ 5.47031562e+05],\n",
|
||||
" [ 5.07983108e+06],\n",
|
||||
" [ 3.79428282e+06],\n",
|
||||
" [ 5.47201119e+05],\n",
|
||||
" [ 5.07979205e+06],\n",
|
||||
" [ 3.79490488e+06],\n",
|
||||
" [ 5.47273756e+05],\n",
|
||||
" [ 5.08007969e+06],\n",
|
||||
" [ 3.79439934e+06],\n",
|
||||
" [ 5.47212214e+05],\n",
|
||||
" [ 5.07994328e+06],\n",
|
||||
" [ 3.79431711e+06],\n",
|
||||
" [ 5.47181840e+05],\n",
|
||||
" [ 5.07989960e+06],\n",
|
||||
" [ 3.79473022e+06],\n",
|
||||
" [ 5.47260341e+05],\n",
|
||||
" [ 5.08002980e+06],\n",
|
||||
" [ 3.79463749e+06],\n",
|
||||
" [ 5.47310689e+05],\n",
|
||||
" [ 5.07998866e+06],\n",
|
||||
" [ 3.79442545e+06],\n",
|
||||
" [ 5.47265550e+05],\n",
|
||||
" [ 5.07986736e+06],\n",
|
||||
" [ 3.79411791e+06],\n",
|
||||
" [ 5.47219095e+05],\n",
|
||||
" [ 5.07974028e+06],\n",
|
||||
" [ 3.79505205e+06],\n",
|
||||
" [ 5.47429911e+05],\n",
|
||||
" [ 5.08009792e+06],\n",
|
||||
" [ 3.79454198e+06],\n",
|
||||
" [ 5.47323755e+05],\n",
|
||||
" [ 5.07988777e+06],\n",
|
||||
" [ 4.54933117e-02],\n",
|
||||
" [ 3.68472759e-02],\n",
|
||||
" [-2.39174372e-02],\n",
|
||||
" [-7.46871973e-01],\n",
|
||||
" [-1.87344125e+00],\n",
|
||||
" [ 7.14293432e-01],\n",
|
||||
" [-1.16218140e+00],\n",
|
||||
" [-7.76760862e-02],\n",
|
||||
" [-3.54574961e-01],\n",
|
||||
" [ 3.72328440e-02],\n",
|
||||
" [-1.10107071e+00],\n",
|
||||
" [-1.21517340e+00],\n",
|
||||
" [-1.02344977e+00],\n",
|
||||
" [-1.26272398e+00],\n",
|
||||
" [ 2.87489208e-01],\n",
|
||||
" [-4.29677520e-01],\n",
|
||||
" [-1.84597441e-01],\n",
|
||||
" [-1.75685061e+00],\n",
|
||||
" [-2.53991995e-01],\n",
|
||||
" [-2.52240394e-01],\n",
|
||||
" [ 1.85283907e-01],\n",
|
||||
" [ 7.60124886e-01],\n",
|
||||
" [-1.01781424e+00],\n",
|
||||
" [-5.82193313e-01],\n",
|
||||
" [-1.33133483e+00],\n",
|
||||
" [-8.57886778e-01],\n",
|
||||
" [-1.69859274e+00],\n",
|
||||
" [ 5.55745058e-01],\n",
|
||||
" [ 4.72719233e-01],\n",
|
||||
" [-6.72286716e-02],\n",
|
||||
" [ 2.91206376e-01],\n",
|
||||
" [ 7.66871638e-02],\n",
|
||||
" [ 5.60837412e-01],\n",
|
||||
" [-2.61829569e-01],\n",
|
||||
" [ 1.59853188e+00],\n",
|
||||
" [-6.06636722e-01],\n",
|
||||
" [ 1.04842467e+00],\n",
|
||||
" [ 1.71242169e-01],\n",
|
||||
" [ 1.23597571e-01],\n",
|
||||
" [-1.16376658e-01],\n",
|
||||
" [-4.66644280e-01],\n",
|
||||
" [ 1.62231766e-01],\n",
|
||||
" [ 1.06881355e+00],\n",
|
||||
" [ 8.52215516e-01],\n",
|
||||
" [-3.26873856e-01],\n",
|
||||
" [ 2.54737552e-01],\n",
|
||||
" [-4.32746569e-01],\n",
|
||||
" [-5.39637645e-01],\n",
|
||||
" [-1.29901171e+00],\n",
|
||||
" [-5.45973503e-01],\n",
|
||||
" [-6.25878582e-01],\n",
|
||||
" [-7.05309710e-01],\n",
|
||||
" [-6.16455790e-02],\n",
|
||||
" [-2.47957626e-01],\n",
|
||||
" [ 1.12436501e+00],\n",
|
||||
" [ 8.36458462e-02],\n",
|
||||
" [ 3.43891397e-01],\n",
|
||||
" [ 4.41895088e-01],\n",
|
||||
" [ 7.59722346e-01]])"
|
||||
]
|
||||
},
|
||||
"execution_count": 29,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"execution_count": 155
|
||||
"execution_count": 29
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:38:06.667142700Z",
|
||||
"start_time": "2026-01-06T15:22:54.325590Z"
|
||||
"end_time": "2026-01-07T17:06:57.985682Z",
|
||||
"start_time": "2026-01-07T17:06:57.106092Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1568,25 +1787,21 @@
|
||||
"id": "7de561d7eaebb1c2",
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "AttributeError",
|
||||
"evalue": "type object 'Genauigkeitsmaße' has no attribute 'berechne_s0apost'",
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'v' is not defined",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001B[31m---------------------------------------------------------------------------\u001B[39m",
|
||||
"\u001B[31mAttributeError\u001B[39m Traceback (most recent call last)",
|
||||
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[157]\u001B[39m\u001B[32m, line 5\u001B[39m\n\u001B[32m 2\u001B[39m \u001B[38;5;28;01mfrom\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mNetzqualität_Genauigkeit\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mimport\u001B[39;00m Genauigkeitsmaße\n\u001B[32m 4\u001B[39m \u001B[38;5;66;03m# s0 aposteriori\u001B[39;00m\n\u001B[32m----> \u001B[39m\u001B[32m5\u001B[39m s0_aposteriori = \u001B[43mGenauigkeitsmaße\u001B[49m\u001B[43m.\u001B[49m\u001B[43mberechne_s0apost\u001B[49m(v, P, r)\n\u001B[32m 6\u001B[39m \u001B[38;5;28mprint\u001B[39m(\u001B[33mf\u001B[39m\u001B[33m\"\u001B[39m\u001B[33ms0 aposteriori: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00ms0_aposteriori\u001B[38;5;132;01m:\u001B[39;00m\u001B[33m.4f\u001B[39m\u001B[38;5;132;01m}\u001B[39;00m\u001B[33m\"\u001B[39m)\n\u001B[32m 8\u001B[39m \u001B[38;5;66;03m# Helmert'scher Punktfehler (3D)\u001B[39;00m\n\u001B[32m 9\u001B[39m \n\u001B[32m 10\u001B[39m \n\u001B[32m (...)\u001B[39m\u001B[32m 13\u001B[39m \n\u001B[32m 14\u001B[39m \u001B[38;5;66;03m# Konfidenzellipse\u001B[39;00m\n",
|
||||
"\u001B[31mAttributeError\u001B[39m: type object 'Genauigkeitsmaße' has no attribute 'berechne_s0apost'"
|
||||
"\u001B[31mNameError\u001B[39m Traceback (most recent call last)",
|
||||
"\u001B[36mCell\u001B[39m\u001B[36m \u001B[39m\u001B[32mIn[30]\u001B[39m\u001B[32m, line 5\u001B[39m\n\u001B[32m 2\u001B[39m \u001B[38;5;28;01mfrom\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[34;01mNetzqualität_Genauigkeit\u001B[39;00m\u001B[38;5;250m \u001B[39m\u001B[38;5;28;01mimport\u001B[39;00m Genauigkeitsmaße\n\u001B[32m 4\u001B[39m \u001B[38;5;66;03m# s0 aposteriori\u001B[39;00m\n\u001B[32m----> \u001B[39m\u001B[32m5\u001B[39m s0_aposteriori = Genauigkeitsmaße.berechne_s0apost(\u001B[43mv\u001B[49m, P, r)\n\u001B[32m 6\u001B[39m \u001B[38;5;28mprint\u001B[39m(\u001B[33mf\u001B[39m\u001B[33m\"\u001B[39m\u001B[33ms0 aposteriori: \u001B[39m\u001B[38;5;132;01m{\u001B[39;00ms0_aposteriori\u001B[38;5;132;01m:\u001B[39;00m\u001B[33m.4f\u001B[39m\u001B[38;5;132;01m}\u001B[39;00m\u001B[33m\"\u001B[39m)\n\u001B[32m 8\u001B[39m \u001B[38;5;66;03m# Helmert'scher Punktfehler (3D)\u001B[39;00m\n",
|
||||
"\u001B[31mNameError\u001B[39m: name 'v' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 157
|
||||
"execution_count": 30
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"jupyter": {
|
||||
"is_executing": true
|
||||
}
|
||||
},
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"# Netzqualität: Zuverlässigkeitsmaße\n",
|
||||
@@ -1611,12 +1826,7 @@
|
||||
"execution_count": null
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-01-07T12:38:06.671731900Z",
|
||||
"start_time": "2026-01-06T17:19:32.878104Z"
|
||||
}
|
||||
},
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"# Erzeugung eines Protokolls der hybriden Netzausgleichung\n",
|
||||
@@ -1631,7 +1841,7 @@
|
||||
],
|
||||
"id": "efef62555453950e",
|
||||
"outputs": [],
|
||||
"execution_count": 160
|
||||
"execution_count": null
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
||||
@@ -110,6 +110,11 @@ class FunktionalesModell:
|
||||
zw = sp.symbols(f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
s = sp.symbols(f"{beobachtungenID}_SD_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
|
||||
azimut_berechnet = sp.symbols(f"azimut_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
zw_berechnet = sp.symbols(f"zw_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
s_berechnet = sp.symbols(f"strecke_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
|
||||
|
||||
if beobachtungsart == "tachymeter_distanz":
|
||||
beobachtungsgleichung = sp.sqrt((X_zp - X_sp) ** 2 + (Y_zp - Y_sp) ** 2 + (Z_zp - Z_sp) ** 2)
|
||||
liste_beobachtungsgleichungen_distanz.append(beobachtungsgleichung)
|
||||
@@ -120,133 +125,64 @@ class FunktionalesModell:
|
||||
|
||||
elif beobachtungsart == "tachymeter_richtung":
|
||||
|
||||
# Richtung nach Otepka: r = a12 + O
|
||||
|
||||
# dB und dL werden bewusst weggelassen
|
||||
|
||||
dX = X_zp - X_sp
|
||||
|
||||
dY = Y_zp - Y_sp
|
||||
|
||||
dZ = Z_zp - Z_sp
|
||||
|
||||
# Lokales System: x_loc = Nord, y_loc = Ost
|
||||
|
||||
x_loc = (-sp.sin(B_sp) * sp.cos(L_sp)) * dX + (-sp.sin(B_sp) * sp.sin(L_sp)) * dY + (sp.cos(B_sp)) * dZ
|
||||
|
||||
y_loc = (-sp.sin(L_sp)) * dX + (sp.cos(L_sp)) * dY
|
||||
|
||||
# Otepka-Nenner: s12 * sin(zw12) = sqrt(x_loc^2 + y_loc^2)
|
||||
|
||||
s_horiz = sp.sqrt(x_loc ** 2 + y_loc ** 2)
|
||||
|
||||
# sin(t12), cos(t12) im Horizontsystem (t12 = Azimut, rechtsdrehend, Bezug Nord)
|
||||
|
||||
sin_t = y_loc / s_horiz
|
||||
|
||||
cos_t = x_loc / s_horiz
|
||||
|
||||
# Partielle Ableitungen nach Otepka (15) ohne dB und dL
|
||||
|
||||
d_r_dX_zp = (sp.sin(B_sp) * sp.cos(L_sp) * sin_t - sp.sin(L_sp) * cos_t) / s_horiz
|
||||
|
||||
d_r_dY_zp = (sp.sin(B_sp) * sp.sin(L_sp) * sin_t + sp.cos(L_sp) * cos_t) / s_horiz
|
||||
|
||||
d_r_dZ_zp = (-sp.cos(B_sp) * sin_t) / s_horiz
|
||||
|
||||
# Standpunkt-Ableitungen (SP) = negatives Vorzeichen
|
||||
|
||||
d_r_dX_sp, d_r_dY_sp, d_r_dZ_sp = -d_r_dX_zp, -d_r_dY_zp, -d_r_dZ_zp
|
||||
|
||||
# Orientierung: r = a + O => ∂r/∂O = -1
|
||||
|
||||
# for beobachtungenID, beobachtungsgruppeID, standpunkt, zielpunkt in liste_id_standpunkt_zielpunkt:
|
||||
d_r_dX_zp = (
|
||||
(sp.sin(B_sp) * sp.cos(L_sp) * sp.sin(azimut_berechnet) - sp.sin(L_sp) * sp.cos(azimut_berechnet)) / (
|
||||
s_berechnet * sp.sin(zw_berechnet)))
|
||||
d_r_dX_sp = - d_r_dX_zp
|
||||
d_r_dY_zp = (
|
||||
(sp.sin(B_sp) * sp.sin(L_sp) * sp.sin(azimut_berechnet) + sp.cos(L_sp) * sp.cos(azimut_berechnet)) / (
|
||||
s_berechnet * sp.sin(zw_berechnet)))
|
||||
d_r_dY_sp = - d_r_dY_zp
|
||||
d_r_dZ_zp = ((-sp.cos(B_sp) * sp.sin(azimut_berechnet) / (s_berechnet * sp.sin(zw_berechnet))))
|
||||
d_r_dZ_sp = - d_r_dZ_zp
|
||||
d_r_dO_sp = -1
|
||||
|
||||
zeile_A_Matrix = []
|
||||
|
||||
for punkt in liste_punktnummern:
|
||||
|
||||
if punkt == standpunkt:
|
||||
|
||||
zeile_A_Matrix.extend([d_r_dX_sp, d_r_dY_sp, d_r_dZ_sp])
|
||||
|
||||
elif punkt == zielpunkt:
|
||||
|
||||
zeile_A_Matrix.extend([d_r_dX_zp, d_r_dY_zp, d_r_dZ_zp])
|
||||
|
||||
else:
|
||||
|
||||
zeile_A_Matrix.extend([0, 0, 0])
|
||||
|
||||
for orientierung in liste_orientierungsunbekannte:
|
||||
zeile_A_Matrix.append(d_r_dO_sp if orientierung == beobachtungsgruppeID else 0)
|
||||
if orientierung == beobachtungsgruppeID:
|
||||
zeile_A_Matrix.append(d_r_dO_sp)
|
||||
else:
|
||||
zeile_A_Matrix.append(0)
|
||||
|
||||
liste_A_richtung_zeilen.append(zeile_A_Matrix)
|
||||
|
||||
liste_zeilenbeschriftungen_richtung.append(
|
||||
|
||||
f"{beobachtungenID}_R_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}"
|
||||
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
elif beobachtungsart == "tachymeter_zenitwinkel":
|
||||
|
||||
# Zenitwinkel nach Otepka (16), dB und dL bewusst weggelassen
|
||||
|
||||
dX = X_zp - X_sp
|
||||
|
||||
dY = Y_zp - Y_sp
|
||||
|
||||
dZ = Z_zp - Z_sp
|
||||
|
||||
s_geom = sp.sqrt(dX ** 2 + dY ** 2 + dZ ** 2)
|
||||
|
||||
z_loc = (sp.cos(B_sp) * sp.cos(L_sp)) * dX + (sp.cos(B_sp) * sp.sin(L_sp)) * dY + (sp.sin(B_sp)) * dZ
|
||||
|
||||
cos_zw = z_loc / s_geom
|
||||
|
||||
sin_zw = sp.sqrt(1 - cos_zw ** 2)
|
||||
|
||||
denom = (s_geom ** 2) * sin_zw
|
||||
|
||||
d_zw_dX_zp = (dX * cos_zw - s_geom * sp.cos(B_sp) * sp.cos(L_sp)) / denom
|
||||
|
||||
d_zw_dY_zp = (dY * cos_zw - s_geom * sp.cos(B_sp) * sp.sin(L_sp)) / denom
|
||||
|
||||
d_zw_dZ_zp = (dZ * cos_zw - s_geom * sp.sin(B_sp)) / denom
|
||||
|
||||
d_zw_dX_sp, d_zw_dY_sp, d_zw_dZ_sp = -d_zw_dX_zp, -d_zw_dY_zp, -d_zw_dZ_zp
|
||||
d_r_dX_zp = ((X_zp - X_sp) * sp.cos(zw_berechnet) - s_berechnet * sp.cos(B_sp) * sp.cos(L_sp)) / (s_berechnet ** 2 * sp.sin(zw_berechnet))
|
||||
d_r_dX_sp = - d_r_dX_zp
|
||||
d_r_dY_zp = ((Y_zp - Y_sp) * sp.cos(zw_berechnet) - s_berechnet * sp.cos(B_sp) * sp.sin(L_sp)) / (s_berechnet ** 2 * sp.sin(zw_berechnet))
|
||||
d_r_dY_sp = - d_r_dY_zp
|
||||
d_r_dZ_zp = ((Z_zp - Z_sp) * sp.cos(zw_berechnet) - s_berechnet * sp.sin(B_sp)) / (s_berechnet ** 2 * sp.sin(zw_berechnet))
|
||||
d_r_dZ_sp = - d_r_dZ_zp
|
||||
|
||||
zeile_A_Matrix = []
|
||||
|
||||
for punkt in liste_punktnummern:
|
||||
|
||||
if punkt == standpunkt:
|
||||
|
||||
zeile_A_Matrix.extend([d_zw_dX_sp, d_zw_dY_sp, d_zw_dZ_sp])
|
||||
|
||||
zeile_A_Matrix.extend([d_r_dX_sp, d_r_dY_sp, d_r_dZ_sp])
|
||||
elif punkt == zielpunkt:
|
||||
|
||||
zeile_A_Matrix.extend([d_zw_dX_zp, d_zw_dY_zp, d_zw_dZ_zp])
|
||||
|
||||
zeile_A_Matrix.extend([d_r_dX_zp, d_r_dY_zp, d_r_dZ_zp])
|
||||
else:
|
||||
|
||||
zeile_A_Matrix.extend([0, 0, 0])
|
||||
|
||||
# Zenitwinkel hat keine Orientierungsunbekannte
|
||||
|
||||
for orientierung in liste_orientierungsunbekannte:
|
||||
zeile_A_Matrix.append(0)
|
||||
|
||||
liste_A_zenitwinkel_zeilen.append(zeile_A_Matrix)
|
||||
|
||||
liste_zeilenbeschriftungen_zenitwinkel.append(
|
||||
|
||||
liste_zeilenbeschriftungen_richtung.append(
|
||||
f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}"
|
||||
|
||||
)
|
||||
|
||||
if liste_beobachtungen_rohdaten_gnssbasislinien != []:
|
||||
@@ -466,7 +402,7 @@ class FunktionalesModell:
|
||||
elif beobachtungsart == "R":
|
||||
|
||||
#O_sp = sp.Symbol(f"O_{beobachtungsgruppeID}")
|
||||
r_sp_zp = sp.Symbol(f"richtung_berechnet_{standpunkt}_{zielpunkt}")
|
||||
r_sp_zp = sp.Symbol(f"richtung_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
|
||||
# Lokales System: x_loc = Nord, y_loc = Ost
|
||||
#x_loc = (-sp.sin(B_sp) * sp.cos(L_sp)) * dX + (-sp.sin(B_sp) * sp.sin(L_sp)) * dY + (sp.cos(B_sp)) * dZ
|
||||
@@ -492,7 +428,7 @@ class FunktionalesModell:
|
||||
|
||||
#zw = sp.acos(z_loc / s_geom)
|
||||
|
||||
zw_sp_zp = sp.Symbol(f"zw_berechnet_{standpunkt}_{zielpunkt}")
|
||||
zw_sp_zp = sp.Symbol(f"zw_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
|
||||
liste_beobachtungsgleichungen.append(zw_sp_zp)
|
||||
|
||||
@@ -653,27 +589,33 @@ class FunktionalesModell:
|
||||
# O_sym = sp.symbols(f"O_{beobachtungsgruppeID}")
|
||||
# substitutionen[O_sym] = float(orientierung)
|
||||
|
||||
for standpunkt, zielpunkt, azimut, richtung, zenitwinkel in liste_azimut_richtungen:
|
||||
richtung_sym = sp.symbols(f"richtung_berechnet_{standpunkt}_{zielpunkt}")
|
||||
for beobachtungsgruppeID, standpunkt, zielpunkt, azimut, richtung, zenitwinkel, schraegstrecke in liste_azimut_richtungen:
|
||||
richtung_sym = sp.symbols(f"richtung_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
substitutionen[richtung_sym] = float(richtung)
|
||||
|
||||
zenitwinkel_sym = sp.symbols(f"zw_berechnet_{standpunkt}_{zielpunkt}")
|
||||
azimut_sym = sp.symbols(f"azimut_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
substitutionen[azimut_sym] = float(azimut)
|
||||
|
||||
zenitwinkel_sym = sp.symbols(f"zw_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
substitutionen[zenitwinkel_sym] = float(zenitwinkel)
|
||||
|
||||
schraegstrecke_sym = sp.symbols(f"strecke_berechnet_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
substitutionen[schraegstrecke_sym] = float(schraegstrecke)
|
||||
|
||||
|
||||
#for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz in liste_beobachtungen_tachymeter:
|
||||
#alpha = sp.symbols(f"{beobachtungenID}_R_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
#zw = sp.symbols(f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
#s = sp.symbols(f"{beobachtungenID}_SD_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
|
||||
#if tachymeter_richtung is None and tachymeter_zenitwinkel is None and tachymeter_distanz is None:
|
||||
# continue
|
||||
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz in liste_beobachtungen_tachymeter:
|
||||
alpha = sp.symbols(f"{beobachtungenID}_R_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
zw = sp.symbols(f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
s = sp.symbols(f"{beobachtungenID}_SD_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||
|
||||
#substitutionen[alpha] = float(tachymeter_richtung)
|
||||
#substitutionen[zw] = float(tachymeter_zenitwinkel)
|
||||
#substitutionen[s] = float(tachymeter_distanz)
|
||||
#substitutionen[sp.Symbol(f"O{beobachtungsgruppeID}")] = 0.0
|
||||
if tachymeter_richtung is None and tachymeter_zenitwinkel is None and tachymeter_distanz is None:
|
||||
continue
|
||||
|
||||
substitutionen[alpha] = float(tachymeter_richtung)
|
||||
substitutionen[zw] = float(tachymeter_zenitwinkel)
|
||||
substitutionen[s] = float(tachymeter_distanz)
|
||||
substitutionen[sp.Symbol(f"O{beobachtungsgruppeID}")] = 0.0
|
||||
|
||||
for beobachtungenID, punktnummer_sp, punktnummer_zp, gnss_bx, gnss_by, gnss_bz, gnss_s0, gnss_cxx, gnss_cxy, gnss_cxz, gnss_cyy, gnss_cyz, gnss_czz in liste_beobachtungen_gnssbasislinien:
|
||||
beobachtungenID = str(beobachtungenID).strip()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user