Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
Executable
+127
@@ -0,0 +1,127 @@
|
||||
ArAssets
|
||||
|
||||
Inhalt
|
||||
Funktionen des Tools 2
|
||||
Abhängigkeiten 2
|
||||
Dateien und Ordner 3
|
||||
Websocketserver 3
|
||||
Start des Servers 3
|
||||
Anpassung des Servers 4
|
||||
Nutzung des Tools mit Firefox 4
|
||||
Ansprechpartner 4
|
||||
|
||||
|
||||
----------------------------
|
||||
--- Funktionen des Tools ---
|
||||
----------------------------
|
||||
|
||||
• Kartenansicht der importierten Locations
|
||||
• Auslesen von LongLat-Koordinaten durch benutzerdefinierten Input
|
||||
• Darstellung von Koordinaten (UTM, MGRS, LongLat) auf den importierten Karten
|
||||
• Tracking von Positionsmeldungen
|
||||
• Anzeige von Gebäudefootprints
|
||||
• Anzeige der Assets in den importierten Gebäuden
|
||||
|
||||
----------------------
|
||||
--- Abhängigkeiten ---
|
||||
----------------------
|
||||
|
||||
Für die volle Nutzbarkeit aller Skripte werden benötigt:
|
||||
|
||||
Bibliothek | Installation mit npm
|
||||
------------------------------------------------+-----------------------
|
||||
TypeScript Compiler | npm i -g tsc
|
||||
Browserify (genutzt in ./build) | npm i -g browserify
|
||||
Uglify (genutzt für die build option „—min“) | npm i -g uglify-es
|
||||
Watchify (genutzt in ./watch) | npm i -g watchify
|
||||
|
||||
Des Weiteren werden folgende Bibliotheken genutzt:
|
||||
Angular
|
||||
Leaflet
|
||||
GeoJSON
|
||||
MGRS
|
||||
UTM
|
||||
UTM-LatLng
|
||||
|
||||
Der einfachste und vor allem effektivste Weg diese Bibliotheken auf einem neuen Gerät einzurichten, besteht darin, den „node_module“ Ordner bzw. das gesamte Programmverzeichnis zu kopieren.
|
||||
WICHTIG: Dabei ist darauf zu achten, dass die Ordnerstruktur unverändert bleibt, damit die Skripte alle nötigen Komponenten finden.
|
||||
|
||||
--------------------------
|
||||
--- Dateien und Ordner ---
|
||||
--------------------------
|
||||
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
node_modules | Enthält alle Bibliotheken
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
types | Enthält notwendige TypeScript Definitionen
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
tmp | Wird zum Kompilieren erstellt und anschließend gelöscht
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
src | Enthält die TypeScript-Dateien
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
WebsocketServer | Enthält den Websocketserver und alle notwendigen Bibliotheken für diesen
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
www | Enthält alle Dateien für die Weboberfläche
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
package.json | NodeJS Abhängigkeiten
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
tsconfig.json | TypeScript Projektconfig
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
build | Kompilierskript (Aufruf durch ./build in bash)
|
||||
| --min minimiert die Ausgabedatei (Performance)
|
||||
| --fetch-deps reinstalliert alle Abhängigkeiten
|
||||
| (WARNUNG: --fetch-deps kann das Projekt auch beschädigen)
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
watch | Rekompiliert bei Dateiänderungen
|
||||
| (Aufruf durch ./watch in bash)
|
||||
----------------------------+-------------------------------------------------------------------------------
|
||||
|
||||
-----------------------
|
||||
--- Websocketserver ---
|
||||
-----------------------
|
||||
|
||||
Der Websocketserver dient dazu, sich vom Hauptsystem unabhängig zu machen. Er versorgt das Tool mit Initial- und Testdaten,
|
||||
welche zum starten des Tools oder für die Nutzung einzelner Funktionen nötig sind.
|
||||
WICHTIG: Der Websocketserver läuft der Einfachheit halber über die Konsole und benötigt somit Node.JS um gestartet zu werden
|
||||
|
||||
-------------------------
|
||||
--- Start des Servers ---
|
||||
-------------------------
|
||||
|
||||
Um den Server zu starten, muss via Konsole in den Ordner „WebsocketServer“ navigiert werden. Dort liegt eine Datei namens „wssTest.js“.
|
||||
Um den Server zu starten, muss diese Datei mithilfe von „node wssTest.js“ ausgeführt werden.
|
||||
Der Server öffnet nun zwei Websockets:
|
||||
Port 9000 sendet ein PositionReport an das Webtool
|
||||
Port 9001 sendet einen Gebäudefootprint an das Tool, damit dieses gestartet werden kann
|
||||
|
||||
-----------------------------
|
||||
--- Anpassung des Servers ---
|
||||
-----------------------------
|
||||
|
||||
Der Server beinhaltet drei Funktionen:
|
||||
sendFootprint sendet einen Gebäudefootprint an den Client
|
||||
sendJSON sendet einen Positionreport an den Client
|
||||
sendLoop setzt den eingetragenen Befehl in eine Schleife
|
||||
Die Funktionen werden bei einem Verbindungsaufbau durch den Client ausgeführt. Demzufolge muss das „onConnection“-Event verändert werden, damit andere Funktionen ausgeführt werden.
|
||||
Um die Datensätze zu ändern, müssen die Postionreports bzw. Footprints im Code angepasst werden.
|
||||
Alle, durch den Server, durchgeführten Aktionen werden in der Konsole des Websocketservers geloggt.
|
||||
|
||||
-------------------------------------
|
||||
--- Nutzung des Tools mit Firefox ---
|
||||
-------------------------------------
|
||||
|
||||
Das Tool wird standardmäßig durch den Aufruf der index.html im „www“-Ordner gestartet.
|
||||
Nach Aufruf des Tools zieht sich das Tool die Gebäudefootprints von einem Standardserver.
|
||||
Sollte dies Fehlschlagen, wird das Tool nach einer Server-IP fragen, welche es dem Tool ermöglichen Footprints zu importieren. Dieser Schritt ist notwendig um das Tool zu starten.
|
||||
ACHTUNG: Sollten nach dem Start des Tools keine Locations und Karten angezeigt werden handelt es sich vermutlich um einen CORS-Fehler.
|
||||
CORS verhindert in neueren Browserversionen einen Cross-Origin-Zugriff, wodurch die Locations nicht geladen werden können.
|
||||
Dies ist nur durch einen Aufruf mithilfe eines Webservers oder durch das Abschalten von CORS (nicht empfohlen) zu umgehen.
|
||||
|
||||
-----------------------
|
||||
--- Ansprechpartner ---
|
||||
-----------------------
|
||||
|
||||
Tim Pardemann (tim.pardemann@rheinmetall.com)
|
||||
Elias Junge (elias.junge@rheinmetall.com)
|
||||
Justus Hertel (justus.hertel@rheinmetall.com)
|
||||
|
||||
Reference in new issue
Block a user