# 87. Mutation: Gem brugerdefineret VectorAnalysisMap (ZonesMap)

Nedenfor er detaljer om, hvordan man gemmer et brugerdefineret ZonesMap med et brugerdefineret farveskema.

### 1. Gem ZonesMap-geometrier

{% hint style="danger" %}
VectorAnalysisMap (ZonesMap) `zonesMapGeojson` attributten skal være i WGS84 (EPSG:4326) projektionen og følge GeoJson [specifikation](https://geojson.org/).

Den forventede `geojson` type er `FeatureCollection` med `MultiPolygon`.
{% endhint %}

Mutation `saveVectorAnalysisMap` oversigt:

* Attributten `fieldUuid` er en reference til det eksisterende markfelt (Field).
* Attributten `navn` beskriver navnet på ZonesMap.
* Attributtypen er en enum-værdi, der repræsenterer operationstypen. Det kan være en hvilken som helst værdi fra `GENERAL` , `SPRAYING`, `SEEDING`, `FERTILIZING` eller `IRRIGATION`. Det er valgfrit.
* Nøgleattributten med alle detaljer inklusive doser for VRA er `zonesMapGeojson` som en escaped JSON-streng.&#x20;
  * Zonesnummeret er angivet i `properties` >> `zone`.
  * Doser vil blive indarbejdet i `properties`  >> `attributes`.&#x20;

<mark style="color:standard;background-color:yellow;">Den</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">`properties`</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">attribut er et JSON-objekt, som udvides med</mark>  `zone`<mark style="color:standard;background-color:yellow;">,</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">`rates`</mark><mark style="color:standard;background-color:yellow;">,</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">`ratesHeaders`</mark><mark style="color:standard;background-color:yellow;">,</mark>  <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">`ratesPrices`</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">og</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">`ratesUnits`</mark> <mark style="color:standard;background-color:yellow;"></mark><mark style="color:standard;background-color:yellow;">detaljer.</mark>  \
En forklaring på, hvordan man tildeler doser, er [HER](/geopard-tutorials/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/85.-mutation-tildel-satser-til-vectoranalysismap-zonesmap.md).

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

```json
 {
    \"zone\":1,
    \"attributes\":{
        \"rates\":[100],
        \"ratesHeaders\":[\"Product1\"],
        \"ratesPrices\":[0],
        \"ratesUnits\":[\"KG_HA\"]
    }
}
```

{% endcode %}

Eksempel på mutation uden definerede doser:

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

```graphql
mutation saveVectorAnalysisMap {  
  saveVectorAnalysisMap(
    input: {
      fieldUuid:"abef3a63-a64b-4d84-aab0-43eaa8fbe0cd" 
      name:"Custom Zones" 
      zonesMapGeojson:"{\"type\":\"FeatureCollection\",\"features\":[{\"type\":\"Feature\",\"properties\":{\"zone\":1,\"attributes\":{}},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[10.426584494429108,52.872847225483895],[10.426789204309529,52.87282914352929],[10.42676923261385,52.87256092698456],[10.42679456306152,52.87240585041315],[10.427391783218683,52.87195386627311],[10.427338425939524,52.872087776901424],[10.427073800972806,52.87238914697767],[10.426899048635903,52.872624214183844],[10.42701887880915,52.872889416681545],[10.427403333950082,52.87288037571423],[10.427498199505067,52.872940648795804],[10.427403333950082,52.8731003720562],[10.42777780324397,52.873242012946434],[10.428022456514952,52.87323297205208],[10.428167251308338,52.8731244811766],[10.42807737867767,52.87286832108788],[10.42809735037332,52.87259407743369],[10.428501777209902,52.872404215426826],[10.428611621536277,52.87250969442229],[10.42882132434022,52.87257900905101],[10.429100928079123,52.87232585943539],[10.429155850242694,52.87216914702836],[10.429205779481066,52.87184065187668],[10.429263945397143,52.87180554285836],[10.42928833,52.87242022],[10.42922193,52.8725049],[10.42915175626986,52.87255993568499],[10.429021041297204,52.872554899627374],[10.428771395100966,52.872708596972984],[10.42838693996012,52.872847225483895],[10.428257123938948,52.87296777165494],[10.428370342208543,52.873172781233286],[10.42795711,52.87349687],[10.42718139841625,52.87321758481732],[10.427228581614003,52.87319078118864],[10.427208609918353,52.87305516741958],[10.42683913354881,52.873015990029785],[10.426664381211879,52.87293763514347],[10.426584494429108,52.872847225483895]]],[[[10.427804124872603,52.871641800637654],[10.42875584,52.87092153],[10.42897875,52.87105982],[10.42921404,52.87137376],[10.429231472601687,52.87152239994234],[10.428951140362273,52.871638731603355],[10.42879635972102,52.87193709107814],[10.428666543698995,52.872057639778546],[10.428371961188788,52.872057639778546],[10.42821218762407,52.87183161069021],[10.427967534352206,52.871708047624395],[10.427804124872603,52.871641800637654]]]]}},{\"type\":\"Feature\",\"properties\":{\"zone\":2,\"attributes\":{}},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[10.426899048635903,52.872624214183844],[10.427073800972806,52.87238914697767],[10.427338425939524,52.872087776901424],[10.427391783218683,52.87195386627311],[10.427804124872603,52.871641800637654],[10.427967534352206,52.871708047624395],[10.42821218762407,52.87183161069021],[10.428371961188788,52.872057639778546],[10.428666543698995,52.872057639778546],[10.42879635972102,52.87193709107814],[10.428951140362273,52.871638731603355],[10.429231472601687,52.87152239994234],[10.42926357,52.87179608],[10.429263945397143,52.87180554285836],[10.429205779481066,52.87184065187668],[10.429155850242694,52.87216914702836],[10.429100928079123,52.87232585943539],[10.42882132434022,52.87257900905101],[10.428611621536277,52.87250969442229],[10.428501777209902,52.872404215426826],[10.42809735037332,52.87259407743369],[10.42807737867767,52.87286832108788],[10.428167251308338,52.8731244811766],[10.428022456514952,52.87323297205208],[10.42777780324397,52.873242012946434],[10.427403333950082,52.8731003720562],[10.427498199505067,52.872940648795804],[10.427403333950082,52.87288037571423],[10.42701887880915,52.872889416681545],[10.426899048635903,52.872624214183844]]]]}},{\"type\":\"Feature\",\"properties\":{\"zone\":3,\"attributes\":{}},\"geometry\":{\"type\":\"MultiPolygon\",\"coordinates\":[[[[10.428257123938948,52.87296777165494],[10.42838693996012,52.872847225483895],[10.428771395100966,52.872708596972984],[10.429021041297204,52.872554899627374],[10.42915175626986,52.87255993568499],[10.428370342208543,52.873172781233286],[10.428257123938948,52.87296777165494]]],[[[10.42619246,52.87286153],[10.42679456306152,52.872405850413145],[10.42676923261385,52.87256092698456],[10.426789204309529,52.87282914352929],[10.426584494429108,52.872847225483895],[10.426664381211879,52.87293763514347],[10.42683913354881,52.873015990029785],[10.427208609918353,52.87305516741958],[10.427228581614003,52.87319078118864],[10.42718139841625,52.87321758481732],[10.42619246,52.87286153]]]]}}]}"
    }
  ) {
    uuid
  }
}
```

{% endcode %}

Standardrepræsentationen uden tildelt farveskema ser sådan ud. Brugerens ZonesMap >> `geoMaps` >> `url` er lignende [https://api.geopard.tech/geo/map/reflect?TRANSPARENT=true\&VIEWPARAMS=uuid:4a3929a5-c166-41d7-b547-da1511a9fa1d\&LAYERS=custom\_zone\_map\_view\&SRS=EPSG:3857\&STYLES=default\_zonesmap\&HEIGHT=64\&BBOX=1160638.4354309493,6959157.496681602,1160983.0667152018,6959632.459385279\&geopardApiKey=\<your\_geopard\_api\_key>](https://api.geopard.tech/geo/map/reflect?TRANSPARENT=true\&VIEWPARAMS=uuid:4a3929a5-c166-41d7-b547-da1511a9fa1d\&LAYERS=custom_zone_map_view\&SRS=EPSG:3857\&STYLES=default_zonesmap\&HEIGHT=64\&BBOX=1160638.4354309493,6959157.496681602,1160983.0667152018,6959632.459385279\&geopardApiKey=<your_geopard_api_key>).

<figure><img src="/files/9bfd4e22579d32f64d60b768e83362711aa62e92" alt=""><figcaption></figcaption></figure>

### 2. Tildel brugerdefineret farveskema

Mutation `setGeoMaps` oversigt:

* Attributten `fieldUuid` er en reference til det eksisterende markfelt (Field).
* Attributten `vectorAnalysisMapUuid` er en reference til det netop gemte ZonesMap (VectorAnalysisMap) fra første trin.
* Attributten `kortNavn` beskriver den stil, der skal ændres. \
  Muligheder for ZonesMap er `zones` og `miniaturebillede`.
* Attributten `hexColorCodes` beskriver hex-farvekoderne, der skal sættes.

{% hint style="danger" %}
Antallet af farver i `hexColorCodes` skal svare til det præcise antal eksisterende zoner`.`
{% endhint %}

En forklaring på, hvordan man gemmer brugerdefinerede farver, er [HER](/geopard-tutorials/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/39.-mutation-angiv-brugerdefinerede-farveskemaer-til-valgte-geomaps.md) og hvordan man anvender brugerdefinerede farver øjeblikkeligt er [HER](/geopard-tutorials/dnk/api-dokumentation/geo-endepunkter-til-adgang-til-spatial-data/wms-hent-rasterbilleder-af-spatiale-datalag/6.-zonesmap-brugerdefineret-farveskema.md).

Eksempel på mutation:

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

```graphql
mutation setGeoMaps{
  setGeoMaps(
    input: {
      geoMaps:[
        {
          shortName:"zones" 
          fieldUuid:"abef3a63-a64b-4d84-aab0-43eaa8fbe0cd" 
          vectorAnalysisMapUuid:"9799e2eb-06d2-4a42-8f47-38655abf11e1"
          hexColorCodes:[
            "#ffffbf",
            "#66bd63",
            "#f46d43"
          ]
        }, {
          shortName:"thumbnail" 
          fieldUuid:"abef3a63-a64b-4d84-aab0-43eaa8fbe0cd" 
          vectorAnalysisMapUuid:"9799e2eb-06d2-4a42-8f47-38655abf11e1" 
          hexColorCodes:[
            "#ffffbf",
            "#66bd63",
            "#f46d43"
          ]
        }
      ]
    }
  ) {
    kortNavn
  }
}
```

{% endcode %}

Som et resultat ligner den visuelle repræsentation fra ZonesMap >> `geoMaps` >> `url` ligner [https://api.geopard.tech/geo/map/reflect?TRANSPARENT=true\&VIEWPARAMS=uuid:9799e2eb-06d2-4a42-8f47-38655abf11e1\&LAYERS=custom\_zone\_map\_view\&SRS=EPSG:3857\&STYLES=default\_zonesmap\&HEIGHT=64\&BBOX=1160638.4354309493,6959157.496681602,1160983.0667152018,6959632.459385279\&env=c1:#ffffbf;c2:#66bd63;c3:#f46d43\&geopardApiKey=\<your\_geopard\_api\_key>](https://api.geopard.tech/geo/map/reflect?TRANSPARENT=true\&VIEWPARAMS=uuid:9799e2eb-06d2-4a42-8f47-38655abf11e1\&LAYERS=custom_zone_map_view\&SRS=EPSG:3857\&STYLES=default_zonesmap\&HEIGHT=64\&BBOX=1160638.4354309493,6959157.496681602,1160983.0667152018,6959632.459385279\&env=c1:#ffffbf;c2:#66bd63;c3:#f46d43\&geopardApiKey=<your_geopard_api_key>) ser sådan ud.

<figure><img src="/files/9834e1f7abd442ecab7636a6e5d7a53ef67300b1" alt=""><figcaption></figcaption></figure>


---

# 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/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/87.-mutation-gem-brugerdefineret-vectoranalysismap-zonesmap.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.
