Home > Open Source, Progetti, Web Mapping > GIS in the Cloud: CartoDB

GIS in the Cloud: CartoDB


Tempo fa ho pubblicato un post di approfondimento su MapBox  come prima soluzione di GIS in the cloud analizzata.

Eccomi ora alla seconda puntata che è imperniata su CartoDB.

Riprendendo quanto riportato sul sito “ … CartoDB is a geospatial database on the cloud that allows for the storage and visualization of data on the web …. “: analogamente a MapBox quindi il suo core business è quindi quello di permettere di realizzare facilmente la pubblicazione dei propri dati georiferiti in mappe su sfondi predefiniti e personalizzabili, anche se, come potremo vedere, si differenzia da MapBox stesso in alcuni aspetti.

Per utilizzare l’interfaccia grafica di pubblicazione dei dati è necessario registrarsi sul sito. Effettuato il login l’utente ha a disposizione, nella versione free of charge, lo spazio virtuale per creare / effettuare l’upload sino a 5 tabelle, per un massimo di 5 Mbytes: le tabelle, che rappresentano i layers, possono poi essere visualizzate composte in “visualizzazioni” che sono quindi mappe tematiche sovrapposte ad uno sfondo cartografico di riferimento.

Per esigenze superiori sono offerte diverse modalità di sottoscrizione del servizio a pagamento.

E’ possibile creare tabelle da zero o effettuare l’upload di dati già in possesso secondo diverse modalità:

  • usando dati disponibili localmente o fornendo la URL di accesso
  • usando dati caricati su Google Drive
  • usando dati caricati su Dropbox

CartoDB per i propri tutorial mette a disposizione una serie di dati campione.

I formati supportati sono i seguenti:

  • .CSV .TAB *    Comma-separated values and Tab delimited file
  • .SHP **    ESRI shapefiles
  • .KML, .KMZ    Google Earth format
  • .XLS, .XLSX ***    Excel Spreadsheet
  • .GEOJSON    GeoJSON
  • .GPX    GPS eXchange Format
  • .OSM, .BZ2    Open Street Map dump
  • .ODS    OpenDocument Spreadsheet
  • .SQL    Experimental SQL format dumped from CartoDB

CartoDB suggerisce di fare l’upload dei dati sempre in modalità compressa (zipfiles).

cartodb_tables

Per ogni tabella l’utente ha a disposizione due modalità di visualizzazione, quella tipica di un foglio elettronico e quella su mappa: ogni modalità di visualizzazione mette a disposizione dell’utente una toolbar (alla destra della tabella / mappa), con alcune funzionalità.

cartodb_view_table

cartodb_view_map
La visualizzazione a foglio elettronico permette di:

  • impostare query sql
  • impostare filtri
  • fare merge di tabelle
  • aggiungere colonne
  • aggiungere righe

La visualizzazione a mappa permette di:

  • impostare query sql
  • impostare filtri
  • impostare la modalità di tematizzazione
  • definire lo stile di rappresentazione (CartoCSS)
  • definire quali attributi visualizzare in seguito all’azione di identify sulle features
  • definire la legenda
  • aggiungere features
  • impostare la mappa di sfondo

A livello di rappresentazione su mappa lo strumento offre delle modalità di default ma l’utente può utilizzare, per rappresentazioni più complesse e complete, un linguaggio CSS-like denominato CartoCSS che permette un maggiore dinamismo come ad esempio usare parametri condizionali che combinati con il potere degli statements SQL permettono visualizzazioni molto avanzate

Altra funzionalità molto potente è quella che permette di fare merge di tabelle (Regular join), tra loro sulla base di un campo comune. Sono previste, al momento non ancora disponibili, anche funzionalità di merge spaziale (Spatial merge), ad esempio point in polygon in cui sarà poi possibile associare criteri quali SUM, COUNT, AVERAGE, ecc …

Come detto in precedenza per pubblicare più layers occorre creare una visualizzazione.

cartodb_visualization

Questa può poi essere personalizzata, pubblicata, condivisa o acceduta via API.

Entrando un po’ più nel dettaglio i punti di forza di CartoDB sono i seguenti:

Analisi dei dati
Per mantenere i dati che gli utenti caricano sul cloud CartoDB si basa su POSTGRESQL e POSTGIS (a cui si rimanda per i dettagli tecnici) come data base. Per quello che riguarda la componente spaziale il data base non solo offre il completo controllo dei dati (insert, update e delete), ma mette anche a disposizione una suite di funzionalità e tools molto potenti per analizzare i dati stessi.

Sviluppo di applicazioni
CartoDB non mette a disposizione dell’utente finale un’interfaccia grafica di pubblicazione dei dati attraverso una mappa come visto in precedenza, ma offre anche:

  • un potente backend per il data management e l’analisi geospaziale, offrendo agli sviluppatori un’API di programmazione javascript per la realizzazione di mappe interattive da integrare all’interno di soluzioni web realizzate con linguaggi di programmazione diversi
  • una SQL API che permette di interrogare i dati ma anche, attraverso connessioni sicure (API keys o autenticazioni Oauth), di compiere operazioni di scrittura su dati stessi

Sicurezza sui dati
CartoDB offre, qualunque sia la sottoscrizione del tipo di livello di hosting della piattaforma, un elevato livello di sicurezza sui dati, permettendo di ospitare tabelle private a cui è possibile accedere con meccanismi di sicurezza

Scalabilità della soluzione
Le mappe create con CartoDB sono distribuite su una rete mondiale attraverso tecnologia CDN. Questo assicura la massima affidabilità e velocità quando si debbano trattare grandi quantità di richieste. La scalabilità viene anche offerta a livello di data storage permettendo di effettuare upgrade del proprio account in qualunque momento.

Open Source
CartoDB è stato costruito su uno stack di diverse tecnologie open source che includono POSTGRESQL, POSTGIS, Mapnik e WindShaft.
Tutto in codice di CartoDB è disponibile su GitHub: questo permette potenzialmente a chiunque di potersi replicare il locale la soluzione nella sua interezza.

Di particolare interesse in questa soluzione sono i tutorials e i video messi a disposizione seguendo i quali è possibile, in modalità molto semplice, produrre mappe evolute sia in termini di rappresentazione sia in termini di funzionalità utente.

Ecco i riferimenti:

Ed ecco alcuni di quelli che ho trovato più interessanti:

Come aggiungere la mappa di OSM come sfondo

[vimeo http://vimeo.com/79772252 w=500&h=281]

Non è così immediato o facilmente documentato, ma è spiegato chiaramente in questo video

Mappare dati excel

[vimeo http://vimeo.com/77289264 w=500&h=281]

Utilizzo Torque

[vimeo http://vimeo.com/79115503 w=500&h=281]

Illustra come sia immediato visualizzare come una grandezza spaziale cambia nel tempo.

Come visualizzare l’editing nel tempo dei contributi OSM nelle Filippine

[vimeo http://vimeo.com/79199985 w=500&h=281]

Interessante come sincronizzare lo shapefile messo a disposizione in rete su GeoFabrick.

Creare una tabella sincronizzata.

[vimeo http://vimeo.com/78298157 w=500&h=281]

Interessante per realizzare una mappa del meteo in tempo “quasi reale” magari sfruttando dai open disponibili. Funzionalità a pagamento dal piano di sottoscrizione da 49$/mese

Visualizzazione sincronizzata di tabella da Dropbox. Funzionalità a pagamento dal piano da 49$/mese

[vimeo http://vimeo.com/78297755 w=500&h=281]

Funzionalità a pagamento dal piano da 49$/mese

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

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...

%d blogger cliccano Mi Piace per questo: