98 миллионов полей и 12 культур. Как мы делали OneSoil Map

В интерактивной карте собрана информация о полях и культурах в 59 странах. За пять лет. Рассказываем, как мы это сделали.
Morten Schmidt, new CEO, and Slava Mazai_OneSoil Blog
Reading time: 7 minutes
В октябре 2018 года мы запустили интерактивную карту OneSoil, при помощи которой можно получить информацию о полях Европы и США. Про карту написали десятки изданий, а на Product Hunt она собрала беспрецедентные для продукта из агросектора полторы тысячи лайков.

В августе 2022 года мы выпустили обновлённую OneSoil Map с расширенной географией и улучшенной точностью данных. Рассказываем, как мы разрабатывали карту.

Что такое OneSoil Map

Как и все продукты OneSoil, интерактивная карта работает на алгоритмах машинного обучения и спутниковых снимках. В ней собрана информация о 98 миллионах полей и 12 основных культурах в 59 странах. Компании, которым нужна сельскохозяйственная аналитика, могут купить любые данные с 2018 по 2022 год. Бесплатные демо-участки карты за 2020 год доступны для отдельных регионов на всех континентах.

При помощи карты можно отслеживать тенденции на уровне стран и регионов. Например, вы можете узнать, сколько площадей было занято кукурузой в США в 2020 году (35,5 миллионов гектаров) или в каком регионе Бельгии больше всего пшеничных полей (Валлония).
OneSoilMap_USA
При помощи OneSoil Map можно узнать размер отдельного поля и культуру, которая на нём растёт. Помимо всего прочего, OneSoil Map — это красиво. Вы можете переключаться между картами полей по всему миру — каждая из них похожа на произведение абстрактного искусства.

Данные: собрать, обработать, сжать

При разработке OneSoil Map мы использовали снимки спутника Sentinel-2 Европейского космического агентства. На первом этапе мы делали препроцессинг снимков: чистили облака, тени, снег, выполняли компрессию данных. Затем запустили процесс поиска границ полей и классификации культур на наших моделях машинного обучения. На выходе мы получили сотни гигабайтов векторных карт, содержащих геометрии полей и культуры.

Затем все эти данные перешли к back-end разработчику Евгению Воронцу. «Для обработки данных и просчёта статистики я использовал базу данных PostgreSQL c расширением PostGIS. После экспорта исходных векторных данных я получил базу, в которой было около 180 миллионов записей о геометрии полей, а также более миллиарда записей дополнительной атрибутивной информации о самих полях за три года», — рассказывает Женя. На таком объёме данных мы просчитывали статистику, рейтинги, определяли популярность разных культур в регионах мира — всё то, что на карте отображается в левой колонке и интерактивных подсказках.
Мы хотели быстро рассчитывать и отображать агрономические показатели по полю, а также визуализировать график развития растений за сезон. Для этого мы использовали собственный подход к кэшированию и компрессии спутниковых данных. Это позволило сократить размер хранилища данных в 100−200 раз, а скорость получения информации по полю уменьшить до 1 секунды. Также в эту версию OneSoil Map мы добавили комплексный показатель Field Score, который позволяет быстро оценить рейтинг поля. «Field Score — это первый шаг в направлении прогнозирования урожайности, над которым наша команда сейчас работает», — объясняет data scientist Александр Калиновский.

Карта: выбрать формат и подготовить данные

Для того, чтобы визуализировать данные, мы в итоге использовали сервис Mapbox. Существует два подхода к созданию карты, мы опробовали оба. Первый предполагает создание растровой карты. «В этом случае мы делим карту на квадраты, которые рендерим в картинки и храним на сервере. Браузер загружает несколько картинок и двигает их, когда пользователь перемещается по карте», — рассказывает front-end разработчик Дима Кабак. Этот подход позволяет отобразить все поля, не нужно ничего фильтровать. Это красиво, минус в том, что карта получается статичной, плюс растровые картинки много весят.

Второй подход — создание векторной карты. «Браузер загружает векторные данные и уже на стороне клиента анимирует их. Так работают современные карты Google и Yandex. Данные весят меньше, чем картинки, и позволяют изменять дизайн любого элемента», — объясняет Дима. Такую карту позволяет сделать сервис Mapbox, в частности, их библиотека Mapbox GL — инструмент с открытым исходным кодом для отображения карт в вебе. Среди прочего, Mapbox предоставляет платный сервис хранения картографических данных. Можно вручную загрузить свои данные на их серверы, а Mapbox будет быстро распределять информацию, обеспечивая чёткую работу карты. Это существенная часть работы, и благодаря тому, что Mapbox берёт ее на себя, задача команды OneSoil сильно упростилась.

Итоги

За время своей разработки концепция OneSoil Map многократно усложнилась. Если сначала мы планировали сделать простую визуализацию полей и культур по всему миру, то финальный продукт получился намного более комплексным. Но карта стоила затраченных на неё усилий. После релиза в 2018 году нам написали сотни инвесторов, фондов и научных исследователей. Часть технологических решений, например, фреймворк Next JS и утилиту Tippecanoe, мы будем использовать в дальнейшей работе над платформой OneSoil.

Мы стали первыми, кто нанес на карту все поля в США и Европы за три года.
Нравится этот пост?
Статьи по теме
Оставьте комментарий