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
Paginare i risultati con QuickGrid in Blazor
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Configurare e gestire sidecar container in Azure App Service
Creare una libreria CSS universale: Immagini
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Utilizzare il trigger SQL con le Azure Function
Miglioramenti agli screen reader e al contrasto in Angular
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Combinare Container Queries e Media Queries
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Autenticarsi in modo sicuro su Azure tramite GitHub Actions