Files
LMEMappeCatastaliProApp/README.md
T

7.2 KiB

LME Mappe Catastali

App .NET MAUI Blazor Hybrid per Android, iOS, Mac Catalyst e Windows, pensata per consultare mappe catastali e lavorare sul campo con GPS.

Funzioni gia implementate

  • Mappa interattiva Leaflet con sfondi Esri, OpenStreetMap, OpenTopoMap, CARTO Voyager, Google Maps e Azure Maps configurabili tramite chiave.
  • Layer WMS ufficiale Agenzia delle Entrate: particelle, numeri particella, fogli, fabbricati, strade e acque.
  • Trasparenza configurabile del layer catastale.
  • Interrogazione WMS con click/tap sulla mappa.
  • Import di file KML, KMZ, GeoJSON e JSON.
  • Import GeoJSON compatibile con BOM, geometrie singole, array, FeatureCollection e coordinate Web Mercator EPSG:3857.
  • Filtro KML/KMZ solo particelle attivo per impostazione predefinita, con separazione dei MultiPolygon ed esclusione di GroundOverlay e perimetri del foglio; il layer foglio resta importabile e puo essere mostrato o nascosto separatamente.
  • Inquadramento e pulizia dei layer importati.
  • Disegno di marker, linee, poligoni e rettangoli.
  • Area, Distanza e Cerchio disponibili nella barra Leaflet laterale direttamente sulla mappa, con superficie, perimetro, raggio, circonferenza e lunghezza dei singoli lati.
  • Misure permanenti attivabili anche sui layer importati da KML, KMZ e GeoJSON.
  • Toolbar di disegno completa di icone, modifica, eliminazione singola e pulizia di tutti i disegni/POI.
  • Archivio multiprogetto nella cartella privata dell'app, con nome, selezione da elenco, sovrascrittura ed eliminazione.
  • Ogni progetto salva file GIS, POI, disegni, traccia e inquadratura; l'inclusione delle particelle catastali rosse e' opzionale e il foglio KML/KMZ mantiene la propria visibilita separata.
  • GPS nativo MAUI ad alta precisione con permessi Android/iOS.
  • Centratura automatica una tantum all'apertura: prima tramite posizione approssimativa della connessione Internet, poi tramite singola lettura GPS se la rete non restituisce una posizione; nessun punto o cerchio viene mostrato e il tracking continuo non viene avviato.
  • Punto e cerchio di precisione del GPS live possono essere mostrati o nascosti dalle impostazioni senza fermare il rilevamento.
  • Marker posizione, cerchio accuratezza in metri, tracciamento percorso.
  • Controllo se la posizione GPS cade dentro un poligono importato o disegnato.
  • Interrogazione WFS ufficiale Agenzia delle Entrate attorno alla posizione GPS per evidenziare la particella catastale corrente quando il servizio restituisce la geometria.
  • Mappa a tutto schermo con tab separati Catasto, Dati, Progetti e Impostazioni, adattabile agli schermi pieghevoli.
  • Ingrandimento oltre lo zoom satellitare nativo senza tessere "Map data not yet available".
  • Tendine concatenate Regione, Comune, Foglio e Particella.
  • Ricerca di localita e indirizzi eseguita nativamente con fallback Esri e OpenStreetMap, senza richieste CORS dalla WebView.
  • Catalogo dei Comuni incluso nell'APK e cataloghi regionali OnData scaricati in cache solo quando servono.
  • Ricerca catastale eseguita dal codice .NET nativo, senza DuckDB WebAssembly nella WebView Android.
  • La registrazione della traccia GPS e' disattivata all'avvio; la toolbar di disegno completa puo' essere mostrata o nascosta dal tab Dati.
  • Pannello Layer accessibile direttamente dalla mappa, con checkbox sincronizzati per confini, numeri particella, fogli, fabbricati, strade e acque.
  • Le particelle cercate possono essere aggiunte una dopo l'altra, mantenendo contemporaneamente sulla mappa tutti i confini selezionati.
  • Comandi separati per rimuovere le particelle selezionate o pulire importazioni, disegni, POI e traccia GPS.
  • Anteprima WMS ufficiale mostrata dentro l'app senza aprire una nuova finestra Android.
  • Confini delle particelle selezionate e della particella GPS sovrapposti anche all'anteprima WMS corrente.
  • Richieste WMS catastali in EPSG:4258 compatibili con il servizio AdE; i numeri particella sono visibili alle scale di dettaglio consentite dal servizio (circa zoom 17 o superiore).
  • Collegamenti separati al Geoportale pubblico e all'Area riservata AdE per CAPTCHA, SPID/CIE e download ufficiali.

Limite ufficiale AdE da considerare

Il WFS dell'Agenzia delle Entrate consente GetFeature con bounding box, ma non una ricerca diretta per attributi come Comune + Foglio + Particella. Per rendere quel flusso completamente automatico servono:

  1. un indice locale o remoto Comune/Foglio/Particella -> punto interno particella, per esempio i dati OnData;
  2. una chiamata WFS con bounding box piccola intorno a quel punto;
  3. filtro lato app sul risultato per selezionare la particella corretta.

Questo passaggio e' implementato nel tab Catasto. Regione e Comune sono disponibili subito; alla prima selezione di un Comune l'app scarica il file della regione, da circa 6 a 72 MB, e lo conserva nella cache del dispositivo. Fogli e particelle vengono poi popolati automaticamente.

I layer cartografici pubblici WMS/WFS sono open data e non richiedono CAPTCHA. Il CAPTCHA o l'autenticazione SPID/CIE appartengono ai servizi web di consultazione e download documentale: l'app li apre nel sito ufficiale dell'Agenzia e non tenta di aggirarli.

Azure Maps Gen2

Nel tab Impostazioni sono disponibili gli sfondi Strade - Azure Maps e Satellite - Azure Maps. Per usarli:

  1. crea una risorsa Azure Maps con piano Gen2 nel portale Azure;
  2. copia una delle chiavi di sottoscrizione della risorsa;
  3. inseriscila in Chiave sottoscrizione Azure Maps Gen2 e premi Salva chiave Azure Maps.

La chiave viene validata prima del salvataggio e rimane nel SecureStorage del dispositivo; non e' inclusa nel codice o nell'APK. Lasciando vuoto il campo e premendo il pulsante, la chiave viene rimossa.

La quota gratuita mensile Gen2 indicata da Microsoft comprende 5.000 transazioni per le mappe di base e 1.000 per le immagini satellitari. Una transazione raggruppa fino a 15 richieste di tessere. Oltre la quota si applicano le condizioni economiche della sottoscrizione Azure, quindi e' opportuno configurare budget e avvisi nel portale.

Aprire in Visual Studio

Apri LMEMappeCatastaliApp.csproj con Visual Studio 2022/2026 e seleziona:

  • Windows Machine per test desktop;
  • un emulatore o dispositivo Android per test mobile;
  • iOS/Mac Catalyst da Mac con workload Apple configurati.

Per Android serve Android SDK installato e configurato in Visual Studio.

Build da terminale

dotnet build -f net9.0-windows10.0.19041.0

Per Android:

dotnet build -f net9.0-android -p:AndroidSdkDirectory=C:\Users\livio\AppData\Local\Android\Sdk

APK Release generato

La pubblicazione Android genera:

C:\Users\livio\Documents\LMEMappeCatastali\LMEMappeCatastaliApp\bin\Release\net9.0-android\publish\com.companyname.lmemappecatastaliapp-Signed.apk

Per installarlo con telefono collegato e debug USB attivo:

C:\Users\livio\AppData\Local\Android\Sdk\platform-tools\adb.exe install -r C:\Users\livio\Documents\LMEMappeCatastali\LMEMappeCatastaliApp\bin\Release\net9.0-android\publish\com.companyname.lmemappecatastaliapp-Signed.apk