62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
# AIS Service
|
|
|
|
___
|
|
|
|
## Übersicht
|
|
|
|
### Architektur Entwurf
|
|
|
|

|
|
|
|
### Web - "Laufzettel"
|
|
|
|
In der Übersicht nur Daten aus der Datenbank, vorerst keine Daten aus Wetris.
|
|
|
|
<ins>Überlegungen</ins>:
|
|
|
|
- Wie können ein- bzw. ausgehende Schiffe erkannt werden?
|
|
- Nach "langer" Zeit wird ein Alarm im "Randgebiet" erkannt. Je nach Anfang/Ende ist es ein eingehender oder ausgehender Anlauf.
|
|
- Muss ein Anlauf getrackt werden oder reicht eine "Menge" an Alarmen?
|
|
- Das Datenmodell muss den Anlauf vermutlich abbilden, aber in der DB reichen vermutlich die Alarme.
|
|
- Wann erreicht ein Schiff die Zone? (aka, wann wird der Alarm ausgelöst)
|
|
- kein aktueller Alarm für die Zone __und__
|
|
- Die Position wird bereits für n Sekunden innerhalb der Zone reported (avoid jitter)
|
|
- Im Alarm muss gespeichert werden, wann
|
|
1) die Zone "zuerst" erreicht wurde
|
|
2) der Zeitpunkt des letzten Reports innerhalb der Zone
|
|
3) keine Referenz sondern Kopie der Position/Timestamp?
|
|
- Alarm / Zuordnung sind unabhängig von der Gruppe. Die Gruppe / der Zulauf ergibt sich erst in der Webanwendung. (Ist das sinnvoll?)
|
|
- Für die Abfrage in der Gruppe der Zonen Außenweser/Binnenweser: Jeweils "neuester" Alarm:
|
|
- wenn kein weiterer Alarm: o : unspezifisch
|
|
- wenn vorh. Alarm in Zone mit niedrigere Seq : <- eingehend
|
|
- wenn vorh. Alarm in Zone mit höherer Seq : -> abgehend
|
|
|
|
## Stand Dez 22
|
|
|
|
Nächste geplante Schritte:
|
|
|
|
- Gebiete müssen einer Gruppe zugeordnet werden, damit wir Laufzettel für mehrere getrennte, aufeinanderfolgende Gebiete erstellen können (z.B. Weser und Elbe).
|
|
- Erstellung eines AIS-Admin Tools, um Gebiete zu verwalten (KML Import, Löschen, Zuweisen von MMSI/IMO zu den Gebieten). Das Tool kann nur auf dem Server verwendet werden (obviously) und wird der Einfachheit halber einfach ein Winforms Projekt.
|
|
- Verbesserte HTML Übersicht analog zu dem Laufzettel (Einfahrtzeit in die Gebiete)
|
|
|
|

|
|
|
|
## Stand Sep/Okt.22
|
|
|
|
Entscheidung, den leidlich laufenden AIS Service zu verbessern, da aktiv nicht mehr an WETRIS weitergearbeitet wird. Aufgaben:
|
|
|
|
* Prüfen und Debuggen des aktuellen Stands (sinnvoll?)
|
|
* Anlage einer neuen, effizienteren Datenbankstruktur (kein SQL Server!)
|
|
* Vollständige Implementierung aller Telegramm-Arten
|
|
* verbesserte Architektur (s.u. Bild)
|
|
* Webservice-Endpunkt, der aktuelle Lage als Liste liefert
|
|
* Zonen Alarm
|
|
* Einfaches Frontend zur Einrichtung von Zonen
|
|
* (Backup) Evaluierung alternativer Datenquellen
|
|
|
|
## Referenzen
|
|
|
|
* [NMEA 0183](https://de.wikipedia.org/wiki/NMEA_0183)
|
|
* [AIS Wikipedia](https://en.wikipedia.org/wiki/Automatic_identification_system)
|
|
* [AIVDM/AIVDO protocol decoding](https://gpsd.gitlab.io/gpsd/AIVDM.html)
|
|
* [AIS Documentation (PDF)](itu-m.1371-4-201004.pdf) |