Die Routing-Anwendung ist ein spezielles Programm, das es ermöglicht, Flüge für Drohnen zu planen und auszuführen.
Die Routing-Anwendung nutzt dabei verschiedene Daten, um die Drohne bei der Navigation zu unterstützen. Dazu gehören zum Beispiel Luftverkehrsregeln, die festlegen, wo und wie Drohnen fliegen dürfen, sowie topographische Karten und Wetterinformationen, die für die Planung der Route und die Überwachung von potenziellen Hindernissen und Gefahren wichtig sind.
Insgesamt bietet eine Routing-Anwendung für Drohnen eine wichtige Unterstützung für die Steuerung und Navigation von Drohnen, sodass sie ihre Ziele sicher und effizient erreichen können. Dies kann dazu beitragen, dass Drohnen in immer mehr Bereichen eingesetzt werden, wodurch sie vielseitig und nützlich werden.
Die Anwendung ist in ein Frontend und ein Backend aufgeteilt. Das Frontend ist für die Darstellung der Karte und die Interaktion mit dem Nutzer zuständig. Das Backend ist für die Bereitstellung der Endpunkte sowie die Berechnung der Route zuständig.
Hier wird die Karte mit den Sperrzonen und die Route dargestellt. Außerdem kann der Nutzer mit der Maus die Start- und Endpunkte setzen und die Route berechnen lassen.
Als Programmiersprache wird P5JS
verwendet. Als Framework für das Arbeiten mit einer interaktiven Karte wird Mappa.JS verwendet, da dieses Framework initial für P5JS
entwickelt wurde und somit eine gute Integration bietet.
Im Backend wird die Route berechnet und die Daten für die Karte bereitgestellt. Hierzu wird die Programmiersprache JavaScipt
und NodeJS
als Server Framework verwendet.
Im Frontend müssen zunächst verschiedene Dependencies installiert werden. Dies kann über den Paketmanager npm
erfolgen. Dazu in das Verzeichnis frontend
wechseln und folgenden Befehl ausführen:
npm install
Im Backend müssen zunächst verschiedene Dependencies installiert werden. Dies kann über den Paketmanager npm
erfolgen. Dazu in das Verzeichnis backend
wechseln und folgenden Befehl ausführen:
npm install
Um Zugriff auf die AipAPI zu erhalten, muss ein API Key generiert werden. Dieser kann auf der AipAPI Seite generiert werden. Hierzu muss man sich einen Account anlegen und dann im Profil einen Key generieren lassen. Dieser muss dann in der Datei backend/src/.env
eingetragen werden.
Hierzu kann man entweder die vorhandene .env.example
kopieren und dann .example
entfernen oder eine leere .env
anlegen und den Key in folgendem Format eintragen:
API_KEY=<Your-Personal_API-Key>
Um die Anwendung zu starten, muss zunächst das Backend gestartet werden. Dazu in das Verzeichnis backend
wechseln und folgenden Befehl ausführen:
npm .
Danach kann das Frontend gestartet werden. Dazu in das Verzeichnis frontend
wechseln und die index.html ausführen. In dem sich öffnenden Fenster dann auf den Button Karte
klicken.
Alternativ kann die Karte auch direkt über die map.html geöffnet werden, welche sich im Verzeichnis frontend/views/Map
befindet.
Zu den einzelnen Komponenten der Routing-Anwendung gibt es verschiedene Dokumentationen. Diese befinden sich im Ordner docs
. Folgende Dokumentationen sind verfügbar:
Dokumentation | Beschreibung |
---|---|
Allgemein | Hierin ist ganz allgemein die Idee der Routing-Anwendung beschrieben, sowie allgemeine Hinweise zu Längen- und Breitenangaben, Höhendaten und weitere Informationen. |
MapVisualization | In diesem Abschnitt finden sich Hinweise zur Visualisierung der Karte mit den Sperrzonen und zur Installation und Nutzung des Frameworks Mappa.JS . |
GeoJson | Hierin befinden sich Informationen zum GeoJson Format, sowie eine Beschreibung der verwendeten GeoJson Dateien. |
RayCastAlgorithm | In diesem Abschnitt wird der RayCast Algorithmus beschrieben. Dieser kann errechnen, ob ein Punkt innerhalb eines Polygons liegt. |