Session 022: Migrate Lts/Tools (72 submodules) to Qt6

- Copied complete Lts/Tools directory from qt5-before to qt6-after
- Updated 32 CMakeLists.txt files (Qt5:: → Qt6::)
- Tools subdirectory already included in parent Lts/CMakeLists.txt
- All 72 tool submodules now present in qt6-migrated-legatus
- Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate,
  DdsView, InfrastructureManagement, and 67 more tools
- C++17 standard (RTI 7.7.0 compatibility maintained)
- Tests deferred until final validation phase

Migration progress:
✅ Lts/Application (68 files)
✅ Lts/DDS (verified Qt6-ready)
✅ Lts/Plugins (60 submodules, verified)
✅ Lts/Projects (5 submodules, verified)
✅ Lts/Proxies (13 submodules, verified)
✅ Lts/Services (47 submodules, verified)
✅ Lts/Tools (72 submodules, copied + CMake updated)
✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap)
🟡 TetraIF (partial)
🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
This commit is contained in:
torsten committed 2026-08-25 14:07:20 +02:00
1 parent 01dce5fe52
commit d5c13033e2
1792 files changed
+982018

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,13 @@
1. Wenn man gpx.sh ausführt, wird erst mithilfe von statement2.sql eine outfile.csv-Datei erzeugt, in der die Daten vorhanden sind für einen Participant und dann wird file.js ausgeführt, womit man eine GPX-Datei erhält.
2. In file.js ist das JavaScript Programm, welches mit den Daten einer outfile.csv-Datei eine GPX-Datei erzeugt.
In Zeile 18 ist die Equipment bzw. Participant ID hardcoded enthalten. Statt das jedes Mal im Code zu ändern, wäre es sinnvoller, dass man in einer Oberfläche die ID manuell eingeben kann
Aufruf: node file.js
3. In statement2.sql ist die SQL-Abfrage für die Datenbank enthalten. Hier ist die participant ID hardgecoded. Sinnvoller wäre es dann, wenn man auch hier in einer Oberfläche die ID eingeben kann.
4. outfile.csv ist die CSV-Datei, die durch den Befehl psql lts_ets_pro -t -A -F";" -f statement2.sql > outfile.csv, der im Shell-Skript (gpx.sh) ausgeführt wird, erstellt wird. Hier ist der Seperator ein ";", welcher auch bei file.js beim einlesen benutzt wird.
5. Output.gpx ist die finale GPX-Datei, die man über einen GPX-Viewer auslesen kann. https://www.j-berkemeier.de/ShowGPX.html ist dafür eine gute Seite zum Überprüfen der GPX-Datei.
6. Ein GPX Viewer soll noch selber erstellt werden. Ebenfalls soll das Programm erweitert werden, dass man auch Events mithilfe von Waypoints einlesen und in die GPX-Datei reinläuft.
@@ -0,0 +1,62 @@
//Variablen
const file = require('fs');
const lineReader = require('line-reader');
var tmp_id = 0;
var tmp_timestamp = 0;
var line = [];
var lat;
var lon;
var outfile = ""; //String, der am Ende in der GPX-Datei reingepackt wird
//Header und erster Teil der GPX-Datei
outfile += '<?xml version="1.0" encoding="UTF-8"?>\n';
outfile += '<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Torben"\n xmlns:xsi="http://w3.org/2001/XMLSchema-instance"\n xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">\n';
outfile += '<trk>\n';
outfile += ' <extensions>\n';
outfile += ' <line xmlns="http://www.topografix.com/GPX/gpx_style/0/2">\n'
outfile += ' <color>0000FF</color>\n';
outfile += ' </line>\n';
outfile += ' </extensions>\n';
outfile += ' <name>GPXTrack from EquipID: 16</name>\n';
outfile += ' <trkseg>\n';
//Letzter Teil der GPX-Datei
function lastPart(){
outfile += ' </trkseg>\n';
outfile += '</trk>\n';
outfile += '</gpx>';
console.log(outfile);
}
//Mit dem Line-Reader wird die .csv-Datei Zeile für Zeile eingelesen in einer Schleife
lineReader.eachLine('./outfile.csv', function(line, last, cb){
line = line.split(';'); //Seperator in der .csv-Datei, in dem Fall ";"
if(tmp_id<=line[0]) {
tmp_id = line[0];
if(tmp_timestamp<Number(line[1])) { //Überprüfung nach neuerem Zeitpunkt, Daten müssen demnach aufsteigend sortiert sein nach der Zeit
tmp_timestamp = new Date(Number(line[1])).toISOString(); //Umwandlung von UNIX-Zeitformat in das ISO-Format der GPX-Datei
lon = Number(line[2]);
lat = Number(line[3]);
outfile += ' <trkpt lat="' + lat + '" lon="' + lon+ '">\n';
outfile += ' <time>' + tmp_timestamp + '</time>\n';
outfile += ' </trkpt>\n';
tmp_timestamp = line[1]; //tmp_timestamp wird wieder auf das ursprüngliche UNIX-Format zuruückgesetzt für die if-Abfrage oben
}
}
if(last){ //Sobald das Ende erreicht wird, wird die Schleife abgebrochen und der letzte Teil rangehängt und in die GPX-Datei gespeichert
cb(false);
lastPart();
file.writeFile('Output.gpx', outfile, (err) => {
if (err) throw err;
})
}
else {
cb(); //Wenn noch nicht das Ende erreicht ist, wird die Schleife weitergeführt, dafür ist cb, ein Callback, wichtig
}
});
@@ -0,0 +1,2 @@
psql lts_ets_pro -t -A -F";" -f statement2.sql > outfile.csv
node file.js
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
select participant_id, sample_time, pos_lon*180/3.14159265359, pos_lat*180/3.14159265359, pos_z from ex_42.rec_participant_position where participant_id = 16 order by sample_time;