# 87. Мутація: Зберегти користувацький VectorAnalysisMap (ZonesMap)

Нижче наведено деталі щодо збереження Custom ZonesMap з користувацькою схемою кольорів.

### 1. Збереження геометрій ZonesMap

{% hint style="danger" %}
VectorAnalysisMap (ZonesMap) `zonesMapGeojson` атрибут повинен бути в проекції WGS84 (EPSG:4326) і відповідати специфікації GeoJson [специфікації](https://geojson.org/).

Очікуваний `geojson` тип — `FeatureCollection` з `MultiPolygon`.
{% endhint %}

Мутація `saveVectorAnalysisMap` огляд:

* Атрибут `fieldUuid` є зв’язком з існуючим Полем.
* Атрибут `назва` описує назву ZonesMap.
* Тип атрибута — значення enum, що представляє тип операції. Це може бути будь-яке значення з `GENERAL` , `SPRAYING`, `SEEDING`, `FERTILIZING` або `IRRIGATION`. Це необов’язково.
* Ключовий атрибут з усіма деталями включно з нормами для VRA є `zonesMapGeojson` як екранований JSON-рядок.&#x20;
  * Номер зони вказано в `properties` >> `zone`.
  * Норми будуть включені в `properties`  >> `attributes`.&#x20;

<mark style="color:за замовчуванням;background-color:yellow;">Атрибут</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">`properties`</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">є JSON-об’єктом, який розширюється за допомогою</mark>  `zone`<mark style="color:за замовчуванням;background-color:yellow;">,</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">`rates`</mark><mark style="color:за замовчуванням;background-color:yellow;">,</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">`ratesHeaders`</mark><mark style="color:за замовчуванням;background-color:yellow;">,</mark>  <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">`ratesPrices`</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">та</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">`ratesUnits`</mark> <mark style="color:за замовчуванням;background-color:yellow;"></mark><mark style="color:за замовчуванням;background-color:yellow;">деталей.</mark>  \
Пояснення того, як призначати норми: [ТУТ](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/85.-mutaciya-priznachiti-stavki-dlya-vectoranalysismap-zonesmap.md).

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

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

{% endcode %}

Приклад мутації без визначених норм:

{% 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 %}

За замовчуванням представлення без призначеної схеми кольорів виглядає так. ZonesMap користувача >> `geoMaps` >> `url` схожий на [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/8de5563042cae4dd24b64f6bc1ba57f0e99df94a" alt=""><figcaption></figcaption></figure>

### 2. Призначення користувацької схеми кольорів

Мутація `setGeoMaps` огляд:

* Атрибут `fieldUuid` є зв’язком з існуючим Полем.
* Атрибут `vectorAnalysisMapUuid` є зв’язком з щойно збереженим ZonesMap (VectorAnalysisMap) з першого кроку.
* Атрибут `shortName` описує стиль для зміни.\
  Опції для ZonesMap — `zones` та `мініатюру`.
* Атрибут `hexColorCodes` описує hex-коди кольорів для встановлення.

{% hint style="danger" %}
Кількість кольорів у `hexColorCodes` має відповідати точній кількості існуючих зон`.`
{% endhint %}

Пояснення того, як зберегти користувацькі кольори: [ТУТ](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/39.-mutaciya-vstanoviti-vlasni-kolirni-skhemi-dlya-vibranikh-geomaps.md) а також як застосувати користувацькі кольори на льоту: [ТУТ](/geopard-tutorials/ukrainian/dokumentaciya-api/geo-endpoyinti-dlya-dostupu-do-prostorovikh-danikh/wms-otrimati-rastrovi-zobrazhennya-shariv-prostorovikh-danikh/6.-zonesmap-koristuvacka-kolorova-skhema.md).

Приклад мутації:

{% 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"
          ]
        }
      ]
    }
  ) {
    shortName
  }
}
```

{% endcode %}

В результаті візуальне представлення з ZonesMap >> `geoMaps` >> `url` схожий на [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>) виглядає так.

<figure><img src="/files/0f652ce24cb8d822ffdc2a4140fc4bc53abebf3b" 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/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/87.-mutaciya-zberegti-koristuvackii-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.
