Два года назад, я и моя команда приняли предложение поучаствовать в разработке одного занимательного проекта в аграрном секторе. В тот момент мы себе даже не представляли, насколько трудным и долгим будет первый проект и насколько не своевременным для нас будет проект номер два.
Как правило проекты подобные первому выполняются командой разработчиков от 5 и более, с постановкой задач, сроков и дедлайнами. Нам же казалось, что всё это будет быстро и просто, однако уже на первом этапе проекта стали возникать вопросы по согласованию и работам. Система задумывалась очень, и очень крутая и я к своему удивлению не видел подобных аналогов у конкурентов. Система строилась по ряду параметров таких как регион, почва, гибрид, удобрения, механизация и прочее, среди прочего оказалась погода. Сейчас объясню почему именно параметр "погода" стал для нас камнем преткновения. Во-первых, имея какой-то параметр, который меняется со временем получаешь разные результаты математического вычисления. А имея архив этого параметра, чем больше, тем лучше, можно соответственно, на основе мат. анализа, делать те или иные предикшены (предсказания), однако! Внимание в нашей стране нет, НЕТ, архивов по погоде более чем 15-20 лет... Есть отдельные компании, которые предлагают помимо архива ряд сервисов – как то космические съемки и прочее, однако, далеко на таких сервисах не «уедешь» по той одной простой причине: представьте себе два локейшина на расстоянии 30-40 км., друг от друга, как ни странно именно в этом месте есть одна базовая метеостанция, однако эта метеостанция снимает погодные показания именно в точке расположения, по умолчанию считается, что показания которые она снимает – действительны в радиусе – 30-40 км, всё бы ни чего в центральной полосе нашей необъятной, а вот в КЧР и КБР где местность гористая такие показания не проходят, это проблема номер один. Вторая проблема заключается в том, что с течением времени метеостанций не увеличивается, а как правило уменьшается, наш хваленый гидрометцентр не может точно сказать о количестве станций как таковых, в итоге довольствуемся тем, что имеем и закладываем погрешность 10-15%, но уже на этих 10-15% получается огромный разлет по данным которые высчитываются. На наш логичный вопрос как рассчитывается погода в тех местах где нет метеостанций, как правило следовал ответ - «на основе методов математического анализа», нас к несчастью такой ответ не устраивал и хотелось четкого понимания на каком из методов основывается данный расчёт. Следующая проблема, с которой мы столкнулись – отсутствие элементарного API для загрузки погодных данных по конкретной геолокации. В первом случае API не было вовсе и коллеги нас «динамили» почти полгода, что API вот вот выйдет, но тесты тестами и мы написали «pump» который принимал на входе некий текстовый файл и дальше разносил погоду по базе данных, но для получения таких текстовых файлов нам требовалось что бы на «той стороне» работал механизм который бы с равным промежутком времени нам выкладывал, хотя бы на ftp, наши запрошенные данные, к сожалению на той стороне все итерации делались в ручном режиме, в том числе из за этого пришлось распрощаться с этой компанией уже на стадии тестирования их данных.
Следующая компания предоставляющая нам погодный сервис оказалась более вменяемой и с вполне логичным API и GUI, у нас появилась возможность заводить в их систему наши точки по GPS координатам и далее получать ID локации и посредством API выгружать погоду. Было мнение, что погода будет загружаться ну очень долго, однако результат нас очень даже обрадовал, вполне себе приемлемое время и очень правдоподобные результаты.
Наша же собственная платформа, основываясь на этих факторах должна была строить графики посадки и уборки урожая (имя под собой такие факторы как качество почвы, эталонное значение урожайности, риски в виде все возможной заразы, затопления, предсказания температурного режима и кучи других очень важных, в данном случае, факторов), с продуктовыми специалистами была выведена математическая зависимость урожайности, от всех указанных факторов. Таким образом сейчас на двух экспериментальных точках мы теоретически можем сказать, какой возможный урожай нас ожидает. К сожалению, это не конец проекта, это только тестовая бета. Агро сектор не быстр сам по себе, нельзя просто так взять и перемотать время и посмотреть какая будет всхожесть для сравнения с тем что предсказывает платформа, тоже самое и по урожайности, поэтому будем смотреть уже в сентябре. По второму проекту расскажу в следующий раз.