Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobile orientato alla...
-
Upload
crs4-research-center-in-sardinia -
Category
Technology
-
view
488 -
download
0
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
{ "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
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 )
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
Inno: https://github.com/crs4/inno
Innomanager: https://github.com/crs4/innomanager
Github