Skip to content

Commit 3172735

Browse files
authored
Merge pull request #230255 from MicrosoftDocs/release-agri-data-manager
Release agri data manager--scheduled release at 8am of 3/14
2 parents 6edc8a3 + 0c7d025 commit 3172735

31 files changed

+1719
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: Hierarchy model in Azure Data Manager for Agriculture
3+
description: Provides information on the data model to organize your agriculture data.
4+
author: gourdsay #Required; your GitHub user alias, with correct capitalization.
5+
ms.author: angour
6+
ms.service: data-manager-for-agri
7+
ms.topic: conceptual #Required; leave this attribute/value as-is.
8+
ms.date: 02/14/2023
9+
ms.custom: template-concept #Required; leave this attribute/value as-is.
10+
---
11+
12+
# Hierarchy model to organize agriculture related data
13+
14+
> [!NOTE]
15+
> Microsoft Azure Data Manager for Agriculture is currently in preview. For legal terms that apply to features that are in beta, in preview, or otherwise not yet released into general availability, see the [**Supplemental Terms of Use for Microsoft Azure Previews**](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
16+
> Microsoft Azure Data Manager for Agriculture requires registration and is available to only approved customers and partners during the preview period. To request access to Microsoft Data Manager for Agriculture during the preview period, use this [**form**](https://aka.ms/agridatamanager).
17+
18+
To generate actionable insights data related to growers, farms, and fields should be organized in a well defined manner. Firms operating in the agriculture industry often perform longitudinal studies and need high quality data to generate insights. Data Manager for Agriculture organizes agronomic data in the below manner.
19+
20+
>:::image type="content" source="./media/data-model.png" alt-text="Screenshot showing farm hierarchy model.":::
21+
22+
## Understanding farm hierarchy
23+
24+
### Party
25+
* Party is the owner and custodian of any data related to their farm. You could imagine Party to be the legal entity that is running the business.
26+
* The onus of defining the Party entity is with the customer setting up Data Manager for Agriculture.
27+
28+
### Farm
29+
* Farms are logical entities. A farm is a collection of fields.
30+
* Farms don't have any geometry associated with them. Farm entity helps you organize your growing operations. For example Contoso Inc is the Party that has farms in Oregon and Idaho.
31+
32+
### Field
33+
* Fields denote a stable boundary that is in general agnostic to seasons and other temporal constructs. For example, field could be the boundary denoted in government records.
34+
* Fields are multi-polygon. For example, a road might divide the farm in two or more parts.
35+
* Fields are multi-boundary.
36+
37+
### Seasonal field
38+
* This is the most important construct in the farming world. A seasonal fields definition includes the following things
39+
* Boundary
40+
* Season
41+
* Crop
42+
* A seasonal field is associated with a field or a farm
43+
* In Data Manager for Agriculture, seasonal fields are mono crop entities. In cases where farmers are cultivating different crops simultaneously, they have to create one seasonal field per crop.
44+
* A seasonal field is associated with one season. If a farmer cultivates across multiple seasons, they have to create one seasonal field per season.
45+
* It's multi-polygon. Same crop can be planted in different areas within the farm.
46+
47+
48+
### Boundary
49+
* Boundary represents the geometry of a field or a seasonal field.
50+
* It's represented as a multi-polygon GeoJSON consisting of vertices (lat/long).
51+
52+
### Season
53+
* Season represents the temporal aspect of farming. It is a function of local agronomic practices, procedures and weather.
54+
55+
### Crop
56+
* Crop entity provides the phenotypic details of the planted crop.
57+
58+
### Crop product
59+
* Crop Product entity refers to the commercial variety (brand, product) of the planted seeds. A seasonal field can contain information about various varieties of seeds planted (belonging to the same crop).
60+
61+
## Next steps
62+
63+
* Test our APIs [here](/rest/api/data-manager-for-agri).
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Ingesting satellite data in Azure Data Manager for Agriculture
3+
description: Provides step by step guidance to ingest Satellite data
4+
author: gourdsay #Required; your GitHub user alias, with correct capitalization.
5+
ms.author: angour
6+
ms.service: data-manager-for-agri
7+
ms.topic: conceptual #Required; leave this attribute/value as-is.
8+
ms.date: 02/14/2023
9+
ms.custom: template-concept #Required; leave this attribute/value as-is.
10+
---
11+
12+
# Using satellite imagery in Azure Data Manager for Agriculture
13+
Our data manager supports geospatial and temporal data. Remote sensing satellite imagery (which is geospatial and temporal) has huge applications in the field of agriculture. Farmers, agronomists and data scientists use of satellite imagery extensively to generate insights. Using satellite data in Data Manager for agriculture involves following steps.
14+
15+
> [!NOTE]
16+
> Microsoft Azure Data Manager for Agriculture is currently in preview. For legal terms that apply to features that are in beta, in preview, or otherwise not yet released into general availability, see the [**Supplemental Terms of Use for Microsoft Azure Previews**](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
17+
> Microsoft Azure Data Manager for Agriculture requires registration and is available to only approved customers and partners during the preview period. To request access to Microsoft Data Manager for Agriculture during the preview period, use this [**form**](https://aka.ms/agridatamanager).
18+
19+
>:::image type="content" source="./media/satellite-flow.png" alt-text="Diagram showing satellite data ingestion flow..":::
20+
21+
## Satellite sources supported by Azure Data Manager for Agriculture
22+
In our public preview, we support ingesting data from Sentinel-2 constellation.
23+
24+
## Sentinel-2
25+
[Sentinel-2](https://sentinel.esa.int/web/sentinel/missions/sentinel-2) is a satellite constellation launched by 'European Space Agency' (ESA) under the Copernicus mission. This constellation has a pair of satellites and carries a Multi-Spectral Instrument (MSI) payload that samples 13 spectral bands: four bands at 10 m, six bands at 20 m and three bands at 60 m spatial resolution.
26+
27+
> [!Tip]
28+
> Sentinel-2 has two products: Level 1 (top of the atmosphere) data and its atmospherically corrected variant Level 2 (bottom of the atmosphere) data. We support ingesting and retrieving Level 1 and Level 2 data from Sentinel 2.
29+
30+
## Image names and resolutions
31+
The image names and resolutions that are supported by APIs used to ingest and read satellite data (for Sentinel-2) in our service:
32+
33+
| Category | Image Name | Description | Native resolution |
34+
|:-----:|:----:|:----:|:----:|
35+
|Raw bands| B01 | Coastal aerosol | 60 m |
36+
|Raw bands| B02 | Blue| 10 m |
37+
|Raw bands| B03 | Green | 10 m |
38+
|Raw bands| B04 | Red | 10 m |
39+
|Raw bands| B05 | Vegetation red edge | 20 m |
40+
|Raw bands| B06 | Vegetation red edge | 20 m |
41+
|Raw bands| B07 | Vegetation red edge | 20 m |
42+
|Raw bands| B08 | NIR | 10 m |
43+
|Raw bands| B8A | Narrow NIR | 20 m |
44+
|Raw bands| B09 | Water vapor | 60 m |
45+
|Raw bands| B11 | SWIR | 20 m |
46+
|Raw bands| B12 | SWIR | 20 m |
47+
|Sen2Cor processor output| AOT | Aerosol optical thickness map | 10 m |
48+
|Sen2Cor processor output| SCL | Scene classification data | 20 m |
49+
|Sen2Cor processor output| SNW | Snow probability| 20 m |
50+
|Sen2Cor processor output| CLD | Cloud probability| 20 m |
51+
|Derived Indices| NDVI | Normalized difference vegetation index | 10 m/20 m/60 m (user defined) |
52+
|Derived Indices| NDWI | Normalized difference water index | 10 m/20 m/60 m (user defined) |
53+
|Derived Indices| EVI | Enhanced vegetation index | 10 m/20 m/60 m (user defined) |
54+
|Derived Indices| LAI | Leaf Area Index | 10 m/20 m/60 m (user defined) |
55+
|Derived Indices| LAIMask | Leaf Area Index Mask | 10 m/20 m/60 m (user defined) |
56+
|CLP| Cloud probability, based on [s2cloudless](https://github.com/sentinel-hub/sentinel2-cloud-detector). | Values range from 0 (no clouds) to 255 (clouds). | 10 m/20 m/60 m (user defined)|
57+
|CLM| Cloud masks based on [s2cloudless](https://github.com/sentinel-hub/sentinel2-cloud-detector) | Value of 1 represents clouds, 0 represents no clouds and 255 represents no data. | 10 m/20 m/60 m (user defined)|
58+
|dataMask | Binary mask to denote availability of data | 0 represents non availability of data OR pixels lying outside the 'Area of interest' | Not applicable, per pixel value|
59+
60+
## Points to note
61+
* We use CRS EPSG: 4326 for Sentinel-2 data. The resolutions quoted in the APIs are at the equator.
62+
* For preview:
63+
* A maximum of five satellite jobs can be run concurrently, per tenant.
64+
* A satellite job can ingest data for a maximum of one year in a single API call.
65+
* Only TIFs are supported.
66+
* Only 10 m, 20 m and 60 m images are supported.
67+
68+
## Next steps
69+
70+
* Test our APIs [here](/rest/api/data-manager-for-agri).
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Ingesting sensor data in Azure Data Manager for Agriculture
3+
description: Provides step by step guidance to ingest Sensor data.
4+
author: gourdsay #Required; your GitHub user alias, with correct capitalization.
5+
ms.author: angour
6+
ms.service: data-manager-for-agri
7+
ms.topic: conceptual #Required; leave this attribute/value as-is.
8+
ms.date: 02/14/2023
9+
ms.custom: template-concept #Required; leave this attribute/value as-is.
10+
---
11+
12+
# Ingesting sensor data
13+
14+
Smart agriculture, also known as precision agriculture, allows growers to maximize yields using minimal resources such as water, fertilizer, and seeds, etc. By deploying sensors, growers and research organization can begin to understand crops at a micro-scale, conserve resources, reduce impact on the environment and ultimately maximize crop yield. Sensors enable important ground truth data (soil moisture, rainfall, wind speed etc.) and this data in turn improves accuracy of recommendations.
15+
16+
> [!NOTE]
17+
> Microsoft Azure Data Manager for Agriculture is currently in preview. For legal terms that apply to features that are in beta, in preview, or otherwise not yet released into general availability, see the [**Supplemental Terms of Use for Microsoft Azure Previews**](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
18+
> Microsoft Azure Data Manager for Agriculture requires registration and is available to only approved customers and partners during the preview period. To request access to Microsoft Data Manager for Agriculture during the preview period, use this [**form**](https://aka.ms/agridatamanager).
19+
20+
Sensors are of various types:
21+
* Location-sensor (determines lat/long & altitude)
22+
* Electrochemical sensor (determines pH, soil nutrients)
23+
* Soil moisture sensor
24+
* Airflow sensor (determines the pressure required to push a pre-determined amount of air into the ground at a prescribed depth)
25+
* Weather sensor
26+
27+
There's a large ecosystem of sensor providers that help growers to monitor and optimize crop performance. Sensor based data also enables an understanding of the changing environmental factors.
28+
29+
## How sensors work
30+
31+
Sensors are placed in the field based on its characteristics. Sensors record measurements and transfer the data to the connected node. Each node has one or more sensors connected to it. Nodes equipped with internet connectivity can directly push the data to cloud. Other nodes use an IOT agent to transfer data the gateway.
32+
33+
Gateways collect all essential data from the nodes and push it securely to the cloud via either cellular connectivity, Wi-Fi, or Ethernet. Once the data resides in a sensor partner cloud, the sensor partner pushes the relevant sensors data to the dedicated IOTHub endpoint provided by Data Manager for Agriculture.
34+
35+
In addition to the above approach, IOT devices (sensors/nodes/gateway) can directly push the data to IOTHub endpoint. In both cases, the data first reaches the IOTHub, post that the next set of processing happens.
36+
37+
>:::image type="content" source="./media/sensor-data-flow-new.png" alt-text="Screenshot showing sensor data flow.":::
38+
39+
## Sensor topology
40+
41+
The following diagram depicts the topology of a sensor in Azure Data Manager for Agriculture. Each boundary under a party has a set of devices placed within it. A device can be either be a node or a gateway and each device has a set of sensors associated with it. Sensors send the recordings via gateway to the cloud. Sensors are tagged with GPS coordinates helping in creating a geospatial time series for all measured data.
42+
43+
>:::image type="content" source="./media/sensor-topology-new.png" alt-text="Screenshot showing sensor topology.":::
44+
45+
## Next steps
46+
47+
How to [get started as a customer](./how-to-set-up-sensors-customer.md) to consume sensor data from the supported sensor partners.
48+
49+
How to [get started as a sensor partner](./how-to-set-up-sensors-partner.md) to push sensor data into Data Manager for Agriculture Service.
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: Ingesting weather forecast data in Azure Data Manager for Agriculture
3+
description: Learn how to fetch weather data from various weather data providers through extensions and provider Agnostic APIs.
4+
author: lbethapudi
5+
ms.author: lbethapudi
6+
ms.service: data-manager-for-agri
7+
ms.topic: conceptual #Required; leave this attribute/value as-is.
8+
ms.date: 02/14/2023
9+
ms.custom: template-concept #Required; leave this attribute/value as-is.
10+
---
11+
12+
# Weather data overview
13+
14+
Weather is a highly democratized service in the agriculture industry. Data Manager for Agriculture offers customers the ability to work with the weather provider of their choice.
15+
16+
Data Manager for Agriculture provides weather current and forecast data through an extension-based and provider agnostic approach. Customers can work with a provider of their choice by following the steps [here](./how-to-write-weather-extension.md).
17+
18+
## Design overview
19+
20+
Data Manager for Agriculture provides weather data through provider agnostic approach where the user doesn't have to be familiar with the provider's APIs. Instead, they can use the same Data Manager for Agriculture APIs irrespective of the provider.
21+
22+
## Behavior of provider agnostic APIs
23+
24+
* Request weather data for up to 50 locations in a single call.
25+
* Forecast data provided isn't older than 15 mins and the current conditions data isn't older than 10 mins.
26+
* Once the initial call is made for a location, the data gets cached for the TTL defined.
27+
* To keep the cache warm, you can use the parameter called `apiFreshnessTimeInMinutes` in extension. The platform will keep a job running for the amount of time defined and update the cache. The default value is be zero that means the cache won't be kept warm by default
28+
29+
The steps to fetch weather data and ingest into Data Manager for Agriculture platform.
30+
31+
## Step 1: Install weather extension
32+
33+
Run the install command through Azure Resource Manager ARM Client tool. The command to install the extension is given here:
34+
35+
### Install command
36+
```azurepowershell-interactive
37+
armclient PUT /subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/extensions/<extensionid>?api-version=2020-05-12-preview '{}'
38+
```
39+
For more information, see API documentation [here](/rest/api/data-manager-for-agri).
40+
41+
> [!NOTE]
42+
> All values within < > is to be replaced with your respective environment values.
43+
>
44+
45+
### Sample output
46+
```json
47+
{
48+
"id": "/subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/extensions/<extensionid>",
49+
"type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
50+
"systemData": {
51+
"createdBy": "[email protected]",
52+
"createdByType": "User",`
53+
"createdAt": "2021-03-17T12:36:51Z",
54+
"lastModifiedBy": "[email protected]",
55+
"lastModifiedByType": "User",
56+
"lastModifiedAt": "2021-03-17T12:36:51Z"
57+
},
58+
"properties": {
59+
"category": "Weather",
60+
"installedExtensionVersion": "1.0",
61+
"extensionAuthLink": "https://www.<provider.com/integration/",
62+
"extensionApiDocsLink": "https://docs.<provider>.com/documentation/Weather_Data/Historical_and_Climatological_Weather/latest#_daily_historical_ag_weather_v1_0"
63+
},
64+
"eTag": "92003c91-0000-0700-0000-804752e00000",
65+
"name": "<provider>"
66+
}
67+
```
68+
69+
You can ingest weather date after completing the extension installation.
70+
71+
If you would like to update the `apiFreshnessTimeInMinutes` update the extension using below PowerShell command
72+
73+
### Update command
74+
```azurepowershell-interactive
75+
armclient put /subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/<extensionid>?api-version=2021-09-01-preview '{"additionalApiProperties": {""15-day-daily-forecast"": {"apiFreshnessTimeInMinutes": <time>}, ""currents-on-demand"": {"apiFreshnessTimeInMinutes": <time>},""15-day-hourly-forecast"":{"apiFreshnessTimeInMinutes": <time>}}}'
76+
```
77+
78+
> [!NOTE]
79+
> All values within < > is to be replaced with your respective environment values.
80+
> The above update command does merge patch operation which means it updates Freshness Time only for the API mentioned in the command and retains the Freshness Time values for other APIs as they were before.
81+
82+
### Sample output
83+
```json
84+
{
85+
"id": "/subscriptions/<subscriptionid>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-resource-name>/extensions/<extensionid>",
86+
"type": "Microsoft.AgFoodPlatform/farmBeats/extensions",
87+
"systemData": {
88+
"createdBy": "50e74af5-3b8f-4a8c-9521-4f506b4e0c16",
89+
"createdByType": "User",
90+
"createdAt": "2022-10-10T21:28:05Z",
91+
"lastModifiedBy": "50e74af5-3b8f-4a8c-9521-4f506b4e0c16",
92+
"lastModifiedByType": "User",
93+
"lastModifiedAt": "2022-11-08T13:10:17Z"
94+
},
95+
"properties": {
96+
"extensionId": "provider",
97+
"extensionCategory": "Weather",
98+
"installedExtensionVersion": "2.0",
99+
"extensionApiDocsLink": "https://go.microsoft.com/fwlink/?linkid=2192974",
100+
"additionalApiProperties": {
101+
"15-day-daily-forecast": {
102+
"apiFreshnessTimeInMinutes": 1600
103+
},
104+
"currents-on-demand": {
105+
"apiFreshnessTimeInMinutes": 1600
106+
},
107+
"15-day-hourly-forecast": {
108+
"apiFreshnessTimeInMinutes": 1600
109+
}
110+
}
111+
},
112+
"eTag": "ea0261d0-0000-0700-0000-636a55390000",
113+
"name": "provider"
114+
}
115+
```
116+
117+
## Step 2: Fetch weather data
118+
119+
Once the credentials required to access the APIs is obtained, you need to call the fetch weather data API [here](/rest/api/data-manager-for-agri/dataplane-version2022-11-01-preview/weather) to fetch weather data.

0 commit comments

Comments
 (0)