Files
AndroidAisMap/AIS_MESSAGE_TYPES.md
2025-09-02 15:58:16 +03:00

6.5 KiB

Поддерживаемые типы AIS сообщений

Обзор

Данный документ описывает типы AIS (Automatic Identification System) сообщений, которые поддерживаются в приложении AISMap.

Основные типы сообщений

1. Position Reports (Типы 1, 2, 3)

  • Описание: Отчеты о позиции судов класса A
  • Содержит: MMSI, координаты, курс, скорость, направление, статус
  • Использование: Основная информация о движении судов

2. Base Station Report (Тип 4)

  • Описание: Отчет базовой станции
  • Содержит: MMSI, дата/время, координаты, точность позиции, тип EPFD
  • Использование: Информация о базовых станциях AIS

3. Static Data (Тип 5)

  • Описание: Статические данные о судне
  • Содержит: MMSI, IMO, название, позывной, тип судна, размеры, пункт назначения
  • Использование: Детальная информация о судне
  • Описание: Сообщения безопасности
  • Содержит: MMSI, текст сообщения безопасности
  • Использование: Важные сообщения о безопасности навигации

5. Class B Position Report (Тип 18)

  • Описание: Отчет о позиции судов класса B
  • Содержит: MMSI, координаты, курс, скорость, направление, точность
  • Использование: Информация о малых судах и яхтах

6. Extended Class B Position Report (Тип 19)

  • Описание: Расширенный отчет о позиции судов класса B
  • Содержит: Все данные типа 18 + название, тип судна, размеры
  • Использование: Подробная информация о малых судах

7. Aid-to-Navigation Report (Тип 21)

  • Описание: Отчет о навигационных знаках
  • Содержит: MMSI, тип знака, название, координаты, размеры
  • Использование: Информация о маяках, буях и других навигационных знаках

8. Static Data Report (Тип 24)

  • Описание: Отчет о статических данных (разделенный на части)
  • Часть A: Название судна
  • Часть B: Тип судна, производитель, позывной, размеры
  • Использование: Дополнительная статическая информация

Структура данных

Поля MMSI

  • Размер: 30 бит
  • Описание: Уникальный идентификатор судна
  • Диапазон: 0 - 999999999

Координаты

  • Широта: 27 бит, диапазон -90° до +90°
  • Долгота: 28 бит, диапазон -180° до +180°
  • Точность: 1/60000 градуса (~1.85 метра)

Скорость и курс

  • Скорость: 10 бит, диапазон 0-102.3 узла
  • Курс: 12 бит, диапазон 0-359.9°
  • Направление: 9 бит, диапазон 0-359°

Размеры судна

  • Длина: 10 бит, диапазон 0-1023 метра
  • Ширина: 10 бит, диапазон 0-1023 метра
  • Осадка: 8 бит, диапазон 0-25.5 метра

Обработка фрагментов

Многочастные сообщения

  • Поддержка сообщений, разделенных на несколько частей
  • Автоматическое объединение фрагментов
  • Таймаут для устаревших фрагментов (10 секунд)

Контрольные суммы

  • Проверка контрольных сумм NMEA сообщений
  • Отбрасывание сообщений с неверными контрольными суммами

Логирование

Уровни логирования

  • DEBUG: Детальная информация о декодировании
  • INFO: Основные события (создание судов, обновления)
  • WARN: Предупреждения (неверные данные, устаревшие фрагменты)
  • ERROR: Ошибки декодирования

Информация в логах

  • Тип сообщения и MMSI
  • Декодированные значения
  • Ошибки парсинга
  • Статистика по спутникам

Производительность

Оптимизации

  • Кэширование декодированных судов
  • Автоматическая очистка устаревших данных
  • Эффективные регулярные выражения для парсинга

Мониторинг

  • Количество активных AIS судов
  • Время последнего обновления
  • Статус активности судов

Совместимость

Стандарты

  • IEC 61993-2 (AIS Class A)
  • IEC 62287 (AIS Class B)
  • NMEA 0183 (протокол передачи)

Оборудование

  • AIS трансиверы класса A и B
  • Базовые станции
  • Навигационные знаки с AIS
  • Мобильные устройства с AIS

Расширение функциональности

Добавление новых типов

  1. Добавить case в метод decodeAISPayload
  2. Создать метод декодирования
  3. Обновить модель AISVessel при необходимости
  4. Добавить логирование и обработку ошибок

Кастомные поля

  • Поддержка региональных расширений
  • Обработка производитель-специфичных данных
  • Гибкая система метаданных