Я нашел файл, который содержит около 85 000 сообщений (3-минутная прямая трансляция AISHub), но я не могу сделать из этого ни головы, ни хвоста.
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
Где-то есть схема?
Ответы:
Есть хороший репозиторий github Курта Швера, который работает в Центре картирования прибрежных зон и океанов (например, для отслеживания деятельности китов ). Там вы найдете декодер и документы для понимания сообщений nmea (в основном это ссылки, упомянутые в сообщениях @ianmayo и @GID Dev). Вот небольшая инструкция под
LINUX
иpython 2.7
.Чтобы получить код работает, вам нужно
git
вC++
компилятор,python setup environment
,cmake
. Загрузите данные изи следуйте инструкциям по установке на / на странице github или запустите
В конце концов у вас должны быть библиотеки в вашей
python
среде.Вот некоторый быстрый и грязный код в скрипте, вызываемом
test-ais.py
для получения Unix, какhead
&tail
поведениеvoir. Я используюjson
в качестве "довольно текстового принтера".Предполагая, что
nmea-samples
файл находится вdata
каталоге, вы можете отфильтровать строку, которую вы хотите показатьcat
,head
иtail
...Начиная с кода JSON, должно быть легко продолжить дальнейшее форматирование и хранение материала.
источник
/ AIVDO протокол AIVDM декодирование сайта содержит ответ , но есть много , чтобы просеивать там. Чтобы ответить на поставленный вопрос, это с вышеупомянутого сайта в таком формате:
Кроме того, важной частью здесь фактически является поле 6, поэтому, если вы еще раз просмотрите сайт, вы получите ответ: полезная нагрузка этого поля 6 содержит тонну (на самом деле, не тонну!) Различных полей внутри нее. Таким образом, вы можете написать свой собственный код для его анализа или использовать репозиторий github, опубликованный в другом ответе, который содержит различные SDK / API, которые, вероятно, должны иметь то, что вам нужно (в зависимости от того, где вы получили данные AIS): https: / /github.com/bcl/aisparser
источник
Вот схема для формата, она выглядит довольно основательно:
AIVDM / AIVDO протокол декодирования
источник