Al giorno d'oggi, qualsiasi programma di gestione delle foto è in grado di organizzare le nostre foto raggruppandole secondo una posizione geografica: in questo modo è, ad esempio, più semplice vedere tutte le foto di una vacanza, oppure migliorare la velocità di indicizzazione di Windows quando si effettua una semplice ricerca.
Tramite Windows 10 e la Universal Windows Platform esiste una classe che si chiama GeotagHelper, il cui lavoro è quello di aggiungere (o leggere) i metadata relativi alla posizione geografica sui file. Per scrivere i metadati, data una posizione geografica conosciuta, è sufficiente questo metodo:
private async Task WriteGeotagAsync(StorageFile imageFile) { var position = new BasicGeoposition() { Latitude = 47.620491, Longitude = -122.349319, Altitude = 158.12 }; try { await GeotagHelper.SetGeotagAsync(imageFile, new Geopoint(position)); } catch (Exception) { // File I/O errors } }
Per essere certi che l'operazione sia andata a buon fine, è sufficiente effettuare un'operazione di lettura dei dati e osservare la corrispondenza con la scrittura effettuata in precedenza:
private async Task ReadGeotagAsync(StorageFile imageFile) { var geopoint = await GeotagHelper.GetGeotagAsync(imageFile); if (geopoint == null) await new MessageDialog("Nessun geotag rilevato").ShowAsync(); else await new MessageDialog($"Latitude: {geopoint.Position.Latitude} -- Longitude: {geopoint.Position.Longitude}").ShowAsync(); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare database e servizi con gli add-on di Container App
Assegnare un valore di default a un parametro di una lambda in C#
Creazione di componenti personalizzati in React.js con Tailwind CSS
Installare le Web App site extension tramite una pipeline di Azure DevOps
Eseguire i worklow di GitHub su runner potenziati
Potenziare Azure AI Search con la ricerca vettoriale
Hosting di componenti WebAssembly in un'applicazione Blazor static
Migrare una service connection a workload identity federation in Azure DevOps
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare politiche di resiliency con Azure Container App
Gestire la cancellazione di una richiesta in streaming da Blazor
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
I più letti di oggi
- ora è la volta di #azure. http://aspitalia.com/build-win8 #BldWin
- Implementare il pattern Dispose del .NET Framework
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare la cancellazione logica in #azure Container Registry https://aspit.co/ccy di @CristianCivera
- Centrare elementi in HTML tramite CSS
- Annunciato #PowerBI Embedded e disponibile in preview a partire da oggi! https://aspit.co/build2016 #build2016
- con il code inspector si potrà vedere il codice server associato all'HTML prodotto, ... http://aspitalia.com/build-win8 #BldWin
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!