Agri Putz Logo GAP Logo

GEOSERWIS AGRI PUTZ JAKO SYSTEM WSPIERANIA DECYZJI W ROLNICTWIE PRECYZYJNYM

Autor: Michał Bączkiewicz

Promotor: prof. UAM dr hab. Robert Kostecki

Kierunek: Geoinformacja

Uczelnia: Uniwersytet im. Adama Mickiewicza w Poznaniu

Rok: 2025

Plan Prezentacji

filter_1 Motywacja

Problem i cel pracy

filter_2 Kontekst

Rolnictwo precyzyjne

filter_3 Gospodarka

Agri Putz

filter_4 Dane

Źródła integracji

filter_5 Architektura

Technologie

filter_6 Wyniki

Funkcjonalności

filter_7 Realizacja

Weryfikacja

filter_8 Roadmap

Perspektywy

filter_9 Wnioski

Podsumowanie

Motywacja i Problem

Wyzwanie - Fragmentacja Danych

  • Nowoczesne gospodarstwa generują dane z wielu niezależnych źródeł.
  • Brak spójnego interfejsu do analizy i wizualizacji informacji.
  • Konieczność korzystania z multiplikacji systemów (siloing danych).
  • Wysokie koszty licencjonowania komercyjnych platform FMIS.
Wizualizacja fragmentacji danych w silosach

Cel Pracy Inżynierskiej

flag Cel Główny

Projekt i implementacja dedykowanego systemu GIS służącego do centralizacji, standaryzacji i wizualizacji heterogenicznych danych agronomicznych, eliminującego problem fragmentacji informacji w gospodarstwie wielkoobszarowym.

lock_open Niezależność (Open Source)

Przełamanie bariery "Vendor Lock-in" poprzez stworzenie otwartej architektury niezależnej od płatnych licencji producentów maszyn.

hub Centralizacja Danych

Połączenie rozproszonych "silosów danych" (telemetria, lab, pogoda) w jedną spójną bazę przestrzenną PostGIS.

insights Wsparcie Decyzji (DSS)

Umożliwienie bezpośredniej korelacji map plonowania z zasobnością gleby w jednym oknie mapowym dla optymalizacji nawożenia.

Cele Szczegółowe Pracy

schema Cel 1 -Integracja (ETL)

Opracowanie procedur konwersji surowych danych (telemetria, lab) do jednolitych standardów OGC (WMS/WFS).

speed Cel 2 -Big Data

Wizualizacja ponad 1 miliona punktów telemetrycznych z zachowaniem pełnej precyzji przestrzennej.

dns Cel 3 -Architektura GIS

Budowa wydajnego backendu opartego na relacyjnej bazie PostgreSQL/PostGIS oraz serwerze GeoServer.

query_stats Cel 4 - Analityka (DSS)

Wdrożenie algorytmów wsparcia decyzji: Dashboardu Pogodowego (R Shiny) oraz dynamicznych statystyk polowych.

Rolnictwo Precyzyjne

To nowoczesne podejście do zarządzania gospodarstwem rolnym, które wykorzystuje technologie cyfrowe – takie jak dane satelitarne, czujniki, systemy GPS i analitykę danych – w celu optymalizacji produkcji roślinnej i zwierzęcej.

input Źródła Danych (Filary)

satellite_alt Monitoring

Satelity Sentinel-2, wskaźniki wegetacji.

agriculture Telemetria

Mapy plonowania z maszyn John Deere.

science Gleba

Laboratoryjne analizy zasobności (P, K, Mg).

sensors IoT (Internet Rzeczy)

Stacje pogodowe i czujniki polowe (Real-time).

trending_up Korzyści Wdrożenia

savings Ekonomia

Optymalizacja kosztów poprzez zmienne dawkowanie nawozów (VRA) tylko tam, gdzie jest to uzasadnione.

eco Ekologia

Ochrona środowiska dzięki precyzyjnej aplikacji środków ochrony roślin (redukcja spływu substancji).

precision_manufacturing Organizacja

Lepsza logistyka i zarządzanie flotą dzięki dostępowi do danych o polach w czasie rzeczywistym.

Gospodarstwo Agri Putz - Skala Danych

grid_view
Pola Uprawne
111
Liczba wszystkich analizowanych pól
square_foot
Całkowita Powierzchnia
1743,4 ha
Suma powierzchni operacyjnej
science
Próby Gleby
379
Liczba fizycznych próbek
agriculture
Zbiory John Deere
1 129 792
Suma punktów (2024+2025) - Stan faktyczny

Architektura i Przepływ Danych

Schemat architektury systemu Agri Putz

settings_input_component 1. Import & ETL

Pobranie surowych danych z maszyn, walidacja błędów i transformacja do formatów przestrzennych.

storage 2. Storage (PostGIS)

Magazynowanie ponad 1 mln rekordów z wykorzystaniem indeksów przestrzennych.

public 3. Publikacja (OGC)

Udostępnianie danych do aplikacji przez standardowe protokoły WMS (rastry) i WFS (wektory).

Stos Technologiczny (Tech Stack)

1. Warstwa Danych (Backend)

PostgreSQL + PostGIS: GIST & Materialized Views

PostgreSQL 17 Materialized Views
arrow_downward SQL arrow_upward

2. Warstwa Pośrednia (Middleware)

Publikacja usług OGC

GeoServer 2.26
arrow_downward HTTP / REST API (WMS & WFS) arrow_upward

3. Warstwa Prezentacji (Frontend)

Interfejs użytkownika i wizualizacja

OpenLayers 10 R Shiny

Proces Integracji Danych (ETL)

1. Extract

Źródło: John Deere Operations Center


Format: Surowe pliki Shapefile (.shp) + CSV

arrow_forward

2. Transform

Narzędzia: QGIS + Skrypty Python


Walidacja geometrii, czyszczenie atrybutów.

arrow_forward

3. Load

Cel: Baza PostgreSQL


Batch Insert do tabel rocznych (jd2024, jd2025).

build Wyzwania Inżynierskie (Bugfixing)

check_circle
Scalanie Big Data Automatyczne połączenie 97 osobnych plików misji polowych w jedną spójną warstwę przestrzenną.
check_circle
Poprawa Struktury Danych Rozwiązanie problemu ucinania nazw odmian (zwiększenie limitu pola VARIETY z 9 do 12 znaków).

Monitoring Satelitarny: Sentinel-2

functions Algorytmika Wskaźników

NDVI (NIR - Red) / (NIR + Red)
Standardowy wskaźnik wegetacji.
GNDVI (NIR - Green) / (NIR + Green)
Lepszy dla gęstej biomasy (brak nasycenia).
  • Dane źródłowe: Kanały spektralne Sentinel-2 (10m GSD).
  • Zastosowanie w systemie:
    • NDVI: Wczesna faza wzrostu (wiosna).
    • GNDVI: Szczyt wegetacji (lato), gdy NDVI ulega saturacji.

compare Analiza Czasowa (Przykład NDVI)

NDVI Kwiecień
Kwiecień '25 (Wiosna): Początek wegetacji, niska biomasa.
NDVI Sierpień
Sierpień '25 (Lato): Szczyt wegetacji, wysoka biomasa.

Moduł Pogodowy: System Wspomagania Decyzji (DSS)

Compliance & Normy

Algorytm zgodny z Rozporządzeniem MRiRW oraz metodyką integrowanej ochrony roślin IOR-PIB.

Parametryzacja Algorytmu:

air
< 5 m/s
Limit znoszenia cieczy (Drift)
thermostat
10 – 25°C
Optimum fizjologiczne roślin
water_drop
40 – 90%
Efektywność wchłaniania
Interfejs Systemu DSS
Open-Meteo API
Hourly Forecast Integration
cloud_sync

Integracja Danych Publicznych (Cascading WMS)

layers Zintegrowane Rejestry Państwowe

ARiMR System LPIS i EFA
  • Działki referencyjne (MKO) – podstawa dopłat.
  • Klasy użytkowania terenu.
  • Elementy Krajobrazu (EFA) – wymogi zazielenienia.
GUGiK Geoportal Krajowy
  • EGiB – Granice działek ewidencyjnych.
  • Numeryczny Model Terenu (Cieniowanie).
IUNG / Inwestycje Ograniczenia i Gleba
  • Mapa Glebowo-Rolnicza (Klasy bonitacyjne).
  • Strefy Turbin Wiatrowych – analiza ograniczeń.
Panel Warstw WMS
Interoperacyjność (OGC):

Agregacja danych rozproszonych (Live Stream) bez fizycznego pobierania plików.

Implementacja Frontendowa (Client-Side)

OpenLayers

v10.2.1 (Latest Stable)
map
  • Renderowanie: Canvas API (wysoka wydajność przy 100k+ wektorów).
  • Interakcja: Obsługa zdarzeń `singleclick` i dynamiczne zapytania do warstw WMS.

R Shiny

v1.9 (Data Science)
analytics

Wydzielony mikroserwis do analizy pogody (System DSS). Separacja logiki statystycznej od mapowej.

JavaScript (ES6+)

Performance & Batching
speed

Autorski algorytm Batch Loading do obsługi Big Data. Pobieranie danych WFS w paczkach, aby uniknąć timeoutów:

while (hasMore) { const params = new URLSearchParams({ startIndex: startIndex, count: 250000 // Batch Size }); const res = await fetch(url + params); // ... concat features ... }

CSS3 & UX

Modern Variables
palette
  • Dark Mode: Pełna obsługa motywów oparta o zmienne CSS (:root).
  • Layout: Responsywny Grid/Flexbox dla paneli narzędziowych i tabel statystyk.

Implementacja Backendowa (Server-Side)

PostgreSQL 17 + PostGIS

Spatial Database
storage
  • Storage: Przechowywanie geometrii poligonowych (Pola, Strefy) i punktowych (JD).
  • Workflow (macOS): Zarządzanie bazą i import danych (`shp2pgsql`) z poziomu Terminala.

GeoServer 2.26

SLD Styling (XML)
dns

Autorska definicja stylów rastrowych (RasterSymbolizer) dla map potencjału:

<sld:RasterSymbolizer> <sld:ColorMap type="ramp"> <!-- Klasyfikacja potencjału --> <sld:ColorMapEntry color="#d7191c" quantity="84" label="Niska" /> <sld:ColorMapEntry color="#1a9641" quantity="118" label="Wysoka" /> </sld:ColorMap> </sld:RasterSymbolizer>

Spatial SQL

Query Optimization
terminal

Architektura oparta na R-drzewach (R-Tree). Indeksy przestrzenne GiST zapewniające milisekundowy dostęp do danych w wybranym oknie mapy (BBOX).

Java Runtime

Eclipse Adoptium 17
memory
  • Środowisko: OpenJDK 17.0.12 (LTS) - stabilna baza dla GeoServera.
  • Integracja: Obsługa natywnych bibliotek przetwarzania obrazu.

Interfejs Użytkownika (GUI)

dashboard Panel Sterowania

search Smart Search

Indeksowane wyszukiwanie "Live" po numerze ewidencyjnym lub nazwie pola.

layers Multi-Source Maps

Integracja usług XYZ Tiles:

  • Esri Satellite: Wysoka rozdzielczość.
  • Google Hybrid: Etykiety drogowe.
  • OpenStreetMap: Kontekst topograficzny.

straighten Narzędzia Geometrii

Pomiar odległości i powierzchni (Hektary) na warstwie wektorowej.

Interfejs Geoserwisu
dark_mode Tryb Ciemny (Dark Mode) aspect_ratio Responsive Design

Optymalizacja Big Data: Od Batchingu do MV

memory Ewolucja Przetwarzania

Skala danych
1 129 792
punktów (Ground Truth)
Czas (Finalny)
< 1 s
Materialized Views

Początkowa implementacja (Batch Loading) dowiodła sprawności przesyłu strumieniowego (7s). Docelowa optymalizacja przeniosła agregację na serwer (Materialized Views), eliminując obciążenie klienta.

-- Przyspieszenie zapytań przestrzennych i tabelarycznych
CREATE INDEX sidx_jd_geom ON jd2024 USING gist(geom);
CREATE MATERIALIZED VIEW mv_jd_agregacja AS
SELECT nazwa_pola, AVG(plon) FROM jd GROUP BY 1;
Dashboard Statystyk Big Data
Rezultat optymalizacji:

Błyskawiczna analityka 1,1 mln rekordów bez blokowania interfejsu użytkownika.

Interaktywna Eksploracja Danych (Drill-down)

ads_click Mechanizm "Point & Query"

Technologia OGC:

Kliknięcie na mapie wywołuje asynchroniczne zapytanie WMS GetFeatureInfo do GeoServera, który zwraca atrybuty obiektu w formacie JSON.

Zintegrowany Model Danych:

agriculture Dane Telemetryczne (Maszyna)
• Plon (Masa sucha/mokra) • Wilgotność ziarna [%] • Czas • Odmiana
science Parametry Agro-Lab (Gleba)
• Odczyn pH • Makroelementy (P, K, Mg)
+ interpretacja klas zasobności (widoczna na zrzucie).
Panel szczegółów pola - Potas
Przykład użycia:

Panel pokazuje wysoką zawartość potasu (39.60). System klasyfikuje to jako "Bardzo Wysoka" (kolor ciemnozielony na mapie).

Raportowanie i Interoperacyjność (Data Export)

table_view Silnik Raportujący

Agregacja "Per Pole":

Automatyczne obliczanie średnich ważonych (plon, wilgotność) dla każdego zdefiniowanego poligonu.

Parser CSV (Custom Export):

Dynamiczne generowanie plików `.csv` z obsługą kodowania UTF-8 (polskie znaki) dla Microsoft Excel.

Implementacja modułu eksportu (JavaScript):
window.exportFullJD = () => {
  const data = Object.values(StatsState.aggregated.jd);
  const exportData = data.map(j => ({
    'Pole': j.nazwa_pola,
    'Plon [t/ha]': j.vryieldmass_avg,
    'Wilgotność [%]': j.moisture_avg
  }));
  CSVExport.exportArray(exportData, 'raport_zbiory.csv');
};
Funkcja Eksportu do CSV
table_view
Kompatybilność
Excel / Calc
text_snippet
Format
CSV (UTF-8)

Weryfikacja Założeń i Realizacja Celów

rule Matryca Realizacji Wymagań

Trójwarstwowa Architektura GIS Implementacja stosu: PostgreSQL/PostGIS → GeoServer → OpenLayers.
check_circle
Integracja i Standardy OGC Scalenie 5 heterogenicznych źródeł (telemetria, satelita, gleba, pogoda, WMS).
check_circle
Wydajność Big Data Obsługa >1 mln rekordów w przeglądarce (Batch Loading).
check_circle
Wspomaganie Decyzji (DSS) Dashboard pogodowy (okna zabiegów) i interpretacja zasobności gleb.
check_circle
verified

Cele Pracy
Osiągnięte

System inżynierski zweryfikowany
na danych rzeczywistych.

Wyzwania Projektowe i Zastosowane Rozwiązania

memory

Big Data & Pamięć

Problem: Przeciążenie przeglądarki przy ładowaniu 1 mln punktów telemetrycznych.
Rozwiązanie: Asynchroniczny Batch Loading (stronicowanie po 250k rekordów).
speed

Wydajność Serwera

Problem: Wolne zapytania przestrzenne i renderowanie map.
Rozwiązanie: Indeksowanie PostGIS + GeoWebCache.
hub

Interoperacyjność

Problem: Heterogeniczne źródła danych.
Rozwiązanie: Unifikacja poprzez standardy OGC.
lock_open

Vendor Lock-in

Problem: Uzależnienie od drogich licencji komercyjnych.
Rozwiązanie: Stos technologiczny 100% Open Source.

Roadmapa Rozwoju i Plany na Przyszłość

school Cele Magisterskie (Short-term)

insights
Zaawansowana Statystyka:
Badanie korelacji (np. plon vs zasobność gleby), analiza regresji.
history
Analiza Historyczna:
Porównywanie danych wieloletnich (Trendy zmian w czasie).
admin_panel_settings
Multi-tenancy (Logowanie):
Panel użytkownika pozwalający na separację danych dla różnych gospodarstw.

trending_up Skalowanie Systemu (Long-term)

precision_manufacturing
Mapy VRA (Zmienne Dawkowanie):
Generowanie plików sterujących dla maszyn (siew, nawożenie).
smartphone
Mobile First / PWA:
Pełna responsywność na telefonach dla pracy w terenie.
hub
Integracja ARiMR & Skalowanie:
Automatyzacja e-Wniosków i wdrożenie w kolejnych gospodarstwach.

Wnioski Końcowe i Wartość Projektowa

savings

Optymalizacja Kosztów

Pełna niezależność od komercyjnych platform (vendor lock-in). Zastąpienie płatnych licencji stosem 100% Open Source przy zachowaniu funkcjonalności klasy Enterprise.

speed

Przełamanie Barier WebGIS

Udowodniono możliwość błyskawicznego przetwarzania Big Data (>1,1 mln rekordów) dzięki połączeniu autorskich algorytmów stronicowania (ETL) oraz agregacji bazodanowej SQL.

analytics

Rolnictwo 4.0 (Data-Driven)

System realnie wspiera proces decyzyjny. Centralizacja rozproszonych danych (Gleba, Maszyny, Satelita) pozwala na precyzyjną analitykę i rolnictwo precyzyjne.

Dziękuję za uwagę

Zapraszam do pytań i dyskusji

email
terminal
menu_book
Dokumentacja Techniczna
m-baczkiewicz.github.io/INZ
© 2025 Michał Bączkiewicz | Uniwersytet im. Adama Mickiewicza w Poznaniu
1 / 24