Sovrapporre dati geografici

Su internet si trovano sempre più spesso dati geografici, in formato KML.  Mostrarli su mappa è una operazione molto facile: basta aprire maps.google.com e incollare nel campo di ricerca l’url del file KML che si vuole rappresentare.

E se volessi rappresentare due o più file KML contemporaneamente, ad esempio per analisi che evidenzino sovrapposizioni o continguità territoriali di fenomeni differenti o magari correlati?  Basterebbe fondere i diversi file KML in uno solo.

IdorcarburiMartesana

Ho provato allo scopo diversi software gratuiti, ma tutti presentano un difetto: nel file risultante, i dati perdono l’informazione sulla loro origine e quindi diventano graficamente indistinguibili.  Un servizio online risolve però questo problema, col solo limite che il file KML finale deve essere più piccolo di 3 MB. Ecco come:

  1. Vai a questa pagina del servizio GPS Visualizer
  2. Carica fino a 3 file KML
  3. Seleziona “kml” nel campo output file format”
  4. Seleziona “Track” nel campo “Colorize by”

Ad esempio, partendo dai tre file KML di questa pagina, grazie a GPS Visualizer ho prodotto questo file unico che mantiene i dati separati per origine e che, passato a Google Maps, genera questa mappa interattiva coi  dati dei tre file sovrapposti.

NaviGoogle

Google  ha messo insieme Google Maps con la propria piattaforma mobile Android ed ha messo a punto il GPS prossimo venturo:

Il navigatore Google (il NaviGoogle o GPSoogle, come lo chiamo io) fa quello che dovrebbero fare i navigatori ma che oggi non fanno: segnalarmi i negozi che mi interessano (e non solo quelli elencati tra i POI caricati sul navigatore), darmi una vista verosimile del luogo in cui mi trovo, aggiornare le mappe e le informazioni sul traffico in tempo reale.

Se non incontrerà ostacoli tecnici ed economici  (legati ad esempio al traffico dati non trascurabile che genera un GPS del genere), Google reinventerà la navigazione GPS, come ha reinventato la ricerca dei siti, la gestione della posta elettronica, la cartografia e tante altre cose. Ha i numeri (soldi) e le tecnologie (Maps, Android, Street View) per farlo. Ha soprattutto un modello di business vincente: passare dalla pubblicità indifferenziata alla pubblicità locale e personalizzata.  Tra un paio d’anni diventerà normale il seguente dialogo con il navigatore:

Automobilista: “Ho fame”

NaviGoogle: “C’è una pizzeria dietro l’angolo che oggi regala la bibita. Ti indico la strada?”

 

Mappa i video

Riprendo ed adatto un mio precedente post per spiegare come ottenere una mappa geografica con i video relativi ad un argomento a nostro piacere.

Partiamo dal fondo, cioè dall’effetto finale:  ecco la mappa dei video YouTube relativi al virus H1N1 (se sulla mappa non vedi alcun video, prova più tardi a richiamare questa pagina):

Ecco come fare per una mappa relativa ad un argomento generico (tra parentesi gli approfondimenti tecnici per i curiosi e gli sperimentatori).

Anzitutto bisogna selezionare su YouTube i video che ci interessano, digitando nella finestrella di ricerca la o le parole che descrivono meglio l’argomento, es. “H1N1“.

Quando la ricerca dà il risultato atteso, apri una finestra di Firefox o IE e prova il seguente indirizzo RSS:

http://gdata.youtube.com/feeds/base/videos?q=h1n1&client=ytapi-youtube-search&v=2

mettendo al posto della parte in grassetto la stringa di ricerca che hai verificato su YouTube: dovrebbe apparirti l’elenco dei video, tradotto  nel formato RSS (approfondimenti). Se tutto è a posto, copia l’indirizzo nella clipboard (CTRL C).

Vai su Google Maps alla pagina:

http://maps.google.it

e predisponilo ad accogliere l’elenco dei video digitando nella finestrella (dove solitamente scrivi il nome della città):

http://ws.geonames.org/rssToGeoRSS?feedUrl=

Lascia aperta la finestra su Google Maps ed apri una seconda finestra su

http://www.geonames.org/rss-to-georss-converter.html#urlEncoding

GeoNames è un servizio che cerca nella descrizione nei flussi RSS i nomi di città e associa ad ogni elemento (in questo caso, video) le coordinate geografiche del luogo citato.

Incolla (CTRL V) nella prima finestrella l’indirizzo RSS sopra preparato e clicca sul pulsante su encode url: nella seconda finestrella compare una versione “codificata” dell’indirizzo:

http%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fbase%2Fvideos%3Fq%3Dh1n1%26client%3Dytapi-youtube-search%26v%3D2

Copia questo nuovo indirizzo nella clipboard (CTRL C). Torna nella finestra di Google Maps e incolla (CTRL V) subito dopo “feedUlr=”. Quindi in Google Maps avrai la seguente stringa di ricerca:

http://ws.geonames.org/rssToGeoRSS?feedUrl=http%3A%2F%2Fgdata.youtube.com%2Ffeeds%2Fbase%2Fvideos%3Fq%3Dh1n1%26client%3Dytapi-youtube-search%26v%3D2

Clicca su “Cerca sulle mappe” e dovrebbero apparire i video collocati sulla mappa. “Dovrebbero” perché può capitare che Geonames e Google non si sincronizzino, nel qual caso occorre ricliccare lasciando passare qualche secondo. Può capitare che Geonames sbagli a georeferenziare il video. Però mediamente il risultato è buono.

Quando si è soddisfatti del risultato, per salvarlo e non dover più ripetere tutta la procedura, basta cliccare sul comando “Link” di Google Maps e salvare da qualche parte il link. Non ho ancora capito come regolare il numero di video mostrati ma qualcuno più esperto di me di RSS potrà dircelo.

Per chi ha fretta, può provare direttamente la stringa completa sopra mostrata sostituendo la parola in grassetto con quella desiderata (se poi non viene fuori nulla, bisogna rifare passo passo per vedere dove sta il problema!).

Il vantaggio di questo metodo è che è generalizzabile a qualunque altra fonte di informazioni (Flickr, notiziari ecc.) purché sia disponibile un canale RSS contenente le informazioni.  Per i canali di notizie vedi il mio precedente post. Per Flickr ed altri siti potete provare voi e mandarmi le istruzioni, le pubblicherò volentieri.

Integrazione di mappe “vive” di Google in WordPress.com

Chi come me usa WordPress.com come base per i propri blog sa per motivi di sicurezza non è consentito inserire nei post e nella pagine codice html potenzialmente pericoloso come script, iframe ecc. Questo limite, per quanto comprensibile, impedisce di inglobare tutta una serie di applicazioni interessanti (widget). WordPress.com consente l’integrazione di alcuni servizi ben definiti, quali i video di YouTube, attraverso una particolare sintassi.

Ho scoperto recentemente che è possibile integrare con una sintassi molto simile anche le mappe di Google Maps.  Questa possibilità è descritta nel Support di WordPress.com ma le istruzioni riportate non sembrano funzionare  con la versione italiana di Google (maps.google.it). Per tentativi e consultando qualche blog adesso so come fare:

1. Su maps.google.it selezionare la mappa desiderata (vanno bene sia le mappe “generiche” ottenute digitando semplicemente un indirizzo, sia le mappe “personali” costruibili con il comando “Le mie mappe”)

2. Una volta inquadrata la mappa, cliccare su “Link” tutto a destra e copiare il codice scritto nella casella “Incolla HTML da incorporare nel sito web”. questo codice ha più o meno questo aspetto:

<iframe width=”425″ height=”350″ frameborder=”0″ scrolling=”no” marginheight=”0″ marginwidth=”0″ src=”http://maps.google.it/maps/ms?ie=UTF8&amp;hl=it&amp;msa=0&amp;msid=115670203263680312765.00043f591c6492d429f4c&amp;ll=45.48915,9.326671&amp;spn=0.042689,0.033544&amp;output=embed&amp;s=AARTsJqLHpFkJvT2Dkgjqm9amH8BTcvrhw“></iframe><br /><small><a href=”http://maps.google.it/maps/ms?ie=UTF8&amp;hl=it&amp;msa=0&amp;msid=115670203263680312765.00043f591c6492d429f4c&amp;ll=45.48915,9.326671&amp;spn=0.042689,0.033544&amp;source=embed&#8221; style=”color:#0000FF;text-align:left”>Visualizzazione ingrandita della mappa</a></small>

3.  Nel post o pagina, stando sull’editore “Visuale” incollare tutto lo script

4. Cancellare tutto quel che c’è prima di http e tutto quello che viene dopo la fine della stringa che inizia con s=. Se guardate all’esempio sopra riportato, si deve conservare solo il pezzo che ho evidenziato in grassetto e buttare via il resto

5. Mettere davanti ad http la stringa [ googlemaps (senza mettere lo spazio tra [ e googlemap e mettendo dopo googlemaps uno spazio)

6. Aggiungere in fondo &w=400&h=500]

Il risultato nell’editor dovrebbe essere questo:

7. Salvare. Il risultato nel blog dovrebbe essere questo: