From 28059effaab09abe578cf6532e0b9d04a4334039 Mon Sep 17 00:00:00 2001 From: fabia Date: Sun, 26 Oct 2025 16:12:31 +0100 Subject: [PATCH] Datenimport Tachymeter --- main.ipynb | 140 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 124 insertions(+), 16 deletions(-) diff --git a/main.ipynb b/main.ipynb index a3010f9..7ffb226 100644 --- a/main.ipynb +++ b/main.ipynb @@ -3,13 +3,16 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-26T12:17:19.549712Z", - "start_time": "2025-10-26T12:17:19.534369Z" + "end_time": "2025-10-26T15:08:25.802323Z", + "start_time": "2025-10-26T15:08:25.795953Z" } }, "cell_type": "code", "source": [ "import csv\n", + "\n", + "from prompt_toolkit.utils import to_float\n", + "\n", "import Datenbank" ], "id": "9317c939b4662e39", @@ -19,8 +22,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-26T12:17:19.567415Z", - "start_time": "2025-10-26T12:17:19.564007Z" + "end_time": "2025-10-26T15:08:25.856458Z", + "start_time": "2025-10-26T15:08:25.808051Z" } }, "cell_type": "code", @@ -35,8 +38,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-26T12:17:19.617874Z", - "start_time": "2025-10-26T12:17:19.576417Z" + "end_time": "2025-10-26T15:08:25.874337Z", + "start_time": "2025-10-26T15:08:25.860881Z" } }, "cell_type": "code", @@ -49,7 +52,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -63,8 +66,8 @@ "metadata": { "collapsed": true, "ExecuteTime": { - "end_time": "2025-10-26T12:17:19.628428Z", - "start_time": "2025-10-26T12:17:19.624544Z" + "end_time": "2025-10-26T15:08:25.883768Z", + "start_time": "2025-10-26T15:08:25.880539Z" } }, "cell_type": "code", @@ -76,8 +79,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-26T12:17:19.667965Z", - "start_time": "2025-10-26T12:17:19.643629Z" + "end_time": "2025-10-26T15:08:25.925023Z", + "start_time": "2025-10-26T15:08:25.899061Z" } }, "cell_type": "code", @@ -88,6 +91,8 @@ "liste_netzpunkte_neu = []\n", "liste_netzpunkte_vorhanden = []\n", "liste_zeilennummern_Orientierung = []\n", + "liste_standpunkte = []\n", + "liste_beobachtungen = []\n", "\n", "with open (pfad, newline='', encoding='utf-8') as csvfile:\n", " r = csv.reader(csvfile, delimiter=';')\n", @@ -101,6 +106,7 @@ " liste_netzpunkte.append(row[0].strip())\n", " else:\n", " liste_zeilennummern_Orientierung.append(zeilennummer-1)\n", + " liste_standpunkte.append(zeilennummer-1)\n", " liste_zeilennummern_Orientierung.append(zeilennummer)\n", " #print(row)\n", "\n", @@ -129,13 +135,64 @@ " else:\n", " cursor.execute(\"INSERT INTO Standpunkte_Tachymeter (punktnummer, orientierunghz, orientierungv) VALUES (?, ?, ?)\", (punktnummer, row[1], row[2]))\n", "\n", + "with open (pfad, newline='', encoding='utf-8') as csvfile:\n", + " r = csv.reader(csvfile, delimiter=';')\n", + " rows = list(r)\n", + "\n", + " for index, row in enumerate(liste_standpunkte):\n", + " zeile_punktnummer = row - 1\n", + " punktnummer = rows[zeile_punktnummer][0].strip()\n", + " zeile_eins = zeile_punktnummer + 2\n", + " if index + 1 < len(liste_standpunkte):\n", + " zeile_zwei = liste_standpunkte[index + 1]\n", + " else:\n", + " zeile_zwei = len(rows)+1\n", + "\n", + " for i in range (zeile_eins, zeile_zwei-1):\n", + " liste_beobachtungen.append([punktnummer] + rows[i])\n", + "\n", + "while len(liste_beobachtungen) > 0:\n", + " standpunkt1 = liste_beobachtungen[0][0]\n", + " zielpunkt1 = liste_beobachtungen[0][1]\n", + " horizonalwinkel1 = to_float(liste_beobachtungen[0][2].replace(',', '.'))\n", + " vertikalwinkel1 = liste_beobachtungen[0][3].replace(',', '.')\n", + " distanz1 = liste_beobachtungen[0][4].replace(',', '.')\n", + " liste_beobachtungen.pop(0)\n", + "\n", + " index_beobachtung2 = None\n", + " for index in range(len(liste_beobachtungen)):\n", + " beobachtung = liste_beobachtungen[index]\n", + " if beobachtung[0] == standpunkt1 and beobachtung[1] == zielpunkt1:\n", + " index_beobachtung2 = index\n", + " break\n", + " if index_beobachtung2 is None:\n", + " print(f\"Zweite Lage für Standpunkt: {standpunkt1}, Zielpunkt: {zielpunkt1} wurde nicht gefund!\")\n", + "\n", + " standpunkt2 = liste_beobachtungen[index_beobachtung2][0]\n", + " zielpunkt2 = liste_beobachtungen[index_beobachtung2][1]\n", + " horizonalwinkel2 = to_float(liste_beobachtungen[index_beobachtung2][2].replace(',', '.'))\n", + " vertikalwinkel2 = liste_beobachtungen[index_beobachtung2][3].replace(',', '.')\n", + " distanz2 = liste_beobachtungen[index_beobachtung2][4].replace(',', '.')\n", + "\n", + " if horizonalwinkel1 > horizonalwinkel2:\n", + " horizontalwinkel_vollsatz = (horizonalwinkel1 + horizonalwinkel2 + 200) / 2\n", + " else:\n", + " horizontalwinkel_vollsatz = (horizonalwinkel1 + horizonalwinkel2) / 2\n", + "\n", + " print(f\"standpunkt1: {standpunkt1}, standpunkt2: {standpunkt2}, zielpunkt1: {zielpunkt1}, zielpunkt2: {zielpunkt2}, horizonalwinkel1: {horizonalwinkel1}, horizonalwinkel2: {horizonalwinkel2}, horizontalwinkel_vollsatz: {horizontalwinkel_vollsatz},vertikalwinkel1: {vertikalwinkel1}, vertikalwinkel2: {vertikalwinkel2}, distanz1: {distanz1}, distanz2: {distanz2}\")\n", + "\n", + " liste_beobachtungen.pop(index_beobachtung2)\n", + "\n", + " #print(row)\n", + " #print(len(liste_standpunkte))\n", + " #print(len(list(r)))\n", "\n", "\n", "con.commit()\n", "con.close()\n", "\n", "\n", - "\n", + "print(liste_beobachtungen)\n", "print(f\"Es wurden {len(liste_netzpunkte_neu)} neue Punkte importiert. Dies sind: {', '.join(map(str, liste_netzpunkte_neu))}\")\n", "print(f\"Es sind bereits {len(liste_netzpunkte_vorhanden)} Punkte im Netz enthalten. Dies sind: {', '.join(map(str, liste_netzpunkte_vorhanden))}\")" ], @@ -145,8 +202,33 @@ "name": "stdout", "output_type": "stream", "text": [ - "Es wurden 4 neue Punkte importiert. Dies sind: 20003, 20002v, 20001, 2n\n", - "Es sind bereits 0 Punkte im Netz enthalten. Dies sind: \n" + "standpunkt1: 20001, standpunkt2: 20001, zielpunkt1: 2n, zielpunkt2: 2n, horizonalwinkel1: 242.8296, horizonalwinkel2: 42.82837, horizontalwinkel_vollsatz: 242.828985,vertikalwinkel1: 99.83239, vertikalwinkel2: 300.14933, distanz1: 16.7614, distanz2: 16.7610\n", + "standpunkt1: 20001, standpunkt2: 20001, zielpunkt1: 20002v, zielpunkt2: 20002v, horizonalwinkel1: 366.11053, horizonalwinkel2: 166.11226, horizontalwinkel_vollsatz: 366.111395,vertikalwinkel1: 100.18342, vertikalwinkel2: 299.79772, distanz1: 13.2998, distanz2: 13.2998\n", + "standpunkt1: 20001, standpunkt2: 20001, zielpunkt1: 20003, zielpunkt2: 20003, horizonalwinkel1: 0.16261, horizonalwinkel2: 200.15901, horizontalwinkel_vollsatz: 100.16081,vertikalwinkel1: 99.74748, vertikalwinkel2: 300.24135, distanz1: 24.7283, distanz2: 24.7286\n", + "standpunkt1: 20001, standpunkt2: 20001, zielpunkt1: 2n, zielpunkt2: 2n, horizonalwinkel1: 242.82956, horizonalwinkel2: 42.82854, horizontalwinkel_vollsatz: 242.82905,vertikalwinkel1: 99.83266, vertikalwinkel2: 300.14951, distanz1: 16.7615, distanz2: 16.7611\n", + "standpunkt1: 20001, standpunkt2: 20001, zielpunkt1: 20002v, zielpunkt2: 20002v, horizonalwinkel1: 366.11091, horizonalwinkel2: 166.11237, horizontalwinkel_vollsatz: 366.11163999999997,vertikalwinkel1: 100.18382, vertikalwinkel2: 299.79775, distanz1: 13.2991, distanz2: 13.2996\n", + "standpunkt1: 20001, standpunkt2: 20001, zielpunkt1: 20003, zielpunkt2: 20003, horizonalwinkel1: 0.16262, horizonalwinkel2: 200.15904, horizontalwinkel_vollsatz: 100.16083,vertikalwinkel1: 99.74759, vertikalwinkel2: 300.24159, distanz1: 24.7291, distanz2: 24.7284\n", + "standpunkt1: 2n, standpunkt2: 2n, zielpunkt1: 20001, zielpunkt2: 20001, horizonalwinkel1: 294.83217, horizonalwinkel2: 94.83088, horizontalwinkel_vollsatz: 294.831525,vertikalwinkel1: 100.52468, vertikalwinkel2: 299.45750, distanz1: 16.7606, distanz2: 16.7609\n", + "standpunkt1: 2n, standpunkt2: 2n, zielpunkt1: 20003, zielpunkt2: 20003, horizonalwinkel1: 269.2321, horizonalwinkel2: 69.22659, horizontalwinkel_vollsatz: 269.22934499999997,vertikalwinkel1: 99.98742, vertikalwinkel2: 300.00289, distanz1: 39.2672, distanz2: 39.2674\n", + "standpunkt1: 2n, standpunkt2: 2n, zielpunkt1: 20002v, zielpunkt2: 20002v, horizonalwinkel1: 261.49538, horizonalwinkel2: 61.49067, horizontalwinkel_vollsatz: 261.493025,vertikalwinkel1: 100.33078, vertikalwinkel2: 299.65813, distanz1: 24.8431, distanz2: 24.8428\n", + "standpunkt1: 2n, standpunkt2: 2n, zielpunkt1: 20001, zielpunkt2: 20001, horizonalwinkel1: 294.83256, horizonalwinkel2: 94.83093, horizontalwinkel_vollsatz: 294.831745,vertikalwinkel1: 100.52475, vertikalwinkel2: 299.45752, distanz1: 16.7602, distanz2: 16.7607\n", + "standpunkt1: 2n, standpunkt2: 2n, zielpunkt1: 20003, zielpunkt2: 20003, horizonalwinkel1: 269.23232, horizonalwinkel2: 69.22679, horizontalwinkel_vollsatz: 269.229555,vertikalwinkel1: 99.98762, vertikalwinkel2: 300.00300, distanz1: 39.2672, distanz2: 39.2679\n", + "standpunkt1: 2n, standpunkt2: 2n, zielpunkt1: 20002v, zielpunkt2: 20002v, horizonalwinkel1: 261.49548, horizonalwinkel2: 61.4907, horizontalwinkel_vollsatz: 261.49309,vertikalwinkel1: 100.33097, vertikalwinkel2: 299.65811, distanz1: 24.8430, distanz2: 24.8434\n", + "standpunkt1: 20002v, standpunkt2: 20002v, zielpunkt1: 20003, zielpunkt2: 20003, horizonalwinkel1: 252.49282, horizonalwinkel2: 52.49213, horizontalwinkel_vollsatz: 252.492475,vertikalwinkel1: 99.61264, vertikalwinkel2: 300.37034, distanz1: 14.9165, distanz2: 14.9163\n", + "standpunkt1: 20002v, standpunkt2: 20002v, zielpunkt1: 20001, zielpunkt2: 20001, horizonalwinkel1: 388.44167, horizonalwinkel2: 188.44374, horizontalwinkel_vollsatz: 388.442705,vertikalwinkel1: 100.26029, vertikalwinkel2: 299.71761, distanz1: 13.3003, distanz2: 13.3002\n", + "standpunkt1: 20002v, standpunkt2: 20002v, zielpunkt1: 2n, zielpunkt2: 2n, horizonalwinkel1: 31.81626, horizonalwinkel2: 231.81191, horizontalwinkel_vollsatz: 131.814085,vertikalwinkel1: 99.90344, vertikalwinkel2: 300.08588, distanz1: 24.8432, distanz2: 24.8434\n", + "standpunkt1: 20002v, standpunkt2: 20002v, zielpunkt1: 20003, zielpunkt2: 20003, horizonalwinkel1: 252.4931, horizonalwinkel2: 52.49187, horizontalwinkel_vollsatz: 252.492485,vertikalwinkel1: 99.61257, vertikalwinkel2: 300.37034, distanz1: 14.9163, distanz2: 14.9164\n", + "standpunkt1: 20002v, standpunkt2: 20002v, zielpunkt1: 20001, zielpunkt2: 20001, horizonalwinkel1: 388.44195, horizonalwinkel2: 188.44353, horizontalwinkel_vollsatz: 388.44274,vertikalwinkel1: 100.26028, vertikalwinkel2: 299.71758, distanz1: 13.3007, distanz2: 13.3010\n", + "standpunkt1: 20002v, standpunkt2: 20002v, zielpunkt1: 2n, zielpunkt2: 2n, horizonalwinkel1: 31.81639, horizonalwinkel2: 231.81181, horizontalwinkel_vollsatz: 131.8141,vertikalwinkel1: 99.90346, vertikalwinkel2: 300.08572, distanz1: 24.8430, distanz2: 24.8435\n", + "standpunkt1: 20003, standpunkt2: 20003, zielpunkt1: 20001, zielpunkt2: 20001, horizonalwinkel1: 398.07148, horizonalwinkel2: 198.06652, horizontalwinkel_vollsatz: 398.069,vertikalwinkel1: 100.48700, vertikalwinkel2: 299.50088, distanz1: 24.7298, distanz2: 24.7301\n", + "standpunkt1: 20003, standpunkt2: 20003, zielpunkt1: 2n, zielpunkt2: 2n, horizonalwinkel1: 15.15974, horizonalwinkel2: 215.15459, horizontalwinkel_vollsatz: 115.157165,vertikalwinkel1: 100.15633, vertikalwinkel2: 299.83465, distanz1: 39.2683, distanz2: 39.2687\n", + "standpunkt1: 20003, standpunkt2: 20003, zielpunkt1: 20002v, zielpunkt2: 20002v, horizonalwinkel1: 28.11014, horizonalwinkel2: 228.10898, horizontalwinkel_vollsatz: 128.10956,vertikalwinkel1: 100.76579, vertikalwinkel2: 299.21759, distanz1: 14.9166, distanz2: 14.9172\n", + "standpunkt1: 20003, standpunkt2: 20003, zielpunkt1: 20001, zielpunkt2: 20001, horizonalwinkel1: 398.0712, horizonalwinkel2: 198.06554, horizontalwinkel_vollsatz: 398.06836999999996,vertikalwinkel1: 100.48695, vertikalwinkel2: 299.50082, distanz1: 24.7303, distanz2: 24.7296\n", + "standpunkt1: 20003, standpunkt2: 20003, zielpunkt1: 2n, zielpunkt2: 2n, horizonalwinkel1: 15.15943, horizonalwinkel2: 215.15357, horizontalwinkel_vollsatz: 115.1565,vertikalwinkel1: 100.15604, vertikalwinkel2: 299.83478, distanz1: 39.2683, distanz2: 39.2686\n", + "standpunkt1: 20003, standpunkt2: 20003, zielpunkt1: 20002v, zielpunkt2: 20002v, horizonalwinkel1: 28.10946, horizonalwinkel2: 228.10815, horizontalwinkel_vollsatz: 128.108805,vertikalwinkel1: 100.76555, vertikalwinkel2: 299.21754, distanz1: 14.9172, distanz2: 14.9173\n", + "[]\n", + "Es wurden 0 neue Punkte importiert. Dies sind: \n", + "Es sind bereits 4 Punkte im Netz enthalten. Dies sind: 2n, 20001, 20003, 20002v\n" ] } ], @@ -155,8 +237,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-26T12:17:19.676762Z", - "start_time": "2025-10-26T12:17:19.674504Z" + "end_time": "2025-10-26T15:08:25.931836Z", + "start_time": "2025-10-26T15:08:25.930149Z" } }, "cell_type": "code", @@ -164,6 +246,32 @@ "id": "d200a8b43e3646c", "outputs": [], "execution_count": null + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-26T15:08:25.958113Z", + "start_time": "2025-10-26T15:08:25.956183Z" + } + }, + "cell_type": "code", + "source": "", + "id": "fdb145db3f30230d", + "outputs": [], + "execution_count": null + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-26T15:08:25.971277Z", + "start_time": "2025-10-26T15:08:25.969309Z" + } + }, + "cell_type": "code", + "source": "", + "id": "614349d49ee1207", + "outputs": [], + "execution_count": null } ], "metadata": {