Sei sulla pagina 1di 76

Perch GeoServer

Complessit I.D.T. Regione Liguria


Compliance INSPIRE
Gestione Stili
Servizi WFS 3D
Gestione sicurezza servizi OGC
Scalabilit
Monitoring Servizi
Assistenza qualificata (GeoSolutions)

GeoServer
GeoServer is a Java-based server for sharing
geospatial data using open standards

Standards compliant

OGC WCS 1.0, 1.1.1 (RI), 2.0


OGC WFS 1.0, 1.1 (RI), 2.0
OGC WMS 1.1.1, 1.3.0
OGC WPS 1.0.0
OGC CSW 2.0.1 (ebRIM)

Google Earth/Maps support

KML, GeoSearch, etc..

GeoServer: Formati e Protocolli

Catalogo GeoServer

Workspaces: Mappe

SIT_CATALOGO

SIT_GRAFICO

Stores: Fonti dati (Oracle, ECW, ecc.)

CWR_CONNESSIONI

Layers: Livelli informativi

CWR_LIVELLI

Styles: Stili di vestizione

Services: Servizi OGC

Catalogo GeoServer: Workspace

Corrisponde ad un mappa di catalogo

Nome: M + cod_catalogo (es: M56)

Ha associato i relativi servizi OGC

Contiene gli store relativi ai livelli

Connessioni Oracle

Puntamento a file ECW

Catalogo GeoServer: Store

Stores: connessioni a fonti dati raster e vettoriali

Catalogo GeoServer: Store

Attualmente gestiti:

Oracle

ECW

GeoTIFF

WMS

Prerequisiti:

Oracle: risorsa JNDI definita nel context

ECW: presenza file prj su DTUFF

Servizi Virtuali

Ogni Workspace ha associati i relativi servizi OGC:

WMS

WFS vettoriale (*)

WCS raster (*)

(*) se impostato campo FLAG_DOWNLOAD

Esempio:

http://geoservizi.regione.liguria.it/geoserver/M56/wms?request=getCapabilities

Amministrazione

Servizi REST

Configurazione programmatica di Geoserver

Workspaces

Data stores / coverage stores

Layers

Styles

Service

Cache

Espone la configurazione ai client

XML /JSON

WMS

Dissemination of Maps

Fusing raster and vector data seamlessly

Rule/scale driven rendering

WMS 1.1.1 and 1.3 support

Time/elevation/custom dimension support

SLD

Basic support for SLD 1.1 and SE 1.1

Full support for SLD 1.0

CSS extension for compact styling

Many rendering extensions available

WFS

Dissemination and filtering of vector data


WFS 1.0, 1.1 and 2.0
Transaction and paging available in all versions
Simplified filtering via CQL
Formats:

GML 2, 3.1 and 3.2

CSV, Excel, GeoRSS, GeoJSON, Shapefile, DXF

Paging
Stored queries
Reprojection

WCS

Raster data dissemination

Raw raster data useful for analysis, no maps!

Support for TIME and ELEVATION (via ImageMosaic plugin)

WCS 1.0, 1.1.1 and 2.0

Output formats

GeoTiff

ArcGrid

NetCDF

Architettura Sistema Regionale

Macchina di TEST

geoservizi.datasiel.net

Macchina di PRODUZIONE

geoservizi.regione.liguria.it

Linux CentOS 6.5

Java 6 / Tomcat 6

Geoserver 2.5.1

Mount dtuff read-only

Ambiente di Test

Utilizzato per

Configurare le nuove mappe

Editare gli stili

Creare le cache

Testare configurazioni

Ambiente di Produzione

Cluster (Apache HTTP): 3 istanze GeoServer

Istanza master per configurazione (non in cluster)

Data directory e cache condivise

Ambiente di Produzione

Geoserver Master

Risponde sulla porta 8080

Utilizzato per la configurazione

Non accessibile da rete pubblica

Geoserver Slave (3 istanze)

Rispondono sulla porta 80 (Apache)

Utilizzati per servire i dati

Accessibili da rete pubblica

Configurazione

GeoServer Manager

Configurazione Servizi R.L.

Le procedure di R.L. utilizzano

servizi REST per configurare GeoServer

a partire dal Catalogo SIT

Configurazione
via REST

Configurazione: Catalogo SIT

Viste su schema SIT che contengono i dati


necessari alla configurazione

GS_WORKSPACES

GS_DATA_STORES

GS_COVERAGE_STORES

GS_WMS_STORES

GS_LAYERS

GS_KEYWORDS

Aggregano i dati dalle tavole del catalogo

SIT_CATALOGO, SIT_GRAFICO,CWR_LIVELLI,
CWR_CONNESSIONI, ecc

Procedura di Configurazione
FASE 1: TEST
1.

Configurazione servizi su TEST

2.

Definizione/Modifica Stili

3.

Test Mappa

4.

Eventuale creazione Cache

FASE 2: MESSA IN ESERCIZIO


1.

Configurazione servizi su PRODUZIONE

2.

Copia stile

3.

Test su PRODUZIONE MASTER

4.

Reload configurazione SLAVE

5.

Test su PRODUZIONE

6.

Impostazione FLAG_GEOSERVER su SIT_CATALOGO

Configurazione Mappa

Configurazione Mappa: LOG

Configurazione Mappa: operazioni

1.

Creazione/Modifica Workspace

2.

Creazione/Modifica Store

3.

Creazione/Modifica Livelli

4.

Creazione dello stile di default dei livelli

5.

Configurazione della cache dei livelli

6.

Configurazione servizi OGC (comprese


estensioni INSPIRE)

Cancellazione Mappa

Cancella il workspace e i relativi dati:

Store

Livelli

Servizi

Cache - ATTENZIONE!!!!

Non cancella lo stile relativo ai livelli

Gestione Stili

Stili GeoServer diversi da quelli MapServer

MapServer: stili in Mapfile (proprietario)

GeoServer: SLD (Standard OGC)

MapServer: gestione stili attraverso il


Catalogo SIT
GeoServer: gli stili non sono pi gestiti
attraverso il Catalogo SIT

Gestione Stili

Gestione stili GeoServer:

Applicazione GeoStyler
Interfaccia di amministrazione Geoserver (nel
caso lo stile richiedesse particolari vestizioni
non gestite ancora da GeoStyler)

Stili avanzati (es: Rendering Transformation)

Stili Geoserver: esempio IGN

Stili in GeoServer

SLD http://docs.geoserver.org/latest/en/user/styling/index.html

Standard OGC

Interoperabilit

Con estensioni Geoserver

CSS http://docs.geoserver.org/latest/en/user/extensions/css/index.html

Alternativa a SLD

Meno verboso e pi semplice

Modulo di estensione

Stili: Rendering Transformations

Trasformazioni dinamiche On-the-fly


Esecuzione di processi di analisi spaziale da
documenti di stile (SLD)
Esempi: on the fly contour lines, heat maps, point
clustering, point interpolation

Stili: DTM DB_TOPO (1356)

Stili: Migrazione

Migrazione da MapServer

Procedura che traduce stili MapServer in SLD

Legge Catalogo SIT Produce SLD

Stili semplici: OK

Stili complessi rasterizza stile MapServer

Non produce sempre risultati buoni

Editing dello stile SLD

Stili: Migrazione da MapServer

Stili: GeoStyler

GeoStyler: POINT

WKN

circle/square/

Graphic

png/jpeg/gif

SVG (InkScape)

Qualunque URL accessibile

Repository

http://geoportale.regione.liguria.it/geoservices/geoserver_sld/sld/img/

GeoStyler: LINE

Tipi

Simple

WKN

circle/square/

Dashed Line

GeoStyler: POLYGON

Stroke

Simple / None

Dashed Lines

Fill

Simple

Graphic

Hatch

circle/square/

slash/vertline/

None

GeoStyler: regole

Ad ogni layer vettoriale corrisponde uno stile SLD con nome uguale al codice
del livello. Es: L3 3.sld

NamedLayer UserStyle 1(..n) FeatureTypeStyle 1..n Rule + 0..1 Label

Rule:

1(..n) Symbolizer (GeoStyler limitato a 1 symbolizer)

Limiti di scala

Condizioni di filtro

Name: Rn con n progressive (R0, R1, R2, ecc)

Title: compare in legenda

Label:

Rule Name = LABEL

Layer multiclasse:

Campo Legenda Multiclasse su CWR_LIVELLI

Cache: GeoWebCache
GeoServer

GeoWebCache

Persistent raster/KML
tile cache

Gestione cache su disco con


piramidi di tile

Fattore di Accelerazione 10/100

Protocolli supportati

WMS-C

WMTS

TMS

Google Maps KML

Virtual Earth

Standalone

Integrato in Geoserver

Cache: formati

Dipendono dal tipo di dato

Vettoriale

Raster

Png8: file piccolo (256 colori), trasparenza


Jpeg: file piccoli, no trasparenza

Raster trasparente

Png: file grandi, trasparenza

Cache: livelli di zoom

SCALA

LIVELLO DI ZOOM

3500

17

7000

16

13500

15

27000

14

54000

13

100000

12

200000

11

400000

10

800000

1700000

3500000

Ogni livello successivo si quadruplica

Tempo di calcolo

Occupazione spazio disco

Es: db_topo (livello 17)

1.8 GB

Gestione Cache: Fase 1

Configurazione:

Compilazione dei campi

CACHE_MIN_ZOOM_LEVEL

CACHE_MAX_ZOOM_LEVEL

Se RASTER trasparente:

Determina se un livello deve avere una cache

impostare campo RASTER_TRANSPARENT a S

Campi su tavola CWR_LIVELLI

Gestione Cache: Fase 2

Seed della cache:

Operazione costosa (tempo e risorse):

precalcolo della cache


si effettua in ambiente di TEST

Al termine si effettua una copia su esercizio

comando rsync (non interfacciato)

rsync schedulato ogni notte

Attenzione: ogni volta che i dati cambiano


necessario rigenerare la cache

Gestione Cache: Procedura Seed

Gestione Cache: Tabella Livelli

Basata su vista SIT.GS_CACHE_LIVELLI

Cache: Criteri

Livelli pi richiesti

Analisi log IIS 2013/2015

Livelli di sfondo

Livelli critici per prestazioni

REL / LIBIOSS / Acclivit / .

Livelli non troppo dinamici

Possibilit di schedulare il rinfresco


della cache

Cache: schedulazione

Processo schedulato su ambiente di TEST

Cadenza giornaliera (ogni notte)

Utilizzare:

Se livello dinamico (ma non troppo)


Se accettabile pubblicare le variazioni con un certo ritardo (es.
il giorno dopo)

Sincronizzazione notturna con PROD


Possibile integrazione con procedure
esistenti
Possibile esecuzione a richiesta

Cache: schedulazione

Ad oggi:

REL

LIBIOSS

Possibili:

Particelle Catastali SIGMATER

PTCP

PTR

Vincoli

Cache: nuovi livelli

M1646:L*
M1047:L2624

VINCOLI
Particelle S3

7
16

14
17

400 MB
2 GB

SCHED / PROC
SCHED / PROC

M1047:L2625

Fogli S3

12

16

500 MB

SCHED / PROC

M1047:L2624

Comuni S3

15

200 MB

SCHED / PROC

M1568:L*
M1461/L3712

PTR
PTCP insediativo
Zonizzazione
PTCP insediativo
Manufatti Areali
PTCP insediativo
Manufatti puntuali
PTCP insediativo
Indicazioni Prop.
PTCP insediativo
Aree Carsiche
PTCP insediativo
Ambiti
PTCP insediativo
Infrastrutture lin.
PTCP geomorfo.
PTCP vegetaz.

7
7

14
14

700 MB
50 MB

SCHED / PROC
PROCEDURA

14

50 MB

PROCEDURA

11

14

50 MB

PROCEDURA

11

14

50 MB

PROCEDURA

14

50 MB

PROCEDURA

14

50 MB

PROCEDURA

11

14

50 MB

PROCEDURA

7
7

14
14

300 MB
100 MB

PROCEDURA
PROCEDURA

M1461/L3713
M1461/L3714
M1461/L3715
M1461/L3716
M1461/L3717
M1461/L3718
M1209/*
M1208/*

Catalogo SIT: Stili

Semplificazione

Non pi necessario compilare le tavole

CWR_CLASSI

SIT_STILI

SIT_LABEL

CWR_COLORI

Compilare il campo Legenda multiclasse

Per livelli multiclasse con SLD creato


manualmente

GeoStyler: impostato automaticamente

Catalogo SIT: Cache

3 nuovi campi su CWR_LIVELLI


Compilare i seguenti campi per livelli di cui si
desidera creare la cache

CACHE MIN ZOOM LEVEL

CACHE MAX ZOOM LEVEL

Compilare il campo Raster Trasparente nel


caso di livello RASTER di cui si vuole
preservare la trasparenza (questo
indipendentemente dalla cache)

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Impostazione campo Servizio Geoserver su SIT_CATALOGO

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Impostazione campo Servizio Geoserver su SIT_CATALOGO

Si utilizza la applicazione Geoserver Manager

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Impostazione campo Servizio Geoserver su SIT_CATALOGO


2 opzioni:
o

La cache viene sincronizzata automanticamente ogni note (3.00)


Operazione manuale non interfacciata (eseguita dal laboratorio su
richiesta)

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Impostazione campo Servizio Geoserver su SIT_CATALOGO

Si utilizza la applicazione Geoserver Manager

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Geoserver allavvio
caricaServizio
il catalogo Geoserver
in memoria. su SIT_CATALOGO
Impostazione
campo
La procedura modifica il catalogo dellistanza MASTER.

Le istanze SLAVE non vedono le modifiche finch non viene


effettuato un reload o un riavvio.
Operazione manuale (effettuata a richiesta dal laboratorio).
Richiede circa 2 min. per ogni istanza.
Quando sar operative la modalit di Active Clustering non sar
pi necessaria. Le modifiche vengono comunicate attraverso un
sistema di messaging

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Impostazione campo Servizio Geoserver su SIT_CATALOGO

Si utilizza la applicazione Geoserver Manager

Messa in esercizio
1.

Creazione Configurazione su PRODUZIONE

2.

Copia stile da sviluppo

3.

Copia della cache (eventuale)

4.

Test su PRODUZIONE MASTER

5.

Reload configurazione SLAVE

6.

Test su PRODUZIONE

7.

Impostazione campo Servizio Geoserver su SIT_CATALOGO

Determina la messa in esercizio ufficiale


Utilizzare la form di gestione del Catalogo SIT

Migrazione

Fase di transizione

Presenza di servizi MapServer e GeoServer

Flag su Base Dati: SIT_CATALOGO.FLAG_GEOSERVER

Determina pubblicazione ufficiale dei servizi GeoServer

Utilizzato da applicazioni (GeoViewer Repertorio Cartografico)

Situazione al 12/06/2015

Situazione al 12/06/2015

Configurate tutte le carte pubblicate su Geoportale

Configurate carte con problemi prestazionali (con cache su disco)

Ufficialmente pubblicate:

Prospettive future

Tuning Sistema

Active Clustering

Upgrade a versione 2.7

Security: protezione Servizi OGC

Armonizzazione INSPIRE

Monitoring Servizi

WPS

Active Clustering

Upgrade a versione 2.7

Attuale versione Stable

Richiede Java 7

Risolve alcuni problemi con Oracle

Gestione geometrie di tipo arco

Richiesta per alcune nuove funzionalit

Armonizzazione INSPIRE

Security: Autenticazione

Pluggable authentication mechanisms

Security: ruoli

Accesso ai servizi basato su Ruoli

Mappatura Ruolo NAM Ruolo GeoServer

INSPIRE: Feature Complesse

Basate su Application
schema

Modulo GS app-schema

Struttura ad albero

Attributi possono essere


sub-features
Attributi possono essere
liste di features
Mix di fonti dati eterogenee in un singolo albero
Ottimizzazione se tutto risiede in uno stesso DBMS

Feature Complesse in GeoServer

Difficili da configurare

Performance

Creazione manuale di file XML di configurazione


Ad ogni modifica bisogna ricaricare catalogo
Manca un tool grafico di mapping
Avere buone performance difficoltoso
Preparazione dei dati
Denormalizzazione
Ottimizzazione join su DB

Utilizzo di HALE come GUI editor

Creazione configurazione app-schema mediante HALE


In corso di sviluppo da GeoSolution

Feature Complesse: HALE

Monitoring

Installata estensione monitoring:

Scrittura file di log sullutilizzo dei servizi OGC

Predisposizione di un sistema di analisi dei log


che permetta:

Report con statistiche di utilizzo

Analisi delle prestazioni del Sistema

Sistema di alerting

Probabilmente ELK (elasticsearch/logstache/kibana)

Monitoring

WPS

WPS 1.0

Official Extension

Raster and Vector data support

Many built-in processer (almost 100):

Vector and geometric analysis

Raster based

Conversions processes (raster vector)

Tight integration with local data and map rendering

WPS: Esempio

Buffer a L shaped
geometry with
distance 2
Get the result
back as GML

WPS: chaining

WPS: completamente integrato


WMS

WMS
client

WPS

WPS
client

Remote
WCS
Remote
WFS
HTTP
server

GeoServer
UI
All GeoServer
Layers