# 84. Mutation: YieldDataset kalibrieren und bereinigen

Die Kalibrierung des „YieldDataset“ ist eine Funktionalität, die die Verteilung der Werte gemäß mathematischen Grundsätzen korrigiert und die Gesamtintegrität der Daten verbessert. Sie stärkt die Qualität der Entscheidungsfindung und macht den Datensatz für weiterführende, tiefgehende Analysen verwertbar.

Typische Anwendungsfälle für diese Funktionalität umfassen:

* Synchronisierung von Daten, wenn mehrere Mähdrescher entweder gleichzeitig oder über mehrere Tage gearbeitet haben, um Konsistenz sicherzustellen.
* Das Dataset homogener und genauer zu machen, indem Schwankungen geglättet werden.
* Entfernung von Datenrauschen und überflüssigen Informationen, die Erkenntnisse verschleiern können.
* Eliminierung von Wendemarken oder abnormalen Geometrien, die die tatsächlichen Muster und Trends im Feld verfälschen können.
* Anpassung der Ertragsdaten, damit sie mit etablierten Durchschnitten oder Summen für jedes Attribut übereinstimmen.

Für eine detailliertere Erkundung und Beispiele verweisen wir auf unser [Yield-Kalibrierung & Bereinigung](/geopard-tutorials/de/agronomie/ertragskalibrierung-and-bereinigung.md) Use Case.

### Ursprüngliches YieldDataset mit Attribut WetMass

Fünf Mähdrescher arbeiteten parallel auf dem unten gezeigten 30 ha Feld. Die Kalibrierung eines der Mähdrescher war nicht mit den anderen synchronisiert, was zu <mark style="color:orange;">orange</mark> Stellen führte, die anzeigen, dass zusätzliche `KALIBRIERUNG` erforderlich ist. Zusätzlich gibt es zahlreiche Wendemarken <mark style="color:rot;">rot</mark> näher an den „Feld“-Rändern, die entfernt werden müssen.

<figure><img src="/files/489c99a7744297d51612656279658c76e372e5b7" alt=""><figcaption><p>Ursprüngliches YieldDataset mit Attribut WetMass</p></figcaption></figure>

### Kalibriertes und bereinigtes YieldDataset mit Attribut WetMass

Das Ergebnis unten zeigt den Datensatz nach Anwendung automatischer `KALIBRIEREN` und `BEREINIGEN` Operationen unter Verwendung der Standardparameter. Das resultierende „YieldDataset“ ist homogen geworden, ohne Ausreißer oder abrupte Änderungen zwischen benachbarten Geometrien.

<figure><img src="/files/c86b3ef32b15e68308aaa4766174d44f7a3b7e41" alt=""><figcaption><p>Kalibriertes und bereinigtes YieldDataset mit Attribut WetMass</p></figcaption></figure>

### Optionen: Pfadbezogen vs Durchschnitt/Summe vs Konditional

**Pfadbezogene Kalibrierung** entspricht den Fahrspuren der Maschine. Jede Maschinenspur wird für Kalibrierungszwecke als eigene Region verarbeitet. Das GeoPard-Team empfiehlt diese Methode als Standardvorgehen.

**Durchschnitts-/Gesamt-Kalibrierung** konzentriert sich auf die Umverteilung von Attributwerten. Wenn die räumlichen Muster korrekt sind, die absoluten Zahlen jedoch von den tatsächlichen abweichen, erweist sich diese Methode als vorteilhaft. Für optimale Ergebnisse empfiehlt GeoPard, sie mit der pfadbezogenen Kalibrierung zu kombinieren: Zuerst Pfadbezogen anwenden, dann an bekannte Durchschnitts-/Gesamtwerte anpassen.

**Konditionale Kalibrierung** passt Attributwerte basierend auf vorgegebenen Min- und Max-Grenzwerten an. Diese Methode ist besonders wertvoll, wenn die räumlichen Muster präzise sind, die Verteilung der Werte jedoch angepasst werden muss, insbesondere wenn bekannte Min- und Max-Werte vorliegen. Für beste Resultate empfiehlt GeoPard, sie mit der pfadbezogenen Kalibrierung zu koppeln: Beginnend mit Pfadbezogen, gefolgt von Anpassungen zur Angleichung an die bekannten Min- und Max-Werte.

### Hinweise

{% hint style="warning" %}
**Hinweis zu Datenanomalien**

Wenn ein Nutzer auf Anomalien in den Daten stößt, wie Werte bei oder nahe null oder ungewöhnlich große Werte (zum Beispiel ein Mittelwert von 10 mit einem Maximum von 8000), wird der **Bereinigungs- & Kalibrierungs-** Workflow empfohlen. Er wird mit den Parametern konfiguriert `Aktionen: [CLEAN, CALIBRATE]`.&#x20;

Die Priorisierung der Datenbereinigung vor der Kalibrierung gewährleistet die Entfernung von Fehlern, fehlenden Werten oder Inkonsistenzen und verbessert so Datenqualität und Genauigkeit.
{% endhint %}

{% hint style="warning" %}
**Hinweis für Daten ohne anfängliche Fehler**&#x20;

Für Datensätze, die anfänglich frei von Fehlern, fehlenden Werten oder Inkonsistenzen sind, und wenn bekannt ist, dass mehrere Mähdrescher beteiligt waren, ziehen Sie den **Kalibrierungs- & Bereinigungs-** Workflow in Betracht. Er wird mit den Parametern konfiguriert `Aktionen:  [CALIBRATE, CLEAN]`.

Die Bereinigung der Daten nach der Kalibrierung hilft, den Datensatz weiter zu verfeinern, indem potenzielle Artefakte entfernt werden, die während der Kalibrierung eingeführt wurden.
{% endhint %}

### Dokumentation: Mutationsdetails

Die standardmäßige Vorkonfiguration aktiviert die automatische Kalibrierung und Bereinigung des „YieldDataset“.

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

```graphql
mutation AutoCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    actions: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        conditionPathwiseCalibration: {
          calibrationBasis: "WetMass"
          maxHomogeneityRegion: true
          syntheticMachinePath: true
        }
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
      }
      
      Aktionen:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

Ein fortgeschritteneres Beispiel bietet manuelle Kontrolle über Min-/Max-Bereiche und nimmt zusätzliche Attribute auf.

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

```graphql
mutation CustomCalibrateYieldDataset {
  calibrateYieldDataset(input: {
    fieldUuid: "<placeholder_of_field_uuid>"
    yieldDatasetUuid: "<placeholder_of_dataset_uuid>"
    actions: {
      calibrateAction: {
        calibrationAttributes:["WetMass", "VRYIELDVOL"]
        smoothWindowSize: 11
        conditionPathwiseCalibration: {
          calibrationBasis: "Machine"
          maxHomogeneityRegion: true
          syntheticMachinePath: false
        }
        conditionAvgTotalCalibration:[{
          calibrationAttribute: "WetMass"
          average:8.0
        }]
      }
      cleanAction: {
        condtionAutoClean: {
          targetAttribute: "WetMass"
        }
        conditionMinMaxClean: [{
          cleanAttribute: "Distance"
          min: 1.5
          max: 10.0
        }]
      }
      Aktionen:  [CALIBRATE, CLEAN]
    }
  }) {
    uuid
    fieldUuid
    originalUuid
    statusCode
    statusMessage
  }
}
```

{% endcode %}

{% hint style="info" %}
Um dem USDA-Protokoll für die `BEREINIGEN` Operation zu folgen, müssen SIE entweder ALLE Spalten in der `cleanAction` -> `conditionMinMaxClean` oder einen Teil davon in `cleanAction` -> `conditionMinMaxClean` und die verbleibenden in `condtionAutoClean` -> `excludedAttributes`.
{% endhint %}

Eingabeparameter:

* `Aktionen` als Array, das es Ihnen ermöglicht, *die korrigierenden Aktionen und deren Reihenfolge* der Anwendung zu wählen; unterstützte Werte umfassen `BEREINIGEN` und `KALIBRIEREN`.
* `calibrateAction` als ein Objekt, das Konfigurationsdetails im Zusammenhang mit der `KALIBRIEREN` Operation enthält.&#x20;
  * `calibrationAttributes` als ein Array von Attributen, die kalibriert werden müssen, typischerweise verbunden mit der Ertrags-Spalte.
  * `smoothWindowSize` als ungerade Ganzzahl, die die Ergebniswerte glättet und abrupte Sprünge in den Werten reduziert.
  * `conditionPathwiseCalibration` als ein Objekt mit der **Pfadbezogen** Kalibrierung entspricht den Fahrspuren der Maschine. Jede Maschinenspur wird für Kalibrierungszwecke als eigene Region verarbeitet.
    * `calibrationBasis` als String, der das Attribut darstellt, das als Basis für die Kalibrierung verwendet wird.
    * `maxHomogeneityRegion` als Boolean, der angibt, ob die maximal homogene Region als Referenzregion für die Kalibrierung verwendet wird.
    * `syntheticMachinePath` als Boolean, der die Simulation von Maschinenrouten anzeigt; dies ist nützlich, wenn das genaue Maschinenpfad-Attribut fehlt und basierend auf Zeitstempeln oder einem ähnlichen Attribut simuliert werden muss.
  * `conditionAvgTotalCalibration` als ein Objekt mit der **Durchschnitts-/Gesamt-** Kalibrierung konzentriert sich auf die Umverteilung von Attributwerten. Wenn die geospatialen Muster korrekt sind, die absoluten Zahlen jedoch von den tatsächlichen abweichen, ist diese Methode vorteilhaft.
    * `calibrationAttribute` als String, der das zu kalibrierende Attribut darstellt.
    * `average` als Zahl, die den Durchschnittswert des Attributs darstellt; die Attributwerte sollten diesem Durchschnitt entsprechen. Es sollte jeweils nur eine Option verwendet werden, entweder `average` oder `total`, sollte jeweils verwendet werden.
    * `total` als Zahl, die die Gesamtsumme der Attributwerte darstellt; die Summe dieser Werte sollte mit dem Gesamtwert übereinstimmen. Es sollte jeweils nur eine Option verwendet werden, entweder `average` oder `total`, sollte jeweils verwendet werden.
  * `conditionMinMaxCalibration` als ein Objekt mit der **Konditional** Kalibrierung passt Attributwerte basierend auf vorgegebenen Min- und Max-Schwellen an.
    * `calibrationAttribute` als String, der das zu kalibrierende Attribut darstellt.
    * `min` als Zahl, die die Minimalwerte des Attributs darstellt und den unteren Bereich für die Kalibrierung bildet.
    * `minIncluded` als Boolean, der angibt, ob der Minimalwert einbezogen werden soll oder nicht
    * `max` als Zahl, die die Maximalwerte des Attributs darstellt und den oberen Bereich für die Kalibrierung bildet.
    * `maxIncluded` als Boolean, der angibt, ob der Maximalwert einbezogen werden soll oder nicht.
* `cleanAction` als ein Objekt, das die konfigurationsspezifischen Details im Zusammenhang mit der `BEREINIGEN` Operation enthält.
  * `conditionAutoClean` als ein Objekt, das die spezifischen Konfigurationen des Auto-Clean-Algorithmus enthält.
    * `targetAttribute` als String, der die Ziel-Ertragswerte darstellt.
    * `excludedAttributes` als ein Array von Strings, das Attribute definiert, die die Bereinigungsoperation nicht beeinflussen.
  * `conditionMinMaxClean` als ein Array von Objekten, die die beschriebenen Bereinigungsregeln enthalten; jedes Objekt beinhaltet die folgenden Parameter.
    * cleanAttribute als String, der den Spaltennamen für die Regel angibt.
    * `min` als Zahl, die den Minimalwert angibt.
    * `max` als Zahl, die den Maximalwert angibt.

{% hint style="info" %}
Um die Eingaben einzusehen und auf die jeweils neuesten verfügbaren Werte von Enumerationen (wie `Operationen`) zuzugreifen, wird empfohlen, [Altair](/geopard-tutorials/de/api-dokumentation/erste-schritte-mit-der-geopard-api.md).
{% endhint %}

### Dokumentation: YieldDataset-Abfrage

Als GeoPard-API-Nutzer können Sie Details zu den auf YieldDatasets angewendeten Korrekturen über die Attribute abrufen `appliedCorrections` und `appliedCorrectionsVersion`. Ersteres liefert eine Liste der vorgenommenen Korrekturen (z. B. `KALIBRIEREN` und `BEREINIGEN`), wobei die Ausführungsreihenfolge durch ihre Sequenz im Array angegeben wird. Gleichzeitig `appliedCorrectionsVersion` zeigt die Version des verwendeten Algorithmus an.

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

```graphql
query DetailsAboutAppliedCalibrations {
  getFields (filter: {fieldUuid: "<placeholder_of_field_uuid>"}){
    fields {
      uuid
      yieldDatasets  {
        uuid
        appliedCorrections
        appliedCorrectionsVersion
      }
    }
  }
}
```

{% endcode %}


---

# 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/de/api-dokumentation/uberblick-uber-geopard-api-anfragen/84.-mutation-yielddataset-kalibrieren-und-bereinigen.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.
