spacetab

@smgladkovskiy

HYDRONOM® — данные о водоёмах со спутников

Проект завершён, 2018–2023

Сервис по подписке для рыбаков, подводных охотников и дайверов: прозрачность и температура воды, фитопланктон, лёд и погода для любого водоёма на Земле. На сайте и в мобильном приложении.

Клиент и задача

ООО «Гидроном» запускало сервис для тех, кто выбирает, где и когда рыбачить или нырять. Подводные охотники тратят выезды на поиски ответа на вопрос «где прозрачная вода?». Ответ есть на спутниковых снимках, но их нужно скачать, обработать, очистить от облаков и показать на карте так, чтобы его понял рыбак, а не учёный. Перед нами поставили задачу разработать алгоритмы, которые по снимкам определяют прозрачность воды, уровень хлорофилла, ледовую обстановку, температуру воды и высоту волн. Ещё понадобились хранилище на терабайты данных за несколько лет, сайт с личным кабинетом, приложение для iOS и Android и оплата подпиской.

Коллаж сайта: главная «Мы следим за водой», список возможностей, карта со слоями и маршрутами, карточка места с нормативными документами
Коллаж сайта: главная «Мы следим за водой», список возможностей, карта со слоями и маршрутами, карточка места с нормативными документами
Приложение: «Настраивайте отображение карты» — спутниковый слой и список слоёв
Приложение: «Настраивайте отображение карты» — спутниковый слой и список слоёв

Что сделали

  • Алгоритмы обработки снимков

    По данным спутников Landsat-8, Sentinel-2, Sentinel-3 и Aqua сервис считает индекс прозрачности воды, концентрацию фитопланктона и цианобактерий, температуру поверхности воды, высоту волн и ледовую обстановку. Новые виды обработки подключаются к той же системе.

    Рыбак видит на карте, где вода прозрачная, тёплая или «цветёт», ещё до выезда.

  • Вырезка облаков

    Отдельный алгоритм убирает облака со снимка, чтобы использовать хотя бы чистую часть кадра.

    Даже облачный день даёт полезные данные.

  • Параллельная обработка и хранилище на терабайты

    Каждый новый снимок обрабатывается отдельной задачей, параллельно с остальными. Данные за несколько лет хранятся для статистики, слои карты отдаются тайлами из кэша.

    Снимки не ждут в очереди друг за другом, а карта с архивом за годы открывается быстро.

  • Погода и полезные слои на одной карте

    Погода и прогноз, восход и закат, фаза луны, границы заповедников и других особо охраняемых территорий, уровень рек и водохранилищ России, снимки поверхности воды высокого разрешения.

    Всё для планирования выезда — в одном окне.

  • Сайт с личным кабинетом

    Сайт повторяет возможности приложения: слои на карте, сохранённые места и маршруты, комментарии к любой точке. Вход по почте или через VK, Google и Facebook. В разделе материалов — нормативные документы о любительском и спортивном рыболовстве в разных странах.

    Выезд планируется за компьютером, а на берегу те же места открываются в телефоне.

  • Мобильное приложение для iOS и Android

    Слои с легендой, подробности о точке с погодой, сохранённые места. Позже мобильное приложение перевели с React Native на Flutter.

    Данные о воде под рукой прямо на берегу.

  • Подписка с автопродлением

    Оплата на сайте с рекуррентными платежами.

    Подписчику не нужно продлевать доступ вручную.

  • API для бизнеса

    Данные по координатам — слои, погода, заповедники, гидропосты — по токену с лимитами и документацией.

    Данные сервиса можно встроить в продукты партнёров.

Приложение: «Подробная информация о месте» — шкала прозрачности, погода по часам, восход и закат, температура воды
Приложение: «Подробная информация о месте» — шкала прозрачности, погода по часам, восход и закат, температура воды
Приложение: «Сохраняйте места» — слой прозрачности на карте
Приложение: «Сохраняйте места» — слой прозрачности на карте

Как устроено

Сервис сам находит и скачивает новые снимки и отправляет каждый на обработку отдельной задачей в кластере, поэтому снимки обрабатываются параллельно. Результат превращается в слои карты: они нарезаются на тайлы и кэшируются, чтобы карта открывалась быстро даже по архиву за несколько лет. Сайт, приложение и API берут данные из одного источника.

Сроки и масштаб

  1. Январь 2018 старт: первые алгоритмы скачивания и обработки снимков.
  2. Сентябрь 2018 начаты сайт и API сервиса.
  3. 2019 мобильное приложение на React Native, админка, опыты с новыми данными: солёность, течения, высота моря.
  4. 2020 сервис открыт для пользователей: сайт hydronom.fish и приложение в Google Play. Мобильное приложение перевели с React Native на Flutter.
  5. 2022–2023 перенос сервиса на новую инфраструктуру, последние изменения — январь 2023 года.

Масштаб: больше 40 репозиториев — обработки под разные спутники и типы данных, API, сайт, админка, два поколения мобильного приложения, кэш тайлов. По счётчику на сайте сервиса — около 216 тыс. обработанных спутниковых снимков за год (август 2020).

Что это дало

  • Спутниковые данные понятным языком

    Продукты дистанционного зондирования превращены в баллы прозрачности и цветные слои, которые читает рыбак, а не учёный.

  • Любой водоём на Земле

    Сервис не привязан к региону: обработка идёт по снимкам всего мира, новые виды данных добавляются без переделки системы.

  • Три способа получить данные из одной системы

    Сайт и приложение для подписчиков, API для бизнес-клиентов — на одних и тех же данных.

Технологии

  • Python
  • Django
  • GDAL
  • PostgreSQL
  • Vue.js
  • Leaflet
  • React Native
  • Flutter
  • Kubernetes
  • Docker

Статус

Сервис закрыт. Разработка — 2018–2023, в работе — с 2020 года.

Есть похожая задача?

Расскажите о ней — ответим в течение рабочего дня и предложим, с чего начать.

Telegram: @smgladkovskiy · Почта: bip@spacetab.io