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 Azure Cosmos DB con i vettori
Testare l'invio dei messaggi con Event Hubs Data Explorer
Usare le navigation property in QuickGrid di Blazor
Ottenere un token di accesso per una GitHub App
Applicare un filtro per recuperare alcune issue di GitHub
Creare una libreria CSS universale: Nav menu
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Creare una libreria CSS universale: Immagini
Simulare Azure Cosmos DB in locale con Docker
Generare velocemente pagine CRUD in Blazor con QuickGrid
Gestire i dati con Azure Cosmos DB Data Explorer
Path addizionali per gli asset in ASP.NET Core MVC