GeoServer: Past, Present and Future -...

35
GeoServer: Past, Present and Future Andrea Aime - OpenGeo Justin Deoliveira - OpenGeo

Transcript of GeoServer: Past, Present and Future -...

GeoServer: Past, Present and Future

Andrea Aime - OpenGeoJustin Deoliveira - OpenGeo

• Releases since FOSS4G 2007• GeoServer 1.6.0 vs GeoServer 1.7.0

– feature comparison– performance comparison

One year at a glance

One year of releasesSEPT 07 OCT 07 NOV 07 DEC 07

JAN 08 FEB 08 MAR 08 APR 08

MAY 08 JUN 08 JUL 08

AUG 08

1.6.0-beta3WMS speed-ups

SEPT 08

1.5.4Bug fixes

1.6.2Security fixes

1.6.3WatermarkingLimit SRS listKML speed-ups

1.6.4Bug fixes

1.7.0-beta1Per layer securityWCS 1.1.1WFS 1.1 + xlink

1.7.0-beta2More per layer security optionsKML superoverlays

1.7.0-RC1Bug fixesGDAL based readers 1.7.0-RC2

Bug fixes1.7.0-RC3Bug fixes

1.6.0Security fixes

1.6.0-beta4Bug fixes

1.6.0-RC1Bug fixes

1.6.0-RC2Bug fixes

1.6.0-RC3Bug fixes

1.6.5Bug fixes

Geo

Serv

er

WFS 1.0

WMS 1.1

PostGISDB2OracleMySql

Shapefile---------------------------------------

---------------------------------------

---------------------------------------

ArcSDEWFS

PNG, GIFJPEGTIFF, GeoTIFFSVG, PDFKML/KMZ

Shapefile.zipGML2GML3GeoRSSGeoJSONRaw vector

data

Servers

Styled maps

DBMS

Vector files

WFS 1.1

WCS 1.0GeoTIFF

ArcGridGTopo30Img+worldMosaicPyramid

Raster files

Raw rasterdata

GeoTIFFArcGridGTopo30Img+World

1.6.0 beta3

Geo

Serv

erG

eoW

ebC

ache

WFS 1.0

WMS 1.1

PostGISDB2OracleMySql

Shapefile---------------------------------------

---------------------------------------

---------------------------------------

ArcSDEWFS

PNG, GIFJPEGTIFF, GeoTIFFSVG, PDFKML/KMZ

Shapefile.zipGML2GML3GeoRSSGeoJSONCSV/XLS

Raw vectordata

Servers

Styled maps

DBMS

Vector files

WFS 1.1

WCS 1.0

GeoTIFFArcGridGTopo30Img+worldMosaicMrSIDJPEG 2000ECW,Pyramid

Raster files

Raw rasterdata

GeoTIFFArcGridGTopo30Img+World

1.7.0

WCS 1.1

GWCKML superoverlaysGoogle maps tiles

• Using JMeter to generate load against a local GeoServer Using a XP Pro box, 3GB memory, 3Ghz dual core processor

• Rising number of concurrent requests, reports average response time (lower bars are better)

1 10 20 400

50

100

150

200

250

300

350

400

450

2140

164

402

13 16

80

305

1.6.0-beta3 1.7.0

Number of concurrent requests

Res

pons

e tim

e in

ms

Quick performance comparison

• WMS requests against a shapefile layer (the topp:states demo layer, see the benchmark presentation for details)

• Using 6 different tiles of 256x256 size, png encoding, antialiasing

Quick performance comparison

1 10 20 400

100

200

300

400

500

600

20

90

226

507

14

62

151

360

1.6.0-beta3 1.7.0-RC3

Number of concurrent requests

Res

pons

e tim

e in

ms

• WFS requests against a PostGIS layer (a copy of the topp:states demo layer, same 6 tiles but in GML)

1 10 20 400

100

200

300

400

500

600

700

800

900

1000

24

220

480

912

16

132

297

670

1.6.0-beta3 1.7.0-RC3

Number of concurrent requests

Res

pons

e tim

e in

ms

• WMS requests against a 6000x4800 GeoTiff, extracting 256x256 tiles at various resolutions

• Per layer security• WFS reprojection• GDAL raster drivers, raster symbolizer• GeoWebCache, KML SuperOverlays• ...

New features in detail

Per layer security• Ability to specify access rule on a layer by layer

basis• Simple configuration based on a list of rules

following this template:namespace.layer.mode=role1,role2,...

A name, or * tomean “any”

r: readw: write

The roles that willbe authorized to access the dataunder this rule

Per layer security, example

*.*.r=**.*.w=NO_ONEprivate.*.r=TRUSTED_ROLEprivate.*.w=TRUSTED_ROLEtopp.districts.w=LEGISLATORS

private.* topp.*

TRUSTED_ROLE r/w r r r(no access) r r/w r(no access) r r r

topp.districts

Other layers

LEGISLATORS (all other users) 

Basic read only lock down

Per layer overrides

GDAL integration• By means of the ImageIO-ext library,

GeoServer can now support MrSID, JPEG 2000, ECW and a subset of other GDAL supported formats

• Requires platform dependent binary extensions, available only for Windows and Linux at the moment (contributions welcomed!)

• Very good performance, see the benchmark related presentation

• ECW reader not included in the standard download due to licensing issues

geo-solutions.it

Raster symbolizer support• Significantly improved, now supports:

– color ramp– band selection– contrast enhancement– opacity and gamma correction

Extractgray

channel

Applycolormap

geo-solutions.it

Default grayscale DEM outputDefault grayscale DEM output

Applying a ColorMapApplying a ColorMap

DataSource: GTOPO30 in a single file, JPEG2000 losslessDataSource: GTOPO30 in a single file, JPEG2000 losslesscompression, 166.392x21.587 pixels, 386MB (ftp://ftp.microimages.com/pub/outgoing/data/jp2/)compression, 166.392x21.587 pixels, 386MB (ftp://ftp.microimages.com/pub/outgoing/data/jp2/)

GeoWebCache integration

GeoServer

GeoWebCache

Persistent raster/KMLtile cache

• Caches tiles as used by most common slippy map interfaces

• Ideal for layers that rarely change

• Delivers raster/KML tiles to:– OpenLayers– Google Maps and Google

Earth– Microsoft Virtual Earth

• Speeds up data delivery by a factor or 10-100

KML SuperOverlays• Problem: you have a huge data set you want to

display on Google Earth– the generated KML is simply too big– the features you want to display have a clear

hierarchy– zoomed out, you want to display only the most

important ones, – less important should appear progressively, as

you zoom in, while leaving the important ones visible

– of course, everything should happen in the most fluid way

KML SuperOverlays •Solution–create a pyramid like structure–have Google Earth regions drive what is visible at each scale–use a tile cache to maximize delivery speed•This requires GeoServer 1.7.0 and the GeoWebCache plug-in

KML superoverlays

A sample from the global biodiversity database (www.gbif.org), distribution of the Cape Hope Squid (Loligo Vulgaris Reynaudi)

Improved preview• Play with tiling, antialiasing, format and map

size• Issue dynamic filters on your data

Other improvements• Significant ArcSDE improvements

– Less connections used during normal operation– Supports versioning, read and write against the

default version– Uses native ArcSDE transactions on write

• Support for Xlink in WFS 1.1

• Fully new WCS 1.1 module (GeoServer being the reference implementation of it)

• New user interface• REST configuration API• Brand new Oracle data store• N-dimensional rasters• WPS 1.0• and more...

What's cooking?

New user interface• Developed in collaboration with interface and

interaction designers• Fully AJAX based• Most functionality within a few clicks from the

root of the administration interface• Service extensions can now plug in their extra

configuration UI• Based on the open source Wicket framework

(wicket.apache.org)

New user interface

REST configuration• Prototype worked on during the last year• Allows full programmatic configuration using

simple REST calls (e.g., mass configuring 100 layers, adding new data as it comes in, etc.).

• Will be further developed in the 2.0.x series

New Oracle data store• Current Oracle data store giving you

headaches? Try the new one:– Full rewrite– Deeper testing– No more date/time/timestamp issues– Better security– Better performance– Support for some 3D geometry structures

• The base for a new series of database backed data stores (yes, PostGIS, I'm looking at you!)

Forget flat rasters...• Support for N-dimensional coverages (3d + time)• Full WCS support, mapping slices using WMS

time and elevation parameters • Being coded right now in a branch

geo-solutions.it

SLD visual editor

Web Processing Service 1.0• A new WPS 1.0 plug-in is sitting in the

GeoServer community area• Finally some spatial analysis!• At the moment, only sample processes

– simple addition– geometry union, intersection

• But with an API that allows you to build new ones, so jump in!

KML in 3D• Add a third dimension in your KML files• Extrudes support

And more!• Google searchable datasets:

– Following the KML super-overlays work, make the datasets searchable by Google

– Very interesting if you need to disseminate big amounts of data in a way that allows most people to find them and import them in Google Earth

• Complex features– CSIRO (http://www.csiro.au/) is poking GeoServer in

an attempt to add complex features– Next year might come with big suprises

QUESTIONS?

• Because I always want to say more than what presentation time allows for...

Extra slides

WFS: full reprojection support• Have your client work in a completely different

projection than the data native one:– Reproject WFS output to another spatial

reference system – Insert data in SRS other than the native one– Express filters in an SRS other than the native

one• E.g., make a OpenLayers web based editing

client and use Google tiles (in spheric mercator projection) as a backdrop

• Works even with WFS 1.0 (as a custom extension)

GeoServer(back and forth on the fly reprojection)

Google Mapsservers

OpenLayers

Vectordata

(4326)

Backgroundtiles

GetFeature(geometries in 900913)

Rasterdata

(4326)

Transaction(geometries in 900913)

GetMap

(custom background overlays)

Security: access modes

Geo

Serv

erGetCapabilities

R1

GetMap (securedLayer)R2

Hide Challenge Mixed

GetCaps All layers R1

GetMap Layer is not there R2

Only layers current user can see

Only layers current user can see

Cannot access, authenticate again

Cannot access, authenticate again

Clie

nt

Security sandwich

WMS WMS WCS WPS

Data catalog

Customprotocols

OGC service security layer

Data security layer