# 16. Запит: Отримати YieldDatasets

## Огляд

Отримати всі набори даних урожайності для обраного поля.&#x20;

Набори даних урожайності можна отримати за допомогою загальних запитів GraphQL:

1. `getFarms` використовуючи повну ієрархію Ферма > Поле > НабірДанихУрожайності з відповідними фільтрами
2. &#x20;`getFields` з пов'язаного Поля та ієрархії Поле > НабірДанихУрожайності
3. getYieldDatasets з широким набором фільтрів та пагінацією

{% hint style="warning" %}
Набір даних "YieldDataset" має бути завантажений заздалегідь.
{% endhint %}

## Сутність набору даних урожайності

YieldDataset містить багато атрибутів. GraphQL дозволяє отримувати лише потрібні поля, що значно зменшує розмір запиту та відповіді. Підробні пояснення для кожного атрибуту наведені нижче.

{% hint style="info" %}
Атрибути в "YieldDataset", позначені нижче як *що походять із метаінформації* є необов'язковими. Вони походять із метаінформації набору даних, яка не обов'язково присутня в кожному YieldDataset.
{% endhint %}

{% hint style="success" %}
Деталі про `geoMaps`  атрибут для YieldDataset доступні [тут](/geopard-tutorials/ukrainian/dokumentaciya-api/geo-endpoyinti-dlya-dostupu-do-prostorovikh-danikh/wms-otrimati-rastrovi-zobrazhennya-shariv-prostorovikh-danikh/12.-yielddatasetsmap.md).
{% endhint %}

{% hint style="success" %}
Деталі про те, як запустити Очистку та Калібрування для YieldDataset, доступні [тут](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/84.-mutaciya-kalibruvati-ta-ochishati-yielddataset.md).
{% endhint %}

```graphql
{
  uuid
  name #шаблон "<OperationType> <YYYY-mm-DD>" Обробіток ґрунту
  number #загальна кількість геофічних об'єктів
  geometryType #Полігони або Точки
  totalCoveredArea(unit: HECTARES) #загальна площа всіх геометрій (актуально для Полігонів)
  fieldCoverage #відсоток поля, покритий набором даних
  fieldCoveredArea(unit: HECTARES) #об’єднання геометрій (без дублікатів)

  attributes
  fullAttributes { #повні дані по кожному атрибуту
    name #посилання на статистику >> атрибут
    transliteratedName
    fullName #коректна читабельна назва
    unit#одиниці виміру
  }

  usedMachines { #використані машини, що походять із метаінформації
    id
    serial
    operatorId
  } 

  createdDate #дата та час створення об'єкта в GeoPard
  updatedDate #дата та час останнього оновлення
  operationId
  operationType
  operationFileDate #дата/час створення файлу походить із метаінформації 
  operationStartDate #початок операції походить із метаінформації
  
  statistics { #розподіл статистики для кожного атрибуту
    attribute
    min
    max
    avg
    mdn
    var
    std
    sum
  }
  
  cropName #назва культури походить із метаінформації
  cropToken #токен культури (великими буквами) походить із метаінформації

  appliedCorrections #список застосованих корекцій у вказаному порядку
  appliedCorrectionsVersion #версія використаного алгоритму корекції

  geoMaps {
    url
    shortName #опції префіксу: raw, thumbnail_raw, processed, thumbnail_processed
    hexColorCodes
    classes
  } 
}
```

## 1. Запит getFarms

### Запитати

{% code overflow="wrap" lineNumbers="true" %}

```graphql
query GetYieldDatasetsViaGetFarms {
  getFarms (farmUuids: ["9eecef55-f74f-4099-991a-05cbd976d50a"]) {
    uuid
    назва
    fields (fieldUuids: ["a050fc6f-1df8-4997-ae5b-5d0afa03a1ba"]) {
      uuid
      yieldDatasets {
        uuid
        назва
        number
        geometryType
        totalCoveredArea(unit: HECTARES)
        fieldCoverage
        fieldCoveredArea(unit: HECTARES)
      }
    }
  }
}
```

{% endcode %}

### Відповідь

```json
{
  "data": {
    "getFarms": [
      {
        "uuid": "9eecef55-f74f-4099-991a-05cbd976d50a",
        "name": "TEST VECTOR DATA",
        "fields": [
          {
            "uuid": "a050fc6f-1df8-4997-ae5b-5d0afa03a1ba",
            "yieldDatasets": [
              {
                "uuid": "08f0fee4-daf4-4a98-97e5-660b7b6cfbeb",
                "name": "CALIBRATE-CLEAN-YieldCORN2017",
                "number": 14657,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.97578,
                "fieldCoveredArea": 21.024173
              },
              {
                "uuid": "2b4fbd15-c961-49c8-8cc2-3031397d0380",
                "name": "CALIBRATE-YieldCORN2017",
                "number": 16200,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.98791,
                "fieldCoveredArea": 21.285677
              },
              {
                "uuid": "465769d3-14dd-419f-9740-fb230c0505fd",
                "name": "YieldSbean2018_reupload",
                "number": 9073,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.92874,
                "fieldCoveredArea": 20.0107663
              },
              {
                "uuid": "73d247ad-c45b-47a5-b94d-a2eb502857fe",
                "name": "CLEAN-YieldCORN2017 before build",
                "number": 14709,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.98305,
                "fieldCoveredArea": 21.1808419
              },
              {
                "uuid": "74f06214-1051-47a2-a560-696d9290245a",
                "name": "YieldSbean2018",
                "number": 10179,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.92874,
                "fieldCoveredArea": 20.0107663
              },
              {
                "uuid": "7e2bc706-2da4-43ae-beaa-240300d20c53",
                "name": "YieldSbean2015",
                "number": 10293,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.96217,
                "fieldCoveredArea": 20.730980600000002
              },
              {
                "uuid": "7fb9fb1f-c4df-4146-892c-ba672dab9cd7",
                "name": "CALIBRATE-CLEAN-YieldSbean2018",
                "number": 9026,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.92426,
                "fieldCoveredArea": 19.914270300000002
              },
              {
                "uuid": "8a97fc98-d6a5-4fb0-bd8d-d50c50b1adb8",
                "name": "CLEAN-YieldCORN2017 after build",
                "number": 14709,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.98305,
                "fieldCoveredArea": 21.1808419
              },
              {
                "uuid": "a7f9d7cc-e1e1-46ff-b13d-468518749ba9",
                "name": "CALIBRATE-YieldSbean2015",
                "number": 9310,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.95482,
                "fieldCoveredArea": 20.5726658
              },
              {
                "uuid": "cbd0c66b-21e3-4997-96a7-f1179da18c36",
                "name": "CLEAN-CALIBRATE-YieldSbean2015",
                "number": 9183,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.90674,
                "fieldCoveredArea": 19.5366444
              },
              {
                "uuid": "fdfd701f-6529-4f4e-8027-e831fb557fe2",
                "name": "YieldCORN2017",
                "number": 16334,
                "geometryType": "POINTS",
                "totalCoveredArea": -1.0,
                "fieldCoverage": 0.97947,
                "fieldCoveredArea": 21.103661199999998
              }
            ]
          }
        ]
      }
    ]
  }
}
```

## 2. Запит getFields

### Запитати

{% code overflow="wrap" lineNumbers="true" %}

```graphql
query GetYieldDatasetsViaGetFields {
  getFields (filter: {fieldUuid: "a050fc6f-1df8-4997-ae5b-5d0afa03a1ba"}) {
    fields {
      uuid
      area(unit: HECTARES)
      yieldDatasets(yieldDatasetUuids: ["8a97fc98-d6a5-4fb0-bd8d-d50c50b1adb8"]) {
        uuid
        назва
        number
        geometryType
        totalCoveredArea(unit: HECTARES)
        fieldCoverage
        fieldCoveredArea(unit: HECTARES)
      }
    }
  }
}
```

{% endcode %}

### Відповідь

```json
{
  "data": {
    "getFields": {
      "fields": [
        {
          "uuid": "a050fc6f-1df8-4997-ae5b-5d0afa03a1ba",
          "area": 21.541909393943847,
          "yieldDatasets": [
            {
              "uuid": "8a97fc98-d6a5-4fb0-bd8d-d50c50b1adb8",
              "name": "CLEAN-YieldCORN2017 after build",
              "number": 14709,
              "geometryType": "POINTS",
              "totalCoveredArea": -1.0,
              "fieldCoverage": 0.98305,
              "fieldCoveredArea": 21.1808419
            }
          ]
        }
      ]
    }
  }
}
```

## 3. Запит getYieldDatasets

### Запитати першу сторінку

```graphql
query GetPaginatedYieldDatasets {
    getYieldDatasets(
        filter:{
            fieldUuid: "a050fc6f-1df8-4997-ae5b-5d0afa03a1ba"
            pageSize: 2
        }
    ) {
        yieldDatasets {
            uuid
            назва
            fieldCoverage
            fieldCoveredArea(unit: HECTARES)
            number
        }
        lastEvaluatedKey {
            PartitionKey
            SortKey
            TagString
        }
    }
}
```

### Відповідь першої сторінки

```json
{
  "data": {
    "getYieldDatasets": {
      "yieldDatasets": [
        {
          "uuid": "08f0fee4-daf4-4a98-97e5-660b7b6cfbeb",
          "name": "CALIBRATE-CLEAN-YieldCORN2017",
          "fieldCoverage": 0.97578,
          "fieldCoveredArea": 21.024173,
          "number": 14657
        },
        {
          "uuid": "2b4fbd15-c961-49c8-8cc2-3031397d0380",
          "name": "CALIBRATE-YieldCORN2017",
          "fieldCoverage": 0.98791,
          "fieldCoveredArea": 21.285677,
          "number": 16200
        }
      ],
      "lastEvaluatedKey": {
        "PartitionKey": "FIELD-a050fc6f-1df8-4997-ae5b-5d0afa03a1ba",
        "SortKey": "YVDATA-2b4fbd15-c961-49c8-8cc2-3031397d0380",
        "TagString": null
      }
    }
  }
}
```

### Запитати наступну сторінку

Параметри пагінації передаються через `останнійОціненийКлюч`, використовуючи значення, повернене у відповіді першої сторінки вище.

```graphql
query GetPaginatedYieldDatasets {
    getYieldDatasets(
        filter:{
            fieldUuid: "a050fc6f-1df8-4997-ae5b-5d0afa03a1ba"
            pageSize: 2
            lastEvaluatedKey: {
                PartitionKey: "FIELD-a050fc6f-1df8-4997-ae5b-5d0afa03a1ba",
                SortKey: "YVDATA-2b4fbd15-c961-49c8-8cc2-3031397d0380",
                TagString: null
            }
        }
    ) {
        yieldDatasets {
            uuid
            назва
            fieldCoverage
            fieldCoveredArea(unit: HECTARES)
            number
        }
        lastEvaluatedKey {
            PartitionKey
            SortKey
            TagString
        }
    }
}
```

### Відповідь наступної сторінки

```json
{
  "data": {
    "getYieldDatasets": {
      "yieldDatasets": [
        {
          "uuid": "465769d3-14dd-419f-9740-fb230c0505fd",
          "name": "YieldSbean2018_reupload",
          "fieldCoverage": 0.92874,
          "fieldCoveredArea": 20.0107663,
          "number": 9073
        },
        {
          "uuid": "73d247ad-c45b-47a5-b94d-a2eb502857fe",
          "name": "CLEAN-YieldCORN2017 before build",
          "fieldCoverage": 0.98305,
          "fieldCoveredArea": 21.1808419,
          "number": 14709
        }
      ],
      "lastEvaluatedKey": {
        "PartitionKey": "FIELD-a050fc6f-1df8-4997-ae5b-5d0afa03a1ba",
        "SortKey": "YVDATA-73d247ad-c45b-47a5-b94d-a2eb502857fe",
        "TagString": null
      }
    }
  }
}
```


---

# 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/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/16.-zapit-otrimati-yielddatasets.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.
