# 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 sfondo satellitare Esri e sfondo stradale OpenStreetMap. - 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. - Inquadramento e pulizia dei layer importati. - Disegno di marker, linee, poligoni e rettangoli. - POI/progetti salvabili in locale con `localStorage`. - GPS nativo MAUI ad alta precisione con permessi Android/iOS. - 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 Catasto, Progetti e Impostazioni, adattabile agli schermi pieghevoli. - Tendine concatenate Regione, Comune, Foglio e Particella. - 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. - 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. ## 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 ```powershell dotnet build -f net9.0-windows10.0.19041.0 ``` Per Android: ```powershell dotnet build -f net9.0-android -p:AndroidSdkDirectory=C:\Users\livio\AppData\Local\Android\Sdk ``` ## APK Release generato La pubblicazione Android genera: ```text 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: ```powershell 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 ```