Ich habe eine Datei gefunden, die ungefähr 85.000 Nachrichten enthält (3 Minuten Live-AISHub-Feed), aber ich kann weder Kopf noch Zahl daraus machen.
http://www.aishub.net/nmea-sample.html
!AIVDM,1,1,,A,13aEOK?P00PD2wVMdLDRhgvL289?,0*26
!AIVDM,1,1,,B,16S`2cPP00a3UF6EKT@2:?vOr0S2,0*00
!AIVDM,2,1,9,B,53nFBv01SJ<thHp6220H4heHTf2222222222221?50:454o<`9QSlUDp,0*09
!AIVDM,2,2,9,B,888888888888880,2*2E
Gibt es irgendwo ein Schema?
Antworten:
Es gibt ein gutes Github-Repository von Kurt Schwehr, der im Zentrum für Küsten- und Ozeankartierung arbeitet ( um beispielsweise Walaktivitäten zu verfolgen ). Dort finden Sie einen Decoder und Dokumente, um die nmea-Nachrichten zu verstehen (meistens Links, die in den Posts von @ianmayo und @GID Dev aufgeführt sind). Hier ist ein kleines Howto, das unter
LINUX
und läuftpython 2.7
.Um Code zum Laufen zu bringen, benötigen Sie
git
einenC++
Compiler, denpython setup environment
,cmake
. Laden Sie die Daten von herunterund befolgen Sie die Installationsanweisungen auf / auf der Github-Seite oder führen Sie sie aus
Schließlich sollten Sie die Bibliotheken in Ihrer
python
Umgebung haben.Hier ist ein schneller und schmutziger Code in einem Skript, der aufgerufen wird
test-ais.py
, um das Unix likehead
&tail
behavoir zu erhalten. Ich benutzejson
als "Klartext hübscher Drucker".Unter der Annahme , dass die
nmea-samples
Datei in einem istdata
Verzeichnis, können Sie die Zeile , die Sie zeigen wollen herausfilterncat
,head
undtail
...Ausgehend vom JSON-Code sollte es einfach sein, mit der weiteren Formatierung und Speicherung fortzufahren.
quelle
Die AIVDM / AIVDO-Protokolldecodierungsstelle enthält die Antwort, aber es gibt dort viel zu sichten. Um die gestellte Frage zu beantworten, ist dies von der oben genannten Seite in diesem Format:
Darüber hinaus ist der wichtige Teil hier tatsächlich Feld 6. Wenn Sie also die Site noch einmal durchsehen, erhalten Sie die Antwort: Diese Datennutzlast von Feld 6 enthält eine Tonne (nicht wirklich eine Tonne!) Verschiedene Felder. Sie können also Ihren eigenen Code schreiben, um ihn zu analysieren, oder alternativ das in der anderen Antwort angegebene Github-Repo verwenden, das verschiedene SDKs / APIs enthält, die wahrscheinlich das haben sollten, was Sie benötigen (je nachdem, woher Sie Ihre AIS-Daten haben): https: / /github.com/bcl/aisparser
quelle
Hier ist ein Schema für das Format, es scheint ziemlich gründlich:
AIVDM / AIVDO-Protokolldecodierung
quelle