Encontré un archivo que contiene alrededor de 85,000 mensajes (3 minutos de transmisión en vivo de AISHub), pero no puedo entenderlo.
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
¿Hay un esquema en alguna parte?
Respuestas:
Hay un buen repositorio github de Kurt Schwehr que trabaja en el Centro de Mapeo de Costas y Océanos (para rastrear las actividades de las ballenas, por ejemplo). Allí encontrará un decodificador y documentos para comprender los mensajes nmea (en su mayoría enlaces mencionados en las publicaciones de @ianmayo y @GID Dev). Aquí hay un pequeño tutorial sobre cómo correr bajo
LINUX
ypython 2.7
.Para conseguir un poco de código en ejecución, es necesario
git
unC++
compilador, lapython setup environment
,cmake
. Descargar los datos dey siga las instrucciones de instalación en / en la página de github o ejecute
Después de todo, debe tener las bibliotecas en su
python
entorno.Aquí hay un código rápido y sucio en un script llamado
test-ais.py
para obtener el Unix likehead
&tail
behavoir. Lo usojson
como "impresora bonita de texto claro".Suponiendo que el
nmea-samples
archivo está en undata
directorio, puede filtrar la línea que desea mostrarcat
,head
ytail
...A partir del código json, debería ser fácil continuar con más formateo y almacenamiento de cosas.
fuente
El sitio de decodificación del protocolo AIVDM / AIVDO contiene la respuesta, pero hay mucho para analizar. Para responder a la pregunta planteada, esto es del sitio mencionado anteriormente en ese formato:
Además, la parte importante aquí es en realidad el campo 6, por lo que si examina el sitio un poco más, obtendrá la respuesta: esa carga útil de datos del campo 6 contiene una tonelada (¡en realidad no, una tonelada!) De varios campos dentro de él. Por lo tanto, puede escribir su propio código para analizarlo o, alternativamente, usar el repositorio de github publicado en la otra respuesta que contiene varios SDK / API que probablemente deberían tener lo que necesita (dependiendo de dónde obtuvo sus datos AIS): https: / /github.com/bcl/aisparser
fuente
Aquí hay un esquema para el formato, parece bastante completo:
Decodificación de protocolo AIVDM / AIVDO
fuente