К основному содержанию
← Все кейсы
AgriTech · GIS · Казахстан

KazPasture — GIS-платформа спутникового мониторинга пастбищ

Цифровой мониторинг пастбищ на основе GIS, спутниковых данных и полевой мобильной работы.

FlutterReact + MapLibreFastAPIPostgreSQL + PostGISGoogle Earth Engine
244пастбища
1 567водоисточников
1 022водные зоны
2 571объект границ
GIS-редактор KazPasture с пастбищами, водоисточниками и зонами
GIS-админкаУправление пространственными данными
Мобильная карта пастбищ KazPasture
Мобильная карта · реальные GeoJSON-данные
01 / Задача

Превратить сложные геоданные в рабочий инструмент для поля и офиса

Границы пастбищ, водные ресурсы, спутниковая динамика, почва и климат находились в разных источниках. Специалисту требовался быстрый мобильный доступ к территории, а администратору — безопасный способ обновлять GIS-данные без выпуска новой версии приложения.

KazPasture объединил мобильное приложение, спутниковую аналитику и отдельную web-админку в один цифровой контур: от выбора территории на карте до аналитического профиля, рекомендаций и публикации обновлённых геоданных.

Продукт
Кроссплатформенная GIS-система
Пользователи
Полевые специалисты, аналитики, администраторы
Платформы
Android, iOS, Web
Языки
Русский, казахский, английский
02 / Решение

Три интерфейса вокруг единой геопространственной модели

01

Мобильное приложение

Поиск территории, слои карты, карточка пастбища, аналитика, избранное, пользовательские области и PDF-отчёт.

02

Спутниковый backend

NDVI, осадки, почва, высота, температура, тайлы, временные ряды, рекомендации и двухуровневый кэш.

03

GIS-админка

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

03 / Мобильное приложение

Полевая работа начинается с карты

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

  • OpenStreetMap и flutter_map
  • NDVI, почва, осадки и вода как отдельные слои
  • Локальные и серверные источники данных
  • Построение собственной области внутри пастбища
  • Избранное с локальным хранением и синхронизацией
Карта KazPasture с границами пастбищ
Интерактивная карта
Карточка выбранного пастбища KazPasture
Площадь и отраслевая классификация
04 / Аналитика территории

Спутниковые, климатические и отраслевые показатели в одном отчёте

Для выбранного пастбища система собирает целостный профиль и показывает показатели в карточках, графиках и таблицах.

Среднее, минимум, максимум и разброс NDVIВременные ряды растительности и осадковТемпература и диапазон высотpH, углерод, плотность и влагоёмкость почвыДоминирующий класс земного покроваКормовые ресурсы и ориентировочная нагрузкаВодоисточники и зоны внутри территорииАвтоматические и AI-рекомендацииПечать и отправка итогового PDF

Значения на экране аналитики демонстрационные; сам интерфейс и набор реализованных показателей реальные.

Аналитика пастбища KazPasture с NDVI и природными показателями
Аналитический профиль · демоданные
05 / Масштаб данных

Сотни территорий и тысячи пространственных объектов

244полигона пастбищ
1 567точек водоисточников
1 022зоны обводнения
2 571объект административных границ
EPSG:3857рабочая система координат Web Mercator
GiSTпространственные индексы PostgreSQL
BBOXзагрузка объектов в видимой области
ST_Unionматериализованное объединение зон
06 / GIS-админка

Редактирование карты без вмешательства в код приложения

MapLibre GL показывает пастбища, источники воды и зоны обводнения в браузере. Администратор добавляет, изменяет и удаляет водоисточники, строит круговые зоны и фильтрует объекты по текущей области карты.

Административный GIS-редактор KazPasture на MapLibre GL
Интерактивный GIS-редакторРеальные локальные GeoJSON-данные; демонстрационная сессия
07 / Контроль изменений

Черновик → проверка → публикация → откат

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

  • История версий и автор изменений
  • Снимок опубликованных объектов
  • Откат к предыдущей версии
  • Экспорт JSON / GeoJSON для мобильного клиента
Версии и черновики геоданных KazPasture
Версионирование данныхДемонстрационные записи API
08 / Эксплуатация

Видимость спутникового контура, кэша и фоновых задач

Dashboard показывает состояние Google Earth Engine, memory/file cache, активные MapID, пользователей и полноту прекэширования. TTL задаётся отдельно для разных типов тяжёлых данных.

Системный dashboard KazPasture
Мониторинг системыGEE, кэш, MapID и прекэширование · демоданные
Настройки кэширования KazPasture
Настройки TTLNDVI, почва, осадки, тайлы, аналитика и AI
09 / Производительность и офлайн

Передаём только нужную геометрию и не пересчитываем тяжёлую аналитику повторно

01

Локальные GeoJSON

Базовая карта и границы доступны без обязательной загрузки всей геометрии с сервера.

02

BBOX-запросы

API возвращает геообъекты для видимой области, сокращая объём передачи и отрисовки.

03

Memory cache

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

04

File cache

Второй уровень сохраняет тяжёлые данные между отдельными запросами.

05

Фоновый прогрев

Прекэширование подготавливает данные пастбищ до пользовательского запроса.

06

Управляемые TTL

Срок жизни настраивается отдельно для NDVI, почвы, осадков, тайлов и рекомендаций.

10 / Архитектура

Разделили транзакционный GIS-контур и ресурсоёмкие спутниковые вычисления

FlutterAndroid · iOS · WebReact 18GIS-админка
REST / GeoJSON
Admin API · FastAPIПользователи, избранное, GIS-объекты, версииNDVI API · FastAPIСпутниковые слои, аналитика, рекомендации, кэш
PostgreSQL + PostGISГеометрия, роли и версииGoogle Earth EngineСпутниковые вычисленияAI APIРекомендацииMemory + filesДвухуровневый кэш

Два backend-сервиса можно масштабировать независимо: операции с базой не конкурируют внутри одного процесса с расчётом NDVI, тайлов и временных рядов.

11 / Технологический стек

Кроссплатформенный клиент, геопространственная база и Python-backend

Mobile

Flutter · Dart 3

Material/Cupertino UI, Provider, Secure Storage и SharedPreferences.

Карты

flutter_map · OSM

latlong2, proj4dart, геолокация и разрешения устройства.

Admin

React 18 · Vite 5

TypeScript, Tailwind, Zustand, Axios, Radix UI и MapLibre GL 4.

Backend

Python · FastAPI

Pydantic, SQLAlchemy Async, asyncpg, GeoAlchemy2 и Shapely.

GIS Database

PostgreSQL + PostGIS

Alembic, GiST-индексы, BBOX и пространственные функции.

Satellite

Google Earth Engine

NDVI, изображения, тайлы, климатические показатели и ряды.

Отчёты + AI

PDF · DeepSeek

fl_chart, printing, share_plus и OpenAI-compatible API.

Infrastructure

Docker · Nginx

Docker Compose, reverse proxy, health endpoints и Render Blueprint.

≈31 000строк Dart, Python, TypeScript/TSX, SQL и HTML без зависимостей и сборочных каталогов1.1.3+5версия Flutter-приложения в актуальном pubspec.yaml
12 / Доступ и безопасность

Роли и критические операции контролируются на backend

01

JWT access / refresh

Короткая и длинная сессии; refresh-токены ротируются и могут отзываться.

02

bcrypt

Пароли не сохраняются в открытом виде и проверяются по безопасному хэшу.

03

Роли user / admin

Редактирование, публикация и управление пользователями доступны администраторам.

04

Pydantic

Backend валидирует структуру и типы входящих API-данных.

05

Rate limiting

Чувствительные маршруты защищены ограничением частоты запросов.

06

CORS allowlist

Доступ к API ограничивается известными frontend-источниками.

Защищённый вход в GIS-админку KazPasture
Вход в административную панель
Управление пользователями и ролями KazPasture
Пользователи и роли · демоданные
13 / Аккаунт и настройки

Гостевой режим снижает порог входа, аккаунт синхронизирует работу

Пользователь может посмотреть карту как гость, а после авторизации — синхронизировать избранное. В настройках выбираются язык, источник данных, административные границы и локальный кэш.

  • Регистрация и восстановление пароля
  • Гостевой сценарий
  • Защищённое хранение токенов на устройстве
  • Профиль и удаление аккаунта
Экран входа KazPasture
Вход и гостевой режим
Настройки мобильного приложения KazPasture
Настройки карты и кэша
Профиль KazPasture
Профиль пользователя
14 / Проверка реализации

Собрали production-интерфейсы и проверили каждый контур

Flutter Webrelease build прошёл
1 505модулей обработано production-сборкой admin frontend
5 / 5widget и backend-тесты прошли
12экранов проверено для кейса

Vite предупреждает, что GIS-чанк редактора карты превышает 500 kB. Это не блокирует сборку, но показывает следующий шаг оптимизации — дополнительный code splitting. Нагрузочные тесты и подтверждённые production-KPI в материалах отсутствуют.

15 / Результат

Единый цифровой контур от спутникового снимка до решения в поле

KazPasture объединяет мобильную работу, пространственную базу, спутниковую аналитику и контролируемое управление данными. Специалист получает понятный профиль территории, руководитель — единый формат оценки, администратор — безопасную публикацию и откат GIS-изменений.

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

AgriTechGISRemote sensingMobilePostGISAI
Ваш следующий продукт

Нужна GIS-платформа, мобильное приложение или аналитический сервис?

Разберём данные и полевые процессы, спроектируем архитектуру и соберём управляемое решение.

Обсудить проект ↗Вернуться к кейсам