# Percorsi Escursionistici

{% hint style="warning" %}
**Attenzione**: L'app **WeMap** è attualmente in versione **beta** e il sito è ancora in fase di costruzione. Durante questo periodo, alcune funzionalità potrebbero subire modifiche. Ci scusiamo per eventuali inconvenienti e apprezziamo il vostro **supporto** mentre lavoriamo per migliorare l'esperienza per tutti gli utenti. Vi invitiamo a segnalare eventuali problemi o a fornire feedback per aiutarci a perfezionare il servizio. Grazie per la collaborazione!
{% endhint %}

## Recupero dei dati

Utilizziamo <mark style="color:orange;">**Overpass API**</mark>, un servizio API che consente di **interrogare** e **recuperare dati** dettagliati da <mark style="color:purple;">**OpenStreetMap**</mark>.

Attraverso una **query** precisa, otteniamo informazioni specifiche sui **sentieri escursionistici ufficiali**, come le coordinate geografiche dei punti di inizio e fine delle linee che compongono il grafo dei sentieri.

***

## Selezione dei sentieri ufficiali

Riuscire a **selezionare** in modo **automatico** e accurato solo i **sentieri ufficiali** è un punto cruciale per le funzionalità di <mark style="color:green;">**WeMap**</mark>.

Tramite il nostro [**sistema di recupero dei dati**](#recupero-dei-dati) siamo in grado di **delineare** con precisione i **sentieri ufficiali** e identificare quelli segnati e **approvati dalle autorità locali** o dalle **associazioni escursionistiche**. Questo ci consente di garantire che le richieste di manutenzione possano essere effettuate solo su tratti di sentiero di <mark style="color:orange;">**dominio comunale**</mark> e <mark style="color:orange;">**ufficialmente riconosciuti**</mark>, evitando di permettere manutenzioni su sentieri o strade private.

***

## Delimitazione dei confini comunali

Il nostro [**sistema di recupero dei dati**](#recupero-dei-dati) è studiato anche per **delineare** in modo preciso i <mark style="color:orange;">**confini comunali**</mark>. Questo è particolarmente importante per i **comuni** che hanno deciso di **adottare WeMap**, poiché evita che vengano effettuate **richieste di manutenzione** su tratti di sentiero gestiti da comuni limitrofi.

***

## Visualizzazione dei sentieri sulla mappa

Il grafo dei sentieri viene visualizzato in modo chiaro e intuitivo sulla mappa interattiva dell'app <mark style="color:green;">**WeMap**</mark>. Le **Polilinee** tracciano in modo preciso il percorso dei sentieri sulla mappa.

Inoltre, attraverso l'interfaccia utente della mappa, gli utenti possono accedere a informazioni aggiuntive sui sentieri, come la lunghezza totale, la difficoltà del percorso e i punti di interesse lungo il tragitto. Questo rende l'esplorazione dei sentieri escursionistici un'esperienza più informativa e coinvolgente per gli utenti di WeMap.

La visualizzazione dei sentieri sulla mappa è progettata per essere intuitiva e facile da comprendere, fornendo agli utenti tutte le informazioni di cui hanno bisogno per godersi al meglio le loro avventure all'aria aperta.

***

## Aggiornamenti automatici e modalità offline

Una volta al giorno, quando l'app <mark style="color:green;">**WeMap**</mark> è **connessa a internet**, avviene una <mark style="color:orange;">**sincronizzazione automatica con OpenStreetMap per aggiornare il grafo dei sentieri**</mark>. Se durante questa sincronizzazione vengono **aggiunti** o **modificati sentieri** su **OpenStreetMap** che <mark style="color:purple;">**soddisfano i criteri**</mark> della nostra **query**, l'applicazione integra automaticamente queste nuove informazioni.

Questo approccio permette di mantenere l'uso <mark style="color:orange;">**offline efficace**</mark> e di mantenere l'app **aggiornata** e **super interconnessa** con le modifiche apportate su **OSM**. Questa funzionalità assicura che gli utenti possano usufruire sempre di informazioni aggiornate sui sentieri escursionistici, offrendo un'esperienza di esplorazione più **completa** e **aggiornata**.

***

## Precisione del tocco

{% hint style="warning" %}
Abbiamo sviluppato un <mark style="color:orange;">**algoritmo per migliorare la precisione del tocco**</mark> degli utenti sulla polilinea del sentiero. Questo algoritmo sfruttava una serie di <mark style="color:orange;">**marker invisibili**</mark> posizionati lungo il percorso del sentiero per individuare con precisione le coordinate esatte del punto toccato dall'utente. Grazie a questo sistema, gli utenti potevano segnalare con precisione le necessità di manutenzione specifiche lungo il sentiero. <mark style="color:yellow;">Tuttavia, abbiamo poi cessato di utilizzare questo approccio in quanto peggiorava le prestazioni anziché migliorarle.</mark>
{% endhint %}

L'approccio attuale coinvolge l'utilizzo di un <mark style="color:purple;">**LayerHitNotifier**</mark>, il quale notificherà ogni volta che viene effettuato un **tocco sul layer**. Questo notifier sarà collegato a un <mark style="color:purple;">**ValueNotifier**</mark> che, quando attivato, restituirà un <mark style="color:purple;">**LayerHitResult**</mark> contenente le **informazioni sui punti toccati** e sulle relative **coordinate geografiche**.

Per gestire gli eventi di tocco in modo appropriato, abbiamo implementato la <mark style="color:yellow;">**rilevazione dei gesti mediante widget reattivi**</mark> come GestureDetector o MouseRegion. In questo modo, possiamo filtrare gli eventi in base al tipo di gesto eseguito dall'utente, consentendo una gestione ottimizzata dei tocchi sulla mappa, e <mark style="color:orange;">**permettendo agli utenti di fare richieste di manutenzione solo su percorsi escursionisti comunali verificati**</mark>.

Queste modifiche, integrate nell'attuale versione dell'app, contribuiscono a migliorare ulteriormente l'esperienza degli utenti, garantendo il <mark style="color:yellow;">**massimo delle performance**</mark> e del <mark style="color:yellow;">**risparmio energetico**</mark>.


---

# 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.we-map.it/mappatura-automatizzata/percorsi-escursionistici.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.
