generated from Grigo/AndroidTemplate
Initial commit: AIS Map Android application
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
# Поддерживаемые типы 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, название, позывной, тип судна, размеры, пункт назначения
|
||||
- **Использование**: Детальная информация о судне
|
||||
|
||||
### 4. Safety Related Broadcast (Тип 14)
|
||||
- **Описание**: Сообщения безопасности
|
||||
- **Содержит**: 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. Добавить логирование и обработку ошибок
|
||||
|
||||
### Кастомные поля
|
||||
- Поддержка региональных расширений
|
||||
- Обработка производитель-специфичных данных
|
||||
- Гибкая система метаданных
|
||||
Reference in New Issue
Block a user