Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobile orientato alla...

29
Roberto Demontis [email protected] Cagliari 30 Settembre 2015 Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobile orientato alla geomatica in contesto Smart City

Transcript of Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobile orientato alla...

Roberto [email protected] Cagliari 30 Settembre 2015

Innovazione e infrastrutture cloud per losviluppo di applicativi web e mobile orientato

alla geomatica in contesto Smart City

Il principale obiettivo è realizzare un sistemache permetta: la pubblicazione di dati geograficidi grandi dimensioni, una fruizione veloce deicontenuti e la gestione degli stili dirappresentazione sui client.

- Gli standard OGC: WMS, WFS, WCS.

Obiettivi

Cagliari 30 Settembre 2015

1. deployment, archiviazione, gestione e interrogazionedi dati Geografici tramite il meccanismo ditassellamento (tiling) vettoriale. 2. utilizzo di un motore NoSQL per consentire maggiorescalabilità nella gestione dei dati .

Soluzioni

Cagliari 30 Settembre 2015

3. L'accesso al dato deve essere immediato quindi sarà

● privilegiato il metodo di accesso diretto altassello per chiave (key-value)

● limitato il numero di indici secondari e, nel caso siainevitabile, verrà utilizzato il map() senza ilreduce()

● limitata a 20KB la dimensione del tassello erogato● separata la gestione dell' informazionealfanumerica da quella geografica

Soluzioni

Cagliari 30 Settembre 2015

Allo stato dell'arte non esistono standard per i tassellivettoriali, i formati più usati sono:

● MVT (Mapnik Vector Tiles) ● TopoJSON

si è optato per un formato JSON ad hoc ma con

struttura più “compatta” del topoJSON

La parte alfanumerica e quella geometrica sono gestiteseparatamente

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

I tasselli seguono (!in parte) le specifiche “Slippy maptilenames” :

● I tasselli con le geometrie sono dei documenti JSONcontenenti le coordinate proiettate nei pixel rispettoall'origine dell'area del tassello (256 × 256 pixel); siesegue una proiezione ed una semplificazione

● Ogni tassello è identificato da un livello e duecoordinate x,y :

x : [ 0,.., 2^zoom - 1] ( da 180°W a 180°E)y : [ 0,.., 2^zoom - 1] ( da 85.0511°N a 85.0511°S)

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

Ogni documento è univocamete identificato da unachiave che contiene anche l'associazione tra stratoinformativo e tassello:

id tassello = <nome>:<x>:<y>:<zoom>:<pagina>

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

E' evidente che:● geometrie poligonali vaste con pochi verticideterminano per i zoom alti ( e.g zoom = 17), uno sprecodi risorse (vertici aggiunti, numero tasselli)

● geometrie dense a livelli di zoom bassi (e.g zoom = 9 )possono dare luogo a tasselli di grandi dimensioni

● il numero di livelli dovrebbe essere scelto sulla basedel dato. Un esempio :

n°vertici / area di interesse in numero tile

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

→ tasselli adiacenti interamente contenuti nellostesso poligono potrebbero essere aggregati erecuperati tramite indice spaziale:

I Macro-tasselli

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

Tasselli livello 10Tasselli livello 15 (di 18)

Gli spazi bianchi Sono occupati dai macro-tasselli

Se lo strato informativo contiene una topologia (e.ggrafo stradale, limiti amministrativi ) è utile avere unatopologia anche nel tassello riducendo i vertici presentinel tassello per gli zoom bassi. Possibile utilizzo di un valore di controllo: n°vertici “condvisi” nel tassello

nota: nella realizzazione finale non è stato applicato

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

Se lo strato informativo contiene una topologia (e.ggrafo stradale, limiti amministrativi ) è utile avere unatopologia anche nel tassello riducendo i vertici presentinel tassello per gli zoom bassi. Possibile utilizzo di un valore di controllo: n°vertici “condvisi” nel tassello

nota: nella realizzazione finale non è stato applicato

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

Cagliari 30 Settembre 2015

Cagliari 30 Settembre 2015

{ "bbox": { "type":"Polygon", "coordinates": [[[12.45026,44.94342],

[12.45026,44.94536], [12.453,44.94536], [12.453,44.94342], [12.45026,44.94342]]] }, "objs": [ {"id":"016921","g":"3((0034ff88ffff00ff0034))"}, {"id":"020142","g":"3((ff8800340000ff00ff88))"}], "id":"landuse:70069:47178:17", "page":1, "pages":1}

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

{ "_comunibbox_": { "type": "Polygon", "coordinates": [ [[8.13077,40.65175],[8.13077,40.8693],[8.6436,40.8693], [8.6436,40.65175],[8.13077,40.65175]]] }, "gid": 128, "istat": 90064, "nome": "Sassari", "regione": "Sardegna", "subregione": "Sassarese", "id": "comuni:001"}

!! informazioni alfa numeriche e la script injection le “

Scelta dei formati e della strutturadel tassello

Cagliari 30 Settembre 2015

Modello del dato di riferimento

Cagliari 30 Settembre 2015

Scelta del motore NoSQL

Cagliari 30 Settembre 2015

A) Utilizzo indici spaziali su geometrie poligonali,lineari e puntuali --> scelta di soluzioni che utilizzanoR-Tree

B) Indirizzamento diretto e utilizzo documenti JSONper rappresentare i tasselli -> scelta NoSQL orientatoai documenti

C) Semplicità, velocità e strumenti accessori ->Couchbase (couchbase.com) nella versione Community

Gestione del dato

Cagliari 30 Settembre 2015

- Unica collezione \ database (bucket) di oggetti pertutti gli starti informativi

- Utilizzo della codifica dell'identificatore tassello edell'oggetto con le informazioni alfanumeriche perrisolvere l'associazione tra strato informativo, tassellivettoriali e informazioni alfanumeriche

- Creazione dinamica dei tasselli con le informazionialfanumeriche

Cagliari 30 Settembre 2015

Progettazione dell'infrastruttura

Numero 2 server Dell PowerEdge R420 ciascuno dei quali con caratteristiche:

→ 2 processori ( 2.50GHz, 15M di cache,7.2GT/s QPI, Turbo, 6C, 80W, DDR3-1600MHz ) → 48GB di memoria → 2 Dischi Rigidi (600GB, SAS 6Gbps )

Progettazione dell'infrastruttura

Cagliari 30 Settembre 2015

Cagliari 30 Settembre 2015

Couchbase

Couchbase

Cagliari 30 Settembre 2015

Couchbase

L'erogatore dei tasselli: Inno

Cagliari 30 Settembre 2015http://inno.crs4.it/inno

ETL (Extract, Transform and Load)ed il portale innomanager

Cagliari 30 Settembre 2015

Accessorio indispensabile al sistema

● perchè l'uso di un ORDBMS (Postgresql+ Postgis) neldimostratore innomanager: - risorse disponibili - efficienza

● Variando disponibilità risorse possibili altre soluzioni.

● Import da shapefile perchè...

Il gestore degli oggetti

Cagliari 30 Settembre 2015

WorkDAO

JDBC

psql

WorkThread

cbdocloader

Couchbase Java Client

WorkThreadWorkThread WorkThread

Cagliari 30 Settembre 2015

Cagliari 30 Settembre 2015

Inno: https://github.com/crs4/inno

Innomanager: https://github.com/crs4/innomanager

Github

Cagliari 30 Settembre 2015

Grazie dell'ascolto

Domande?