# data[].attributes.body
Sito per fare mappe online

# data[].attributes.headline
App per iPhone o iPad per trovare i metadati di una foto

# data[].attributes.subject
App per iPhone o iPad per trovare i metadati di una foto

# data[].attributes.body
Per chi avesse problemi a visualizzare i metadati  su      iPhone o iPad  basta semplicemente scaricare sui vostri dispositivi  l'applicazione "Investiga Foto".
Per maggiori informazioni consultare la seguente pagina web:

# data[].attributes.attachment_link.description
‎* Vedi tutti i metadati disponibili: ora, luogo, fotocamera ecc. * Rimuovi o modifica GPS, didascalia e marca temporale (richiede acquisto in-app) * Apri la località (se disponibile) su Waze, Apple, o Google Maps Quando scorri le tue foto, le foto con sovrapposizione globale possiedono i metadati G...

# data[].attributes.body
In questo sito l'immagine Ibiza.jpg consente l'estrazione delle coordinate

# data[].attributes.attachment_link.readable_text
When an image is taken using a smartphone or camera certain metadata fields are often attached to it. These fields could include the model of the camera, the time it was taken, whether the flash was used, the shutter speed, focal length, light value and even the location. The Instagr.am investigation case study that is featured on Behind Metadata offers a few examples of how this geo-location metadata could be used to verify, expose and protect.

There are a few ways to retrieve geo-location data from images, the easiest is to use an online tool, such as readexifdata.com or Jeffrey's Exif viewer, where the user can upload an image and look at the metadata information available. However, users can not know how those online services work and how secure uploaded images are when they are uploaded to unknown servers and often these online services are restrictive in the number of images they can process at a given time. This how-to covers two things: the basic steps for using open-source metadata extraction software on your desktop; and secondly how to extract geo-location information from a large number of images.

Install

ExifTool is a software that can read, write and edit different metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3. It is a powerful tool with many possibilities, it offers users the option to organise images by their metadata and to extract geo-location information.

You can get the source and download ExifTool through their website or you should be able to use your own package management system such as yum, pacman, apt-get or brew to easily install it on any UNIX Operating Systems (MacOS or Linux).

This example shows how to install ExifTool on Debian terminal:
sudo apt-get install exiftool

Basic usage to read an image metadata

Go to your terminal and type the following command: " exiftool Ibiza.jpg" using your correct image path and filename.

The correct path file depends on where it is stored, if it is in your Desktop the right command would be " exiftool /home/user/Desktop/Ibiza.jpg"

You should expect a list of data describing the image such as below:

ExifTool Version Number         : 10.00
File Name                       : Example Ibiza.JPG
Directory                       : .
File Size                       : 229 kB
File Modification Date/Time     : 2015:10:11 18:58:06+02:00
File Access Date/Time           : 2015:10:13 12:41:47+02:00
File Inode Change Date/Time     : 2015:10:11 18:58:06+02:00
File Permissions                : rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Profile CMM Type                : Lino
Profile Version                 : 2.1.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 1998:02:09 06:49:00
Profile File Signature          : acsp
Primary Platform                : Microsoft Corporation
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : IEC
Device Model                    : sRGB
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : HP
Profile ID                      : 0
Profile Copyright               : Copyright (c) 1998 Hewlett-Packard Company
Profile Description             : sRGB IEC61966-2.1
Media White Point               : 0.95045 1 1.08905
Media Black Point               : 0 0 0
Red Matrix Column               : 0.43607 0.22249 0.01392
Green Matrix Column             : 0.38515 0.71687 0.09708
Blue Matrix Column              : 0.14307 0.06061 0.7141
Device Mfg Desc                 : IEC http://www.iec.ch
Device Model Desc               : IEC 61966-2.1 Default RGB colour space - sRGB
Viewing Cond Desc               : Reference Viewing Condition in IEC61966-2.1
Viewing Cond Illuminant         : 19.6445 20.3718 16.8089
Viewing Cond Surround           : 3.92889 4.07439 3.36179
Viewing Cond Illuminant Type    : D50
Luminance                       : 76.03647 80 87.12462
Measurement Observer            : CIE 1931
Measurement Backing             : 0 0 0
Measurement Geometry            : Unknown
Measurement Flare               : 0.999%
Measurement Illuminant          : D65
Technology                      : Cathode Ray Tube Display
Red Tone Reproduction Curve     : (Binary data 2060 bytes, use -b option to extract)
Green Tone Reproduction Curve   : (Binary data 2060 bytes, use -b option to extract)
Blue Tone Reproduction Curve    : (Binary data 2060 bytes, use -b option to extract)
Exif Byte Order                 : Big-endian (Motorola, MM)
Make                            : Apple
Camera Model Name               : iPhone 4
Orientation                     : Horizontal (normal)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Software                        : 4.3.5
Modify Date                     : 2011:09:04 12:51:11
Exposure Time                   : 1/3016
F Number                        : 2.8
Exposure Program                : Program AE
ISO                             : 80
Exif Version                    : 0221
Date/Time Original              : 2011:09:04 12:51:11
Create Date                     : 2011:09:04 12:51:11
Components Configuration        : Y, Cb, Cr, -
Shutter Speed Value             : 1/3016
Aperture Value                  : 2.8
Metering Mode                   : Multi-segment
Flash                           : No Flash
Focal Length                    : 3.9 mm
Flashpix Version                : 0100
Color Space                     : sRGB
Exif Image Width                : 1024
Exif Image Height               : 765
Sensing Method                  : One-chip color area
Custom Rendered                 : Unknown (4)
Exposure Mode                   : Auto
White Balance                   : Auto
Scene Capture Type              : Standard
GPS Latitude Ref                : North
GPS Longitude Ref               : East
GPS Altitude Ref                : Above Sea Level
GPS Time Stamp                  : 11:07:47
GPS Img Direction Ref           : True North
GPS Img Direction               : 82.12307692
GPS Date Stamp                  : 2011:09:04
XMP Toolkit                     : XMP Core 5.1.2
Creator Tool                    : 4.3.5
Date Created                    : 2011:09:04 12:51:11
Image Width                     : 1024
Image Height                    : 765
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Aperture                        : 2.8
GPS Altitude                    : 0 m Above Sea Level
GPS Date/Time                   : 2011:09:04 11:07:47Z
GPS Latitude                    : 38 deg 54' 35.40" N
GPS Longitude                   : 1 deg 26' 19.20" E GPS Position : 38 deg 54' 35.40" N, 1 deg 26' 19.20" E Image Size : 1024x765 Megapixels : 0.783 Shutter Speed : 1/3016 Focal Length : 3.9 mm Light Value : 14.9

From the metadata information above we can see information such as the geo-location of the image, the phone it was taken on (in this case an iPhone 4), the exact date it was taken, whether the image is light or dark (the illumination levels) and more. In order for this geo-colocation to be processed by most online mapping services you must provide a different way to represent the latitude and longitude other than the default format of ExifTool.

The concise coordination format is set with the -c param as the next command shows. Type the following command into your terminal:
exiftool -c "%.6f" Ibiza.JPG

GPS Latitude                    : 38.909833 N
GPS Longitude                   : 1.438667 E

This way you can use this location for Reverse Geocoding - the process of having a readable address or place name data from these coordinates data. The Nominatim OpenStreetMap Web Service can provide precise geographical metadata related to these coordinates.

It can also be directly searched on OpenStreetMaps here through querying only this latitude and longitude only.

Processing large amounts of images

However, imagine you have 50, 1,000 or 100,000 images that you want to see whether they have geo-location metadata related to image. It would be nearly impossible to check each one individually. This geo-location information can be a very important piece of the puzzle when conducting an investigation. However social media platforms often strip this metadata when users upload images to their servers and individuals might strip the metadata themselves when uploading images online. In a batch of online images you might expect as little as 2% of them to have geo-location information their metadata, as some of our tests shows. With this in mind the usefulness of automising the process of sifting through hundreds, or thousands, of these images becomes more apparent.

We wrote a small script in the Ruby programming language that would not only sift through the images to automatically pick out this geo-location data but also plot them on a map. Place this script in a file called geobatch.rb and run in the folder with all the images you want to process:

def get_gps_from_exif file
  `exiftool -c "%.6f" #{file} | grep GPS | grep Position`.scan(/(\d+\.\d+)/)
end

zoom = 2
path = "*.JPG"
map_url = "http://staticmap.openstreetmap.de/staticmap.php?&zoom=#{zoom}&size=865x512&maptype=mapnik&markers="
all = Dir.glob(path)
total = all.count
has_gps = 0
meta_exif = 0
all.each do |file|
  if gps = get_gps_from_exif(file)
    if gps.count==2 # lat and long
      coord = "#{gps[0][0]},#{gps[1][0]}"
      puts "=> #{file} @ #{coord}"
      map_url += "#{coord},lightblue#{file}|"
      meta_exif+=1
      has_gps+=1
    end
  end
end
puts "=> Total #{total} images | #{meta_exif} with EXIF | #{has_gps} with location"
puts ("=> Percentage with location = %3.2f" % [(has_gps*100).to_f/total])
puts "=> Map URL: #{map_url}"

The result will look similar as the text below with the number of images that have geo-location information attached to them (in this case there was four images).

$ ruby geo batch.rb
...
=> 4.JPG @ 37.529000,122.266000
=> 3.JPG @ 43.740167,7.430000
=> 2.JPG @ 37.421833,122.084333
=> 1.JPG @ 41.373167,2.189500
=> Total 35 images | 5 with EXIF | 4 with location
=> Percentage with location = 80.00
=> Map URL:http://staticmap.openstreetmap.de/staticmap.php?&zoom=2&size=865x512&maptype=mapnik&markers=37.529000,122.266000,lightblue4.JPG|43.740167,7.430000,lightblue3.JPG|37.421833,122.084333,lightblue2.JPG|41.373167,2.189500,lightblue1.JPG

This generates all these available coordinates mapped and accessible on a URL that can be viewed on OpenStreetMaps as the image below.

# data[].attributes.attachment_link.title
Extracting location data automatically from images | Exposing the Invisible

# data[].attributes.attachment_link.description
Obtaining Evidence - When an image is taken using a smartphone or camera certain metadata fields are often attached to it. These fields could include the model of the camera, the time it was taken, whether the flash was used, the shutter speed, focal length, light value and even the location.

# data[].attributes.body
Luca Scalzullo

# data[].attributes.attachment_link.description
UMAP è una piattaforma che fornisce una interfaccia grafica di semplice utilizzo per personalizzare mappe e geolocalizzare dataset appositamente creati o recuperati negli archivi Open Data. UMAP si basa su OpenStreetMap e rispecchia le specifiche raccontate nell'introduzione. Obiettivo di questo Tutorial è quello di mettere in condizioni chiunque di creare con pochi click una mappa personalizzata.

# data[].attributes.headline
MAPS TUTORIAL: creare una mappa online con fotografie in uMap aggiornabile con EtherCalc.

# data[].attributes.subject
MAPS TUTORIAL: creare una mappa online con fotografie in uMap aggiornabile con EtherCalc.

# data[].attributes.attachment_link.readable_text
uMap è un software potentissimo per la creazione di mappe online, da inserire nel proprio sito, che fanno uso di OpenStreetMap come sfondo.
Il software è creato dall'italo-francese Yohan Boniface, rilasciato in open source con la licenza " do what the fuck you want to public license", scritto in django e leaflet, e reso disponibile sugli spazi di OpenStreetMap France - http://umap.openstreetmap.fr.
L'interfaccia per creare mappe è molto intuitiva e, i risultati che si ottengono danno subito soddisfazione.
Appena premuto il tasto " Crea una mappa" diventa semplicissimo cominciare ad inserire punti, linee o poligoni sulla mappa, definirne gli stili, le modalità con cui aprire una finestra informativa al clic o crearne uno slideshow automatico.
La mappa di sfondo predefinita è quella di OpenStreetMap in francese, ma il software offre diverse alternative oltre che la possibilità di caricare file con coordinate geografiche in latitudine e longitudine (WGS84) che si presentano nei formati: geojson, gpx, kml, georss, osm e csv.
Tutte le proprietà contenute contenute file caricato diventano automaticamente dati che uMap è in grado di gestire, eccezion fatta per il formato CSV.
In questo caso uMap ha bisogno di avere un minimo di regole: il file può usare come separatore la virgola o il tabulatore o il punto e virgola, può contenere solo entità geografiche fatte da punti, e queste devono essere definite all'interno delle colonne "lat" e "lon" (rispettivamente latitudine e longitudine). A quel punto uMap è in grado di rappresentare i punti e utilizzerà tutte le altre colonne come attributi dei dati da visualizzare.
Inoltre, in uMap, la registrazione utente è opzionale (le mappe create ottengono un indirizzo univoco da memorizzare con la possibilità di averne anche uno dedicato alla configurazione), e i dati generati possono essere scaricati e redistribuiti.

Il supporto al formato .osm è stato pensato per poter ottenere, direttamente da uMap di rappresentare al volo un insieme di dati che vengono inseriti in OpenStreetMap da una query a overpass-api (prodotto open source che offre delle API avanzate di interrogazione dei dati osm).
Il risultato è che, ogni volta che un dato viene inserito in OpenStreetMap, può essere visualizzato anche dalla mappa uMap creata.
Prendiamo come esempio le fontanelle dell'acqua presenti in Trentino.
La query a overpass per fare questa operazione è facilmente realizzabile tramite il front-end open source overpass-turbo specificando l'output in xml (per semplicità si rimanda a qui http://overpass-turbo.eu/s/9×3).
La query creata a sua volta può essere esportata anche per essere usata in uMap.

creare una nuova mappa da umap

andare sul box di sinistra di gestione dei layer ( )

modificare le proprietà del layer

e nelle impostazioni selezionare "Dati remoti" aggiungendo come URL quella alla chiamata alle overpass-api generata da overpass-turbo.eu

A questo punto uMap caricherà i dati la cui rappresentazione potrà essere cambiata sia nella vista classica ad icone

o quella raggruppata

o quella a densità

Grazie al fatto che i dati sono caricati in remoto, il risultato è che, ogni volta che un dato di tipo " amenity=drinking_water " inserito dell'area geografica del Trentino, verrà presentato anche nella mappa quando ricaricata.

Il caricamento dinamico dei dati in uMap in realtà richiede che una sorgente dati si occupi di tenere aggiornato un file nei vari formati supportati per poi caricarlo ogni volta che si accede alla propria mappa.
Pertanto un georss (un feed xml di notizie georiferite) può apparire benissimo su uMap, così come un geojson che viene aggiornato periodicamente su un webserver.
Una semplice soluzione può essere quella di creare una tabella online (un foglio di calcolo) da tenere aggiornata in maniera collaborativa.
Tutto sommato si tratta di seguire le regole base di come un file .csv deve essere dato in pasto a uMap (pertanto le due colonne " lat" e " lon").
Ethercalc è un prodotto open source collaborativo utilizzabile dal sito http://ethercalc.org senza alcuna necessità di registrazione.
Ogni foglio di calcolo generato può essere esportato nel formato .csv aggiungendo, semplicemente, la stringa .csv all'indirizzo.
Es. se l'url generata da ethercal è https://ethercalc.org/ridy7cf5er, con https://ethercalc.org/ridy7cf5er.csv si otterrà il file .csv della tabella descritta.

Supponiamo lo scenario di voler far inserire, in maniera collaborativa, le fotografie di una città con relative descrizioni.
Il primo lavoro da fare è definire i campi. Ad esempio: name per il nome, desc per descrizione, url per l'indirizzo web dell'immagine, lat per la latitudine e lon per la longitudine.
Fatta questa operazione si comincia a riempire le righe successive.
Le fotografie possono essere caricate su siti come flickr o commons o archive o postimg (che non richiede registrazione) rispettando però i copyright.
Le coordinate possono essere recuperati in diversi modi: estrando le informazioni dai metadati delle foto (se presenti), rilevandole sul posto con un gps, o ricavandole da un servizio online.
In quest'ultimo caso, si può usare il sito web che ospita la mappa OpenStreetMap creando un marcatore sullo schermo, usando la funzione di condivisione presente sulla bottoniera a sinistra ( ) e riportando le coordinate che vengono visualizzate nella barra di navigazione.
Per comodità viene riportato un esempio basato sulle informazioni recuperate dalla pagina Trento presente in Wikipedia.

Da qui si ripetono i passaggi visti sopra per collegare in maniera dinamica uMap ad una query overpass-api semplicemente inserendo l'url di ethercalc seguita da .csv facendo attenzione a selezionare il formato " csv" e abilitare le variabili " Dinamico" e " Richiesta proxy".
Sulla mappa appariranno subito i dati inseriti nella tabella, che essendo però collegata dinamicamente, ogni volta che sarà aggiunta una riga, si aggiornerà.

Ora si può passare alla personalizzazione della mappa.
Cominciamo con l'inserire un nuovo fornitore di mappe di sfondo, come, ad esempio, uno di quelli offerti da Mapbox.
Entrando nelle impostazioni di uMap, seguendo la voce " Sfondo personalizzato" è sufficiente assegnare un nome e aggiungere una url secondo lo schema supportato (es. http://{s}.tiles.mapbox.com/v3/tmcw.map-7s15q36b/{z}/{x}/{y}.png).
Le icone possono essere cambiate in maniera globale alla voce " Proprietà preimpostate".
Per far apparire invece una pagina informativa al clic, occorre andare ad operare alla voce " Default popup options".
Se non viene definito nulla, uMap, va ad utilizzare il campo "name".
Nel nostro caso vogliamo avere un popup che mostri: il nome del luogo, con il link alla descrizione ed una immagine.
Per fare questo occorre usare la sintassi richiesta da uMap che segue questa formattazione

*asterisco per l'italico*
**due asterischi per il testo marcato**
# un cancelleto per l'intestazione principale
## due cancelletti per le intestazioni di secondo livello
### tre cancelletti per intestazione di terzo livello
Link semplice: [[http://example.com]]
Link con testo: [[http://example.com|testo del link]]
Immagini: {{http://image.url.com}}
Immagine con larghezza personalizza (in px): {{http://immagine.url.it|larghezza}}
Iframe: {{{http://iframe.url.com}}}
Iframe with custom height (in px): {{{http://iframe.url.com|height}}}
--- per una linea orizzontale
Nel caso presentato questo si traduce nel seguente modo

Salvata la mappa si può subito farne un test e vederne il risultato.

A questo punto l'indirizzo per le modifiche può essere protetto ( ) e con la funzione di condivisione ) è possibile ottenere: il codice iframe per incorporare la mappa in un sito, l'url semplificata e il download del dataset.

# data[].attributes.attachment_link.title
TUTORIAL: creare una mappa online con fotografie in uMap aggiornabile con EtherCalc

# data[].attributes.attachment_link.description
uMap è un software potentissimo per la creazione di mappe online, da inserire nel proprio sito, che fanno uso di OpenStreetMap come sfondo. Il software è creato dall'italo-francese Yohan Boniface, rilasciato in open source con la licenza " do what the fuck you want to public license", scritto in django e leaflet, e reso disponibile sugli spazi di OpenStreetMap France - http://umap.openstreetmap.fr.

# data[].attributes.body
L'applicazione eseguibile in Windows

# data[].attributes.attachment_link.description
A command-line application and Perl library for reading and writing EXIF, GPS, IPTC, XMP, makernotes and other meta information in image, audio and video files. For Windows, MacOS, and Unix systems.

# data[].attributes.attachment_link.title
Exchangeable image file format - Wikipedia

# data[].attributes.attachment_link.description
Exchangeable image file format (abbreviazione ufficiale Exif, non EXIF) è una specifica per il formato di file immagine utilizzato dalle fotocamere digitali. La specifica utilizza i formati esistenti JPEG, TIFF Rev. 6.0, e RIFF, con l'aggiunta di specifiche etichette (tag) di metadati. Non è supportato in JPEG 2000, PNG e GIF.

# data[].attributes.body
Dal Civic Hacker Matteo Tempestini. Classe 1980. Di Prato. Babbo. Ingegnere Informatico.

# data[].attributes.attachment_link.description
In questi giorni mi è stato chiesto un suggerimento su una soluzione "semplice" da mettere in piedi per fare una mappatura completa di oggetti disposti nei luoghi pubblici di una città. Esistono mi...

# data[].attributes.body
Competenze Digitali - Open Data - File CSV - metadati - raccolta - estrazione - condivisione