GeoPard Tutorials | Precision Ag Software
  • Introduction to GeoPard
    • GeoPard Platform: Frequently Asked Questions (FAQ)
  • 🖥️Product Tour - Web App
    • Getting Started
      • Create a new farm
      • Draw a new field
      • Upload a field boundary
      • Edit a boundary
      • Edit a field name
      • Add a label
    • 🛰️Satellite Monitoring
      • Order Planet Scope (3m daily) imagery
      • Indices for Crops and Soils
      • 📈Crop Development Index Graph
    • 📊Zones Maps and Analytics
      • Assign Variable Rates in the Zones (Ag inputs Rates Distribution Tool)
      • Creating Zones Map using Satellite Imagery
      • Creating Zones Map using Soil/Yield/As Applied Data
      • Creating Zones Map using Topography
      • Creating Zones Map using a Template
      • Draw Zones Manually, Clone from an existing layer
      • Usage of Data Classification
      • Edit Zones Map: Merge & Split
      • Multi-Year Zones
      • Multi-Layer Analytics
      • Compare layers
      • Heterogeneity factor
      • Relative variation factor
    • 📊Equation-based Analytics
      • Batch Equation analytics
      • Catalog of Predefined Agronomic Equations
      • Catalog of Custom Functions
    • ⛰️Topography
    • ⛰️3D Maps
    • Import
      • Field Boundary
      • Soil Data
      • Yield Data
      • As Applied/As Planted Data
      • Machinery Proprietary Formats
      • Import from MyJohnDeere
    • Export / Download
      • Field Boundary Export
      • Batch Export of Boundaries, Zones and Scouting Pins
      • Zones Map Export as shapefile
      • Satellite Imagery Export as geotiff or geojson
      • Export Scouting Notes as shapefile
      • Export VRA map In ISOXML Format
      • Export to MyJohnDeere
    • 🤖API
    • Operations Log - Track errors/Imports and Analytics
    • Organizations and Roles
    • Farms Sharing between Accounts & Organizations
    • Managing Crop Season information with tags(labels)
      • Case: Managing fields for several clients
      • Case: Season details including crop and year
      • Case: Field operation details
    • ⚙️User Settings
      • Subscriptions, Account limits & Plans
      • Restoring password
      • Order the package
      • Changing preferences
    • 🚜John Deere Operations Center Integration
      • 🚜John Deere Operations Center Integration
        • 1. Create Free Trial Account with you John Deere Account
        • 2. Connect to JohnDeere Operations Center
        • 3. Connect to John Deere Organizations
        • 4. Import into GeoPard from John Deere Operations Center
        • 5. Configure Automated Data Sync
        • 6. Export Rx Maps to John Deere Operations Center as Files
        • 7. Export Field Boundaries into John Deere Operations Center
          • 7a. Organization configuration of export boundary to John Deere Operations Center as File
        • 8. Export Rx Maps to John Deere Operations Center as Work Plans
        • 9. Export Soil, Topography, Satellite or Analytics as Map Layers
      • 🚜John Deere Operations Center Data Sharing
        • 1. "Staff Member" sharing
        • 2. Problem-solving of "Staff Member" sharing
        • 3. "Partner Organization" sharing
        • 4. Problem-solving of "Partner Organization" sharing
        • 5. Problem-solving of import from John Deere to GeoPard
        • 6. Problem-solving of Work Plan creation
        • 7. Sharing Fields/Boundaries Between Partner Organizations in John Deere Ops Center, DataSync config
  • 🚀Changelog & Product Releases
    • Release Notes
      • Release Web April 2025 (Rates Distribution, improved Legends)
      • Release Web March 2025 (Improved Zones, WorkPlans updates, Yield data enhancements)
      • Release Web January 2025 (Free Trial, Usage-based Pricing Plan, USDA Yield Cleaning protocol, Export of calibrated Yield data to John Deere Ops Center, Import of kml)
      • Release Web August 2024 (Data Layer Previews, Spatially localized Zones; Use zones and Equations in new Equations)
      • Release Web July 2024 (Equation Map creation, Spatially localized zones, Seeding and Application Work Plans)
      • Release Web May 2024 (Raw view for Satellite Images, export of Zone Maps as WorkPlan to the John Deere Operations Center, redesign of Batch Analytics)
      • Release Web April 2024 (Batch Equation Maps and enhanced layer transparency)
      • Release Web February 2024 (Per area pricing, units)
      • Release Web January 2024 (many UI improvements)
      • Release Web November 2023 (Clone Polygons, Subscription management)
      • Release Web October 2023 (Yield Calibration, Equation Maps as ISOXML, PDF Export and John Deere Integration)
      • Release Web September 2023 (Cleaning & Calibrating Yield Datasets, more languages support)
      • Release Mobile August 2023 (Mobile app impovements)
      • Release Web July 2023 (Operations Log page, Sum in datasets)
      • Release Web June 2023 (Improved Equations, Operations log v1)
      • Release Mobile May 2023 (Social Login)
      • Release Web May 2023 (John Deere integration improvements)
      • Release Web January 2023 (huge amount of small improvements)
      • Release Web October 2022 (Integration with AgGateway protocols, Isoxml support and more)
      • Release Web April 2022 (3D maps and Zoning Tools)
  • 👨‍🌾Agronomy
    • Precision Agronomy Use Cases & Best Practices Overview
    • Field Management Zones (Productivity Zones) Creation Process
    • Variable Rate Seeding (Planting) Maps
    • Yield Calibration & Cleaning
    • Synthetic Yield Map
    • Create Soil Sampling Zones, Points, Route, export as KML, and execute
    • Evaluate Accuracy of Seeding Application
    • Evaluate Accuracy of Fertilizer Application
    • Field Trial Analytics
    • Nitrogen Use Efficiency & Uptake
    • Comparing Yield Datasets
    • Compare Soil Scanner Data between Years
    • Flood Detection / Insurance report
    • Profit Maps (COMING)
    • VRA/Rx/Prescription Fertilizer Maps (COMING)
    • VRA/Rx/Prescription Nitrogen Maps (COMING)
    • VRA/Rx/Prescription Spraying Maps (COMING)
    • Multi-Layer Field Potential Maps (COMING)
    • VR Lime Application Based on Soil Scanner pH Data (COMING)
    • Merging Yield Datasets Belonging to the Same Field (COMING)
  • 📱Product Tour - Mobile App
    • Installation
    • Logging in
    • Viewing satellite images
    • Viewing zones maps
    • Viewing soil data
    • Viewing yield data
    • Viewing topography maps
    • Viewing as applied datasets
    • Working in the field/Scouting zones maps
    • Working offline
    • Filters
    • Options
    • Settings
  • 🤖API Docs
    • GeoPard API Overview
    • Getting Started
    • Authorization: ApiKey, Credentials or OAuth 2.0
    • Diagrams with Basic Flows
      • 1. Field Registration
      • 2. GraphQL Subscription
      • 3. Grep Satellite Imagery
      • 4. Upload Soil | AsApplied | Yield Datasets
      • 5. Execute Equations
      • 6. Generate ZonesMap
      • 7. Download Gridded Data
      • 8. Download Original Data
    • Data Schema
    • Requests Overview
      • 1. Subscription: Get Events
      • 2. Query: Get "Fields"
      • 3. Query: Get "SatelliteImages"
      • 4. Query: Get defined "SatelliteImage"
      • 5. Query: Get "RasterMaps"
      • 6. Query: Get "ZonesMaps"
      • 7. Mutation: Generate "ZonesMap"
      • 8. Mutation: Generate "RasterMap"
      • 9. Mutation: Generate "ZonesMap" asynchronously
      • 10. Mutation: Generate "RasterMap" asynchronously
      • 11. Mutation: Generate Yield based "ZonesMap" asynchronously
      • 12. Mutation: Generate Soil based "ZonesMap" asynchronously
      • 13. Mutation: Create "Farm"
      • 14. Mutation: Create a "Field" or edit the boundary of the existing field (with optional labels)
      • 15. Query: Get "TopographyMap"
      • 16. Query: Get "YieldDatasets"
      • 17. Query: Get "SoilDatasets"
      • 18. Mutation: Generate zip archive with "ZonesMap" and "Field"
      • 19. Mutation: Delete "Field"
      • 20. Mutation: Delete "Farm"
      • 21. Mutation: Delete "ZonesMap"
      • 22. Mutation: Delete "RasterAnalytisMap"
      • 23. Mutation: Delete "SoilDataset"
      • 24. Mutation: Delete "YieldDataset"
      • Notes (Pins)
        • 25. Mutation: Save "Note" attached to "Field"
        • 26. Mutation: Save "Note" attached to "ZonesMap"
        • 27. Mutation: Save "Note" attached to "SoilDataset"
        • 28. Mutation: Save multiple "Notes", Batch operation
        • 29. Mutation: Delete "Note"
        • 30. Mutation: Delete multiple "Notes"
        • 31. Query: Get all "Notes" related to "Field"
        • 32. Query: Get "Notes" related to "ZonesMap" and type
        • 33. Query: Get "Notes" related to "SoilDataset" and type
        • 34. Query: Get a selected "Note" with all "Comments"
        • 35. Mutation: Add "Comment" to the selected "Note"
        • 36. Mutation: Add multiple "Comments" to the selected "Notes"
      • 37. Query: Get "SatelliteImages" in the defined interval
      • 38. Query: Get "UserData"
      • 39. Mutation: Set custom color schemas to selected "GeoMaps"
      • 40. Query: Get "Labels" on the account level
      • 41. Mutation: Save "Labels" on the account level
      • 42. Mutation: Delete "Label" on the account level
      • 43. Query Get "Fields"
      • 44. Mutation: Set Field Labels
      • 45. Mutation: Save User Data
      • 46. Mutation: Generate multi-layer "ZonesMap" asynchronously
      • 47. Query: Get "ZonesMaps"
      • 48. Query: Get Gridded Data from "TopographyMap"
      • 49. Query: Get Gridded Data from "FieldSatelliteImage"
      • 50. Query: Get Gridded Data from "VectorAnalysisMap"
      • 51. Query: Get Gridded Data from "YieldDataset"
      • 52. Query: Get Gridded Data from "SoilDataset"
      • 53. Query: Get Gridded Data from "AsAppliedDataset"
      • 54. Query: Get Vector Data from "SoilDataset"
      • 55. Upload zip files (over 6 MB)
      • 56. Upload photos
      • 57. Query: Get "Photos" attached to the selected "Note"
      • 58. Query: Get "Photos" attached to "Comments"
      • 59. Query: Get "AsAppliedDatasets"
      • 60. Mutation: Generate As-Applied-based "ZonesMap" asynchronously
      • 61. Mutation: Delete "AsAppliedDataset"
      • 62. Mutation: Share Farms
      • 63. Mutation: Save Organization
      • 64. Mutation: Add Users to Organization
      • 65. Mutation: Delete Users from Organization
      • 66. Mutation: Save Field
      • 67. Mutation: Save Farm
      • 68. Mutation: Refresh "VectorAnalysisMap" Statistics
      • 69. Mutation: Delete "Photo"
      • 70. Mutation: Delete multiple "Photos"
      • 71. Mutation: Generate a zip archive with "Notes"
      • 72. Query: Get Gridded Data as GeoJSON or GeoTIFF
      • 73. Query: Get Gridded Data with the Selected Buffer
      • 74. Mutation: Verify "Equation"
      • 75. Mutation: Generate "EquationMap" asynchronously
      • 76. Query: Get "EquationMap"
      • 77. Mutation: Delete "EquationMap"
      • 78. Query: Find "Fields" by "externalKey"
      • 79. Query: Find "Farms" by "externalKey"
      • 80. Query: Get Original Data
      • 81. Query: Get GeoJSON of "EquationMap"
      • 82. Query: Restore Subscription Events
      • 83. Query: Collect Platform Context
      • 84. Mutation: Calibrate and Clean YieldDataset
      • 85. Mutation: Assign Rates to VectorAnalysisMap (ZonesMap)
      • 86. Query: Get "Farms"
      • 87. Mutation: Save Custom VectorAnalysisMap (ZonesMap)
      • 88. Mutation: Export ZonesMap as Zipped Shapefile
      • 89. Mutation: Export ZonesMap as Zipped ISOXML
    • Geo Endpoints
      • WMS - Get Raster Pictures of Spatial Data Layers
        • 1. LAI
        • 2. RGB
        • 3. Field: boundary
        • 4. Field: thumbnail
        • 5. ZonesMap
        • 6. ZonesMap: custom color schema
        • 7. ZonesMap: thumbnail
        • 8. RasterMap
        • 9. RasterMap: custom color schema
        • 10. RasterMap: thumbnail
        • 11. TopographyMap: elevation in absolute numbers
        • 12. YieldDatasetsMap
        • 13. SoilDatasetsMap
        • 14. SoilDatasetsMap: custom color schema
        • 15. AsAppliedDatasetsMap
        • 16. Satellite Image: cropped by Field boundary
        • 17. Satellite Image: cropped by Field boundary and custom color schema
        • 18. YieldDatasetsMap: custom color schema
        • 19. Satellite Image: 10 colors visualization
      • WFS - Get Spatial Data Layers in Vector format (shp, geojson)
        • 1. Get the Field Boundary as Geojson
        • 2. Get the Zones map as Geojson
        • 3. Get Zones Attributes as JSON
        • 4. Get Soil data as Geojson
        • 5. Get Yield data as Geojson
    • Uploading Files
    • API FAQ
  • 🛣️Platform Roadmap
    • Roadmap
  • GIS quick Hints
    • QGIS: Change String to Number values in the shapefile
    • QGIS: Yield Data Manipulations
    • QGIS: Split Boundaries Into Subfields
    • QGIS: Merge Vector Layers
    • QGIS: Merge Selected Features from Vector Files
    • QGIS: Calculate NDVI for the Drone Geotiff File
    • QGIS: Split Multi-field Shapefiles
    • QGIS: Convert CSV to SHP
    • QGIS: Reproject Shapefile
  • Policies
    • Your Data Stays Yours, Securely Managed By GeoPard
    • Terms & Conditions
    • Privacy Policy
Powered by GitBook

Start Working with GeoPard

  • Go to GeoPard Website
  • Demo Request
  • LinkedIn

This Portal Sections

  • Introduction
  • Product Tour - Web App (incl. video)
  • Product Tour - Mobile App (incl. video)
  • Precision Agronomy Use Cases

Powered by GeoPard Agriculture - Automated precisionAg platform

On this page
  • Enter Equation
  • fill_gaps_with_k_neighbors
  • determine_data_similarity
  • determine_data_similarity_from_normalized
  • determine_low_high_similarity
  • get_value_for_zone
  • drop_value
  • normalize_data
  • calculate_total_applied_fertilizer
  • calculate_total_applied_nitrogen
  • calculate_nitrogen_uptake
  • calculate_nitrogen_use_efficiency
  • calculate_costs
  • calculate_revenue
  • calculate_profit
  • fill_value_for_range
  • calculate_per_pixel_mae
  • calculate_per_pixel_relative_deviation
  • calculate_difference
  • calculate_relative_difference
  • calculate_normalized_difference

Was this helpful?

  1. Product Tour - Web App
  2. Equation-based Analytics

Catalog of Custom Functions

These functions encapsulate complex python code, allowing you to implement sophisticated data manipulations and calculations with ease.

PreviousCatalog of Predefined Agronomic EquationsNextTopography

Last updated 1 month ago

Was this helpful?

GeoPard offers a comprehensive Catalog of Custom Functions designed to enhance the readability and functionality of Equation-based Analytics. These functions encapsulate complex python code, allowing you to implement sophisticated data manipulations and calculations with ease.

Enter Equation

Enter an Equation

The list of available pre-built functions to create more intuitive and maintainable Equations within the GeoPard platform is incorporated in the geopard package:

fill_gaps_with_k_neighbors

geopard.fill_gaps_with_k_neighbors(input_data, k=3)

This function restores data gaps or zeros in a dataset using the K-Neighbors algorithm. By specifying the input_data variable (as Dataset with the selected attribute) and the number of neighbors k, you can seamlessly fill in missing values, ensuring data continuity and integrity.

This function works well when data gaps are distributed across the field and not allocated to any particular part of the field boundary.

determine_data_similarity

geopard.determine_data_similarity(data_layer_1, data_layer_2)

Use this function to calculate the per-pixel similarity between two Datasets. The variables data_layer_1 and data_layer_2 should represent the same measurement in the same units to ensure meaningful comparison. By providing variables data_layer_1 and data_layer_2 associated with Datasets, you can generate a similarity map with values ranging from 0 to 1, facilitating comparative studies and pattern recognition.

determine_data_similarity_from_normalized

geopard.determine_data_similarity_from_normalized(data_layer_1, data_layer_2)

Use this function to calculate the per-pixel similarity between two normalized datasets. Normalization is recommended when the original data_layer_1 and data_layer_2 have different scales or units. By providing these datasets as input, the function generates a similarity map with values ranging from 0 to 1, making it suitable for comparative studies, pattern recognition, and spatial consistency analysis.

determine_low_high_similarity

geopard.determine_low_high_similarity(data_layer_1, data_layer_2)

This function assesses the low-high similarity between two Datasets. By inputting variables data_layer_1 and data_layer_2 associated with Datasets, you receive a categorized similarity map indicating combinations such as low-low, low-high, high-low, and high-high, which is useful for nuanced data classification.

get_value_for_zone

geopard.get_value_for_zone(data_layer, zones_layer, zone_id)

Extract values from the Dataset attribute for a selected Zone using this function. By providing data_layer representing Dataset attribute, zones_layer representing Dataset with Zones, and zone_id as a Zone id number, you can isolate and analyze attributes like yield, application rates, or seed rates within a designated geographical area (zone).

drop_value

geopard.drop_value(data_layer, value_to_drop)

This function allows you to remove specific values from a Dataset attribute. By specifying data_layer associated with a Dataset attribute and value_to_drop as a number, you can cleanse the Dataset attribute data by eliminating them from the result (technically replacing unwanted values with NaN).

normalize_data

geopard.normalize_data(data_layer)

Normalize your Dataset attribute efficiently with this function. By inputting data_layer associated with the Dataset attribute, you can scale the data to a standardized range from 0 to 1, facilitating comparison and integration across different Datasets.

calculate_total_applied_fertilizer

geopard.calculate_total_applied_fertilizer(application_list, active_ingredient_coefficient_list)

Calculate the Total Applied Fertilizer in units per area (for example in kg/ha, l/ha, gal/ac, etc). By providing application_list of Datasets with AppliedRate attributes and corresponding active_ingredient_coefficient_list with fertilizer products to get the actually total applied fertilizer in units (for example in kg, l, gal, etc).

calculate_total_applied_nitrogen

geopard.calculate_total_applied_nitrogen(application_list, active_ingredient_coefficient_list)

calculate_nitrogen_uptake

geopard.calculate_nitrogen_uptake(yield_wet_tha, moisture_pct, protein_pct, protein_crop_correction_coefficient)

calculate_nitrogen_use_efficiency

geopard.calculate_nitrogen_use_efficiency(N_total_applied, N_uptake)

calculate_costs

geopard.calculate_costs(application_rate_list, price_per_unit_list)

calculate_revenue

geopard.calculate_revenue(yield_as_mass, yield_price_per_unit)

calculate_profit

geopard.calculate_profit(revenue, costs)

fill_value_for_range

geopard.fill_value_for_range(input, min_value, max_value, value_to_fill)

This function filters values within a specified range in the input array. By providing the input array, along with optional min_value and optional max_value thresholds, you can isolate values that fall within the desired range. The value_to_fill parameter allows for replacing out-of-range values with a specified value, enhancing data filtering and normalization processes.

calculate_per_pixel_mae

geopard.calculate_per_pixel_mae(dataset_1, dataset_2)

Use this function to compute the Mean Absolute Error (MAE) per pixel between two datasets. It provides a spatial map of absolute differences. The "absolute difference" is simply the size of the gap between corresponding pixel values, ignoring whether one is higher or lower.

The function helps to identify areas with larger discrepancies.

calculate_per_pixel_relative_deviation

geopard.calculate_per_pixel_relative_deviation(dataset_1, dataset_2)

This function computes the relative deviation for each pixel between two datasets, expressing the difference as a percentage of the value in dataset_1. Essentially, it shows how much one pixel's value deviates from the corresponding value in dataset_1 in proportional terms.

This approach is particularly valuable when analyzing variations in soil properties, crop yield, or remote sensing data, allowing quickly spotting areas with significant proportional differences.

calculate_difference

geopard.calculate_difference(dataset_1, dataset_2)

This function subtracts one dataset from another to create a difference map. It highlights areas where the values in one dataset are higher or lower compared to the other, making it easier to spot trends and changes over time.

This tool is especially useful for visualizing variations in soil properties, crop yield, or remote sensing data, helping quickly identify key areas that may require further analysis or intervention.

calculate_relative_difference

geopard.calculate_relative_difference(dataset_1, dataset_2)

This function computes the relative difference for each pixel by normalizing the difference between the datasets using the values from dataset_2. This means it shows how significant the change is in relation to the magnitude of dataset_2.

Such a proportional comparison is especially useful when dealing with datasets of varying scales, helping to reveal relative shifts in soil properties, crop yields, or sensor outputs. This approach enables to pinpointing of areas with notable variations.

calculate_normalized_difference

geopard.calculate_normalized_difference(dataset_1, dataset_2)

This function computes the normalized difference for each pixel by scaling both datasets against their global maximum value. This process makes the datasets directly comparable even if they originally have different ranges.

The resulting map provides a clear view of variations in soil properties, crop yield, and remote sensing data, allowing quickly identify and assess key differences.

Calculate the Total Applied Nitrogen in kg/ha using this function. By providing application_list of Datasets with AppliedRate attributes and a corresponding active_ingredient_coefficient_list with nitrogen products to convert actual nitrogen to kg/ha, you can accurately compute Total Applied Nitrogen, essential for agricultural planning and sustainability assessments. The output is used as N_total_applied in.

Determine Nitrogen Uptake in kg/ha with this function. By supplying yield_wet_tha, moisture_pct, protein_pct from Yield Dataset and a protein_crop_correction_coefficient represented the linkage protein to uptaken nitrogen, you can assess the Nitrogen Use Efficiency in crop production. The output is used as N_uptake in .

Evaluate Nitrogen Use Efficiency as a percentage using this function. By inputting and variables (from previous functions), you can measure the effectiveness of nitrogen application, aiding in optimizing fertilizer usage.

Compute Total Costs based on application rates and prices with this function. By providing a application_rate_list of Datasets with the AppliedRate attributes and a corresponding price_per_unit_list, you can aggregate expenses related to various agricultural activities, supporting budget management and financial planning. The output is used as costs in.

Calculate Revenue from the Yield Dataset using this function. By inputting yield_as_mass associated with the Yield Dataset attribute and the yield_price_per_unit, you can estimate income generated from crop production, facilitating economic evaluations. The output is used as costs in .

Determine Profit by subtracting Costs from Revenue using this function. By providing the and variables (from previous functions), you can easily compute the financial gain from their agricultural operations, supporting profitability analysis and strategic decision-making.

🖥️
📊
geopard.calculate_nitrogen_use_efficiency
geopard.calculate_nitrogen_use_efficiency
N_total_applied
N_uptake
geopard.calculate_profit
geopard.calculate_profit
revenue
costs