# Katalog lastnih funkcij

GeoPard ponuja celovit katalog prilagojenih funkcij, zasnovanih za izboljšanje berljivosti in funkcionalnosti analitike, temelječe na enačbah. Te funkcije zajemajo zapleteno `python` kodo, kar omogoča enostavno izvajanje zahtevnih obdelav podatkov in izračunov.

### Vnesi enačbo

<figure><img src="https://docs.geopard.tech/~gitbook/image?url=https%3A%2F%2F3272281156-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FYICBELdyAXXebKAzfLOR%252Fuploads%252FdHTdBE1CN2gSJbE7Bfo0%252Fimage.png%3Falt%3Dmedia%26token%3Dd8e3544f-feca-43a6-b6a1-f1305068de88&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=508ec9e0&#x26;sv=2" alt=""><figcaption><p>Vnesite enačbo</p></figcaption></figure>

Seznam razpoložljivih vnaprej pripravljenih funkcij za ustvarjanje bolj intuitivnih in vzdrževanih enačb v GeoPard je vključen v `geopard` paketu:

### fill\_gaps\_with\_k\_neighbors

```python
# input_data je sloj atributa zbirke podatkov (npr. pridelek, NDVI)
filled_layer = geopard.fill_gaps_with_k_neighbors(yield_layer, k=5)
```

Ta funkcija obnovi vrzeli v podatkih ali ničle v zbirki podatkov z uporabo algoritma K-sosedov. Z določitvijo `input_data` spremenljivke (kot Dataset z izbranim atributom) in števila sosedov `k`, lahko brez težav zapolnite manjkajoče vrednosti ter zagotovite kontinuiteto in celovitost podatkov.

Ta funkcija dobro deluje, kadar so vrzeli v podatkih razporejene po polju in niso omejene na kateri koli poseben del meje polja.

### determine\_data\_similarity

```python
similarity = geopard.determine_data_similarity(yield_2023, yield_2024)
```

Uporabite to funkcijo za izračun podobnosti na ravni posameznega piksla med dvema zbirkama podatkov. Spremenljivki `data_layer_1` in `data_layer_2` naj predstavljata **isto meritev** v **istih enotah** za zagotovitev smiselne primerjave. Z navedbo spremenljivk `data_layer_1` in `data_layer_2` povezanih z zbirkami podatkov lahko ustvarite karto podobnosti z vrednostmi od 0 do 1, kar olajša primerjalne študije in prepoznavanje vzorcev.

### determine\_data\_similarity\_from\_normalized

```python
layer_1_norm = geopard.normalize_data(layer_1)
layer_2_norm = geopard.normalize_data(layer_2)

similarity = geopard.determine_data_similarity_from_normalized(layer_1_norm, layer_2_norm)
```

Uporabite to funkcijo za izračun podobnosti na ravni posameznega piksla med dvema normaliziranima zbirkama podatkov. Normalizacija je priporočljiva, kadar imata izvirni `data_layer_1` in `data_layer_2` različne lestvice ali enote. Z vnosom teh zbirk podatkov funkcija ustvari karto podobnosti z vrednostmi od 0 do 1, zaradi česar je primerna za primerjalne študije, prepoznavanje vzorcev in analizo prostorske skladnosti.

### determine\_low\_high\_similarity

```python
zones = geopard.determine_low_high_similarity(soil_ph, yield_layer)
```

Ta funkcija ocenjuje nizko-visoko podobnost med dvema zbirkama podatkov. Z vnosom spremenljivk `data_layer_1` in `data_layer_2` povezanih z zbirkami podatkov prejmete kategorizirano karto podobnosti, ki prikazuje kombinacije, kot so nizko-nizko, nizko-visoko, visoko-nizko in visoko-visoko, kar je uporabno za natančnejšo klasifikacijo podatkov.

### get\_value\_for\_zone

```python
zone_3_values = geopard.get_value_for_zone(yield_layer, zone_map, zone_id=3)
```

Uporabite to funkcijo za استخراج vseh vrednosti iz atributa zbirke podatkov znotraj ene same cone. Navedite `data_layer` (sloj atributa), `zones_layer` (zemljevid con), in `zone_id` (številko cone) za izolacijo vrednosti za analizo, kot so pridelek, količina aplikacije ali količina setve, znotraj te cone.

### drop\_value

```python
clean_layer = geopard.drop_value(elevation_layer, value_to_drop=0)
```

Ta funkcija omogoča odstranjevanje določenih vrednosti iz atributa zbirke podatkov. Z določitvijo `data_layer` in `value_to_drop`, lahko zbirko podatkov očistite tako, da te vrednosti odstranite iz rezultata, tehnično pa jih zamenjate z `NaN`.

### normalize\_data

```python
ndvi_normalized = geopard.normalize_data(ndvi_layer)
```

Z to funkcijo normalizirajte atribut zbirke podatkov. Če podate `data_layer`lahko podatke skalirate v standardizirano območje od 0 do 1, kar olajša primerjavo in integracijo med različnimi zbirkami podatkov.

### calculate\_total\_applied\_fertilizer

```python
applications = [urea_rate, map_rate]
coefficients = [1.0, 1.0]  # uporabite 1.0 za ohranitev enot ali prilagodite glede na koncentracijo proizvoda

total_applied = geopard.calculate_total_applied_fertilizer(applications, coefficients)
```

Izračunajte skupno uporabljeno gnojilo v enotah na površino (na primer v kg/ha, l/ha, gal/ac itd.). Z navedbo `application_list` zbirk podatkov z atributi AppliedRate in ustreznim `active_ingredient_coefficient_list` za gnojilne proizvode dobite dejansko skupno uporabljeno gnojilo v enotah (na primer v kg, l, gal itd.).

### calculate\_total\_applied\_nitrogen

```python
applications = [urea_rate, uan_rate]
nitrogen_coefficients = [0.46, 0.32]  # delež N (aktivna sestavina) v vsakem proizvodu

N_total_applied = geopard.calculate_total_applied_nitrogen(applications, nitrogen_coefficients)
```

Izračunajte skupno uporabljen dušik v kg/ha s to funkcijo. Z navedbo `application_list` zbirk podatkov z atributi AppliedRate in ustreznim `active_ingredient_coefficient_list` z dušikovimi proizvodi za pretvorbo dejanskega dušika v kg/ha lahko natančno izračunate skupno uporabljen dušik, kar je bistveno za kmetijsko načrtovanje in ocene trajnosti. Izhod se uporablja kot `N_total_applied` v[`geopard.calculate_nitrogen_use_efficiency`](#calculate_nitrogen_use_efficiency).

### calculate\_nitrogen\_uptake

```python
N_uptake = geopard.calculate_nitrogen_uptake(
    yield_wet_tha=yield_layer,
    moisture_pct=moisture_layer,
    protein_pct=protein_layer,
    protein_crop_correction_coefficient=6.25
)
```

Določite sprejem dušika v kg/ha s to funkcijo. Z navedbo `yield_wet_tha`, `moisture_pct`, `protein_pct` iz zbirke podatkov Yield in `protein_crop_correction_coefficient` ki predstavlja povezavo med beljakovinami in sprejemom dušika, lahko ocenite učinkovitost rabe dušika v rastlinski pridelavi. Izhod se uporablja kot `N_uptake` v[`geopard.calculate_nitrogen_use_efficiency`](#calculate_nitrogen_use_efficiency) .

### calculate\_nitrogen\_use\_efficiency

```python
NUE_pct = geopard.calculate_nitrogen_use_efficiency(N_total_applied, N_uptake)
```

Ocenite učinkovitost rabe dušika v odstotkih s to funkcijo. Z vnosom [`N_total_applied`](#calculate_total_applied_nitrogen) in [`N_uptake`](#calculate_nitrogen_uptake) spremenljivk (iz prejšnjih funkcij) lahko izmerite učinkovitost uporabe dušika, kar pomaga pri optimizaciji rabe gnojil.

### calculate\_costs

```python
rates = [seed_rate, fertilizer_rate]
prices = [1.2, 0.8]  # cena na enoto za vsak sloj količine
costs = geopard.calculate_costs(rates, prices)
```

Izračunajte skupne stroške na podlagi količin uporabe in cen s to funkcijo. Z navedbo `application_rate_list` zbirk podatkov z atributi AppliedRate in ustreznim `price_per_unit_list`, lahko združite stroške, povezane z različnimi kmetijskimi dejavnostmi, kar podpira upravljanje proračuna in finančno načrtovanje. Izhod se uporablja kot `costs` v[`geopard.calculate_profit`](#calculate_profit).

### calculate\_revenue

```python
revenue = geopard.calculate_revenue(yield_as_mass=yield_layer, yield_price_per_unit=0.25)
```

Izračunajte prihodke iz zbirke podatkov Yield s to funkcijo. Z vnosom `yield_as_mass` povezanega z atributom zbirke podatkov Yield in `yield_price_per_unit`, lahko ocenite dohodek, ustvarjen s pridelavo, kar olajša gospodarske ocene. Izhod se uporablja kot `costs` v[`geopard.calculate_profit`](#calculate_profit) .

### calculate\_profit

```python
profit = geopard.calculate_profit(revenue, costs)
```

Določite dobiček tako, da od prihodkov odštejete stroške s to funkcijo. Z navedbo [`revenue`](#calculate_revenue) in [`costs`](#calculate_costs) spremenljivk (iz prejšnjih funkcij) lahko preprosto izračunate finančni dobiček svojih kmetijskih dejavnosti, kar podpira analizo donosnosti in strateško odločanje.

### fill\_value\_for\_range

```python
# ohrani samo vrednosti med 10 in 20, ostalo zamenjaj z 0
filtered = geopard.fill_value_for_range(layer, min_value=10, max_value=20, value_to_fill=0)
```

Ta funkcija filtrira vrednosti znotraj določenega območja v `vhodnem` nizu. Z navedbo `vhodnem` niza ter izbirnimi `min_value` in izbirnimi `max_value` pragi lahko izolirate vrednosti, ki sodijo v želeno območje. Parameter `value_to_fill` omogoča zamenjavo vrednosti izven območja z določeno vrednostjo, kar izboljša procese filtriranja in normalizacije podatkov.

### calculate\_per\_pixel\_mae

```python
mae_layer = geopard.calculate_per_pixel_mae(predicted_yield, observed_yield)
```

Uporabite to funkcijo za izračun srednje absolutne napake (MAE) na piksel med dvema zbirkama podatkov. Ponuja prostorsko karto absolutnih razlik. »Absolutna razlika« je preprosto velikost razkoraka med ustreznimi vrednostmi pikslov, ne glede na to, ali je ena višja ali nižja.

Funkcija pomaga prepoznati območja z večjimi odstopanji.

### calculate\_per\_pixel\_relative\_deviation

```python
relative_dev = geopard.calculate_per_pixel_relative_deviation(observed_yield, modeled_yield)
```

Ta funkcija izračuna relativno odstopanje za vsak piksel med dvema zbirkama podatkov ter razliko izrazi kot odstotek vrednosti v `dataset_1`. V bistvu pokaže, za koliko vrednost enega piksla odstopa od ustrezne vrednosti v `dataset_1` v sorazmernem smislu.

Ta pristop je še posebej uporaben pri analizi sprememb v lastnostih tal, pridelku ali podatkih daljinskega zaznavanja, saj vam pomaga hitro zaznati območja s pomembnimi sorazmernimi razlikami.

### calculate\_difference

```python
difference = geopard.calculate_difference(yield_2024, yield_2023)
```

Ta funkcija od ene zbirke podatkov odšteje drugo, da ustvari karto razlik. Poudari območja, kjer so vrednosti v eni zbirki podatkov višje ali nižje v primerjavi z drugo, kar olajša prepoznavanje trendov in sprememb skozi čas.

To orodje je še posebej uporabno za vizualizacijo razlik v lastnostih tal, pridelku ali podatkih daljinskega zaznavanja, saj pomaga hitro prepoznati območja, ki morda zahtevajo nadaljnjo analizo ali ukrepanje.

### calculate\_relative\_difference

```python
relative_diff = geopard.calculate_relative_difference(yield_2024, yield_2023)
```

Ta funkcija izračuna relativno razliko za vsak piksel tako, da normalizira razliko med zbirkama podatkov z uporabo vrednosti iz `dataset_2`. To pomeni, da pokaže, kako pomembna je sprememba glede na velikost `dataset_2`.

Taka sorazmerna primerjava je še posebej uporabna pri delu z zbirkami podatkov različnih lestvic, saj pomaga razkriti relativne premike v lastnostih tal, pridelkih ali izhodih senzorjev. Ta pristop pomaga natančno določiti območja z opaznimi spremembami.

### calculate\_normalized\_difference

```python
normalized_diff = geopard.calculate_normalized_difference(layer_1, layer_2)
```

Ta funkcija izračuna normalizirano razliko za vsak piksel tako, da obe zbirki podatkov skalira glede na njuno globalno najvišjo vrednost. Ta postopek omogoča neposredno primerjavo zbirk podatkov, tudi če imata prvotno različna območja vrednosti.

Nastala karta omogoča jasen vpogled v razlike v lastnostih tal, pridelku in podatkih daljinskega zaznavanja ter vam omogoča hitro prepoznavanje in oceno ključnih razlik.

### build\_zones\_by\_intervals

```python
# intervali za coniranje
intervals = [
    (4, 8),
    (8, 12),
    (12, 16)
]

# uporaba
zones = geopard.build_zones_by_intervals(
    layer, 
    intervals
)
```

Ta funkcija ustvari karto upravljalnih con tako, da neprekinjen rastrski sloj razvrsti v ločene cone na podlagi uporabniško določenih vrednostnih intervalov.

Vsak interval določa cono in vsak piksel je dodeljen coni, v katerega območje vrednosti spada. Pikslom, ki ne ustrezajo nobenemu intervalu, je dodeljena vrednost -1.

Ta pristop coniranja se pogosto uporablja za pretvorbo kart pridelka, lastnosti tal ali indeksov daljinskega zaznavanja v uporabne upravljalne cone za aplikacije s spremenljivimi odmerki.

**Tipični primeri uporabe**

* Ustvarjanje upravljalnih con iz plasti pridelka, NDVI ali tal
* Priprava kart con za izračune odmerkov hranil ali setve
* Segmentacija polj v homogene cone za odločanje

### calculate\_nutrient\_rate\_as\_active\_ingredients\_per\_zone

```python
# možnosti za target_nutrient
target_nutrient_option1 = 50 # stalno število
# ALI
target_nutrient_option2 = {1: 20, 2: 40} # slovar po conah
# ALI
target_nutrient_option3 = np.array([[1, 1], [2, 3]], dtype=float) # neprekinjen rastrski sloj

# možnosti za applied_nutrient_operations
applied_operations = [
    5,                                      # operation1 kot stalno število
    {1: 2, 2: 4},                           # operation2 kot slovar po conah
    np.array([[1, 1], [2, 3]], dtype=float) # operation3 kot neprekinjen rastrski sloj
]

# uporaba
rates_as_active_ingredients = geopard.calculate_nutrient_rate_as_active_ingredients_per_zone(
    zone_map, 
    target_nutrient, 
    plant_available_soil_nutrient, 
    applied_nutrient_operations = applied_operations # ali []
)
```

Ta funkcija izračuna zahtevani odmerek hranil (aktivne sestavine) za vsako upravljalno cono.

Izračun temelji na:

* ciljni ravni hranil,
* rastlinam dostopni zalogi hranil iz tal,
* hranilih, ki so bila že uporabljena s prejšnjimi opravili (gnoj, gnojila, digestat itd.).

Uporabljene operacije hranil je mogoče podati kot konstante, vrednosti po conah, rastrske sloje ali katero koli kombinacijo teh. Vsi vhodi se samodejno razrešijo in združijo po conah.

Privzeto se zahtevani odmerek izračuna kot razlika med ciljno ravnjo hranil in vsoto zaloge hranil v tleh ter uporabljenih hranil. Rezultat se vrne kot rastrska karta, kjer ima vsaka cona enakomeren odmerek hranil.

### convert\_active\_ingredient\_and\_product

```python
# pretvorbeni koeficient aktivna_sestavina v izdelek in obratno
corrected_coefficient = 1.5  # stalni koeficient
# ALI
corrected_coefficient = np.array([[np.nan, 5], [np.nan, 1]], dtype=float)  # koeficienti po pikslih

# uporaba
rates_as_products = geopard.convert_active_ingredient_and_product(
    layer, 
    corrected_coefficient
)
```

Ta funkcija pretvori rastrski sloj med **stopnjami aktivne sestavine in stopnjami proizvoda** z uporabo korekcijskega koeficienta.

The `corrected_coefficient` lahko je en sam **float** (uporabljen za vse piksle) ali koeficient **matrika** (pretvorba po pikslu). Običajno se uporablja za pretvorbo izračunanih potreb po hranilih (aktivna sestavina) v dejanske odmerke aplikacije proizvoda ali obratno, glede na sestavo gnojila ali koncentracijo hranil.

Pretvorba se izvede po pikslu, pri čemer se ohrani prostorska struktura izvirnega sloja.

**Tipični primeri uporabe**

* Pretvarjanje odmerkov hranil v odmerke gnojilnega proizvoda
* Prilagajanje kart aplikacije glede na koncentracijo hranil
* Priprava končnih receptnih kart za stroje

### estimate\_texture\_class\_based\_on\_usda

```python
usda_texture = geopard.estimate_texture_class_based_on_usda(
    sand_pct_layer,
    silt_pct_layer,
    clay_pct_layer
)
```

Ta funkcija ocenjuje USDA teksturni razred tal za vsak piksel z uporabo odstotkov peska, melja in gline.

Navedite tri rastrske sloje v odstotkih (0–100), ki predstavljajo deleže velikosti delcev. Izhod je <mark style="background-color:green;">imena razredov USDA, kot so</mark> *<mark style="background-color:green;">sand, loamy\_sand, sandy\_loam, loam, silt\_loam, sandy\_clay\_loam, clay\_loam, silty\_clay\_loam, silty\_clay ali undefined</mark>* <mark style="background-color:green;">kadar so vhodi neveljavni.</mark>

### estimate\_texture\_class\_based\_on\_fao\_wrb

```python
fao_wrb_texture = geopard.estimate_texture_class_based_on_fao_wrb(
    sand_pct_layer,
    silt_pct_layer,
    clay_pct_layer
)
```

Ta funkcija oceni teksturni razred tal FAO/WRB (ISO 11277) za vsak piksel na podlagi odstotkov peska, melja in gline.

Navedite tri rastrske sloje v odstotkih (0–100), ki predstavljajo deleže velikosti delcev. Izhod je <mark style="background-color:green;">kode razredov FAO/WRB, kot so</mark> *<mark style="background-color:green;">S, LS, SL, L, SiL, Si, SCL, CL, SiCL, SC, SiC, C, HC ali undefined</mark>* <mark style="background-color:green;">kadar so vhodi neveljavni</mark>.

### calculate\_soil\_bulk\_density

```python
bulk_density = geopard.calculate_soil_bulk_density(texture_class_layer, som_pct_layer)
```

Ta funkcija izračuna <mark style="background-color:green;">gostoto tal v prostornini (g/cm³) na podlagi teksturnega razreda in izbirne vsebnosti organske snovi v tleh (SOM)</mark>.

The `texture_class_layer` naj vsebuje imena razredov ali kode, ustvarjene s [funkcijo teksture USDA](#estimate_texture_class_based_on_usda) ali z [funkcijo teksture FAO/WRB](#estimate_texture_class_based_on_fao_wrb) omenjenima zgoraj.

Če je `som_pct_layer` podan kot odstotna vrednost, funkcija prilagodi gostoto v prostornini z uporabo SOM. Sicer vrne vrednosti gostote tal v g/cm³, povezane s teksturnimi razredi, glede na iskanje USDA ali FAO/WRB.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/svn/predstavitev-izdelka-spletna-aplikacija/analitika-na-osnovi-enacb/katalog-lastnih-funkcij.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
