Disegnare una mappa dei terremoti

L’altro giorno ho letto un interessante articolo in cui si valutava la possibilità di estrarre dal sito dell’Istituto Nazionale di Geofisica informazioni circa i terremoti rilevati (argomento tornato tragicamente d’attualità, come sappiamo) e sfruttare queste informazioni per rappresentarli su una mappa.

L’autore dell’articolo di cui sopra ha svolto un ottimo lavoro realizzando uno script in Python che esegue il parsing di questa pagina, ne estrae le informazioni e fornisce un report testuale degli eventi sismici, ciascuno corredato da un link per visualizzare il punto sulle mappe di OpenStreetMap.

Io ho cercato di fare un ulteriore passo in avanti, ovvero realizzare un sistema automatico che mostrasse direttamente su una mappa le posizioni degli ultimi eventi sismici. Il risultato è abbastanza gradevole, e con moltissimi margini di miglioramento, e ho quindi deciso di condividerlo con il mondo nella speranza che a qualcuno possa servire.

A livello pratico, si tratta di una singola pagina in php che scarica la pagina dell’INGV, ne esegue il parsing con pesante e doloroso uso di regexp creando un array con i dati, e poi provvede a disegnarli su una mappa OSM sfruttando le API di Mapstraction. Quest’ultimo, per chi non lo sapesse, è un insieme di API cartografiche open source progettate per interagire con i principali fornitori web di cartografia, che forniscono una serie di interessanti funzioni ben descritte sul loro sito web; ovviamente come fonte dei dati io ho scelto il migliore, OpenStreetMap!

Al momento il risultato è questo:

omsphpresult1

Oltre alla mappa ho anche previsto un div per loggare le operazioni svolte dallo script (immagino sappiate quanto è doloroso lavorare con le regexp🙂 ). Nulla vieta di rimuoverlo, ovviamente. Inoltre ho previsto anche la possibilità di cliccare sui marker, per visualizzare data, ora e magnitudine degli eventi:

osmphpresult2

Ho caricato il file online, e per chi volesse vederlo in azione è raggiungibile a questo indirizzo. Inoltre il sorgente è ovviamente libero (pubblicato con licenza Beerware, per intenderci) ed è scaricabile dalla stessa pagina.

I margini di miglioramento sono enormi: rendere più efficiente il parsing, prevedere sistemi di filtraggio e scelta del numero e tipo di eventi da mostrare, differenziare il tipo di evento (ad esempio un marker diverso a seconda della magnitudine) e altro ancora, e non è escluso che un pò alla volta ci giocherellerò per aggiungere queste funzioni. Per ora lascio tutto a voi, e se avete qualche idea o del codice migliorato che volete inserire fatemelo avere e lo aggiungerò.

Ciao a tutti!

Questa voce è stata pubblicata in Uncategorized e contrassegnata con , , . Contrassegna il permalink.

10 risposte a Disegnare una mappa dei terremoti

  1. Pingback: OpenStreetMap Italia » Blog Archive » Visualizzare una mappa dei terremoti

  2. Fabio ha detto:

    sei un grande!! quello che hai appena fatto è un esempio di Data Warehousing. Cerca “Geographical Information Systems” su en.wikipedia.org!

  3. quartostato ha detto:

    Sei pazzesco Mario, riesci sempre a stupirmi per la tua intraprendenza. Bravo!

  4. Stemby ha detto:

    Grande! Davvero fantastico.

  5. piccimario ha detto:

    grazie ragazzi, fa sempre piacere un feedback positivo.. ho in mente qualche abbellimento e qualche funzionalità aggiuntiva, stay tuned!

  6. sdonk ha detto:

    Complimenti, sei riuscito dove io non sono riuscito: visualizzare i terremoti sulla mappa.
    Sto pensando ad un’integrazione tra i ns due sw (ok, è una parola grossa), ti mando al più presto una mail per spiegarti le mie idee.
    Alex aka sdonk

  7. piccimario ha detto:

    ottimo! aspetto tue notizie.

  8. Virgina ha detto:

    Purtroppo si tratta di un’informazione preziosa. Ottimo studio

    edit by PicciMario: grazie per il commento, fa sempre piacere un feedback da parte dei miei lettori. Grazie di cuore. Mi sono permesso di modificare la tua email e rimuovere l’URL, ho notato che casualmente puntavano a un sito di scommesse online. Per un attimo ho avuto la buffissima sensazione che il tuo commento fosse di spam pubblicitario, quindi per non dare adito a dubbi ho apportato queste lievi modifiche🙂
    grazie ancora!

  9. mcheck ha detto:

    Mario nel 2012 le tue pagine non sono più disponibili ;-(

  10. mcheck ha detto:

    Forse e’ interessante per un elaborazione cartografica:
    http://openmap.rm.ingv.it/gmaps/rec/files/last90days_events.csv
    Ciao

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...