> For the complete documentation index, see [llms.txt](https://docs.geopard.tech/geopard-tutorials/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geopard.tech/geopard-tutorials/it/documentazione-api/panoramica-delle-richieste-dellapi-geopard/87.-mutazione-salva-vectoranalysismap-personalizzata-zonesmap.md).

# 87. Mutazione: Salva VectorAnalysisMap personalizzata (ZonesMap)

Di seguito sono riportati i dettagli su come salvare una ZonesMap personalizzata con uno schema di colori personalizzato.

### 1. Salvare le geometrie di ZonesMap

{% hint style="danger" %}
VectorAnalysisMap (ZonesMap) `zonesMapGeojson` l'attributo deve essere nella proiezione WGS84 (EPSG:4326) e seguire la specifica GeoJson [specifica](https://geojson.org/).

Il `geojson` tipo previsto è `FeatureCollection` con `MultiPolygon`.
{% endhint %}

Mutation `saveVectorAnalysisMap` panoramica:

* L'attributo `fieldUuid` è un collegamento al Field esistente.
* L'attributo `nome` descrive il nome della ZonesMap.
* Il tipo di attributo è un valore enum che rappresenta il tipo di operazione. Può essere qualsiasi valore tra `GENERAL` , `SPRAYING`, `SEEDING`, `FERTILIZING` o `IRRIGATION`. È opzionale.
* L'attributo chiave con tutti i dettagli inclusi i rate per VRA è `zonesMapGeojson` come stringa JSON escapata.&#x20;
  * Il numero della zona è indicato in `properties` >> `zone`.
  * I rate verranno incorporati in `properties`  >> `attributes`.&#x20;

<mark style="color:predefinito;background-color:yellow;">L'</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">`properties`</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">attributo è un oggetto JSON che viene esteso con</mark>  `zone`<mark style="color:predefinito;background-color:yellow;">,</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">`rates`</mark><mark style="color:predefinito;background-color:yellow;">,</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">`ratesHeaders`</mark><mark style="color:predefinito;background-color:yellow;">,</mark>  <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">`ratesPrices`</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">e</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">`ratesUnits`</mark> <mark style="color:predefinito;background-color:yellow;"></mark><mark style="color:predefinito;background-color:yellow;">dettagli.</mark>  \
Una spiegazione di come assegnare i rate è [QUI](/geopard-tutorials/it/documentazione-api/panoramica-delle-richieste-dellapi-geopard/85.-mutazione-assegna-le-dosi-a-vectoranalysismap-zonesmap.md).

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

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

{% endcode %}

Esempio di mutation senza rate definiti:

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

La rappresentazione predefinita senza schema di colori assegnato appare così. La ZonesMap dell'utente >> `geoMaps` >> `url` è simile a [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="https://1371939954-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYICBELdyAXXebKAzfLOR%2Fuploads%2Fh7EyJMKNRfwooOT2kPEu%2Fimage.png?alt=media&amp;token=4c490f03-4e3b-437c-b129-2168ee5a5c5d" alt=""><figcaption></figcaption></figure>

### 2. Assegnare uno schema di colori personalizzato

Mutation `setGeoMaps` panoramica:

* L'attributo `fieldUuid` è un collegamento al Field esistente.
* L'attributo `vectorAnalysisMapUuid` è un collegamento alla ZonesMap appena salvata (VectorAnalysisMap) dal primo passaggio.
* L'attributo `shortName` descrive lo stile da modificare. \
  Le opzioni per ZonesMap sono `zones` e `miniatura`.
* L'attributo `hexColorCodes` descrive i codici colore esadecimali da impostare.

{% hint style="danger" %}
Il numero di colori in `hexColorCodes` deve rappresentare il numero esatto di zone esistenti`.`
{% endhint %}

Una spiegazione di come salvare i colori personalizzati è [QUI](/geopard-tutorials/it/documentazione-api/panoramica-delle-richieste-dellapi-geopard/39.-mutazione-imposta-schemi-di-colore-personalizzati-per-le-geomaps-selezionate.md) e come applicare i colori personalizzati al volo è [QUI](/geopard-tutorials/it/documentazione-api/endpoint-geospaziali-per-laccesso-ai-dati-spaziali/wms-recupera-immagini-raster-dei-layer-di-dati-spaziali/6.-zonesmap-schema-di-colori-personalizzato.md).

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

{% endcode %}

Di conseguenza, la rappresentazione visiva dalla ZonesMap >> `geoMaps` >> `url` simile a [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>) assomiglia a.

<figure><img src="https://1371939954-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYICBELdyAXXebKAzfLOR%2Fuploads%2FeG8IE9nHxZHDQv1uv5Hv%2Fimage.png?alt=media&amp;token=71493e47-ef3a-4e7a-991d-15d630b9de67" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.geopard.tech/geopard-tutorials/it/documentazione-api/panoramica-delle-richieste-dellapi-geopard/87.-mutazione-salva-vectoranalysismap-personalizzata-zonesmap.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
