State of GeoServer at FOSS4G-NA

57
The State of GeoServer Andrea Aime GeoSolutions Justin Deoliveira Opengeo

description

The state of the GeoServer as given

Transcript of State of GeoServer at FOSS4G-NA

Page 1: State of GeoServer at FOSS4G-NA

The State of GeoServer

Andrea Aime GeoSolutions

Justin Deoliveira Opengeo

Page 2: State of GeoServer at FOSS4G-NA

Project Activity

Page 3: State of GeoServer at FOSS4G-NA

Project Activity

Page 4: State of GeoServer at FOSS4G-NA

Project Activity

Page 5: State of GeoServer at FOSS4G-NA

Project Activity

Page 6: State of GeoServer at FOSS4G-NA

Project Activity

Page 7: State of GeoServer at FOSS4G-NA

Project Activity

Page 8: State of GeoServer at FOSS4G-NA

Two Years in Review

Page 9: State of GeoServer at FOSS4G-NA

Rendering

Page 10: State of GeoServer at FOSS4G-NA

Advanced Projection HandlingDateline wrapping (Plate Caree, Mercator)

Cut polygons to valid area (Mercator, Transverse Mercator, Polar)

Page 11: State of GeoServer at FOSS4G-NA

Geometry TransformationsDrop shadow

<PolygonSymbolizer> <Geometry> <ogc:Function name="offset"> <ogc:PropertyName>the_geom</ogc:PropertyName> <ogc:Literal>0.00004</ogc:Literal> <ogc:Literal>-0.00004</ogc:Literal> </ogc:Function> <Geometry></PolygonSymbolizer>

Page 12: State of GeoServer at FOSS4G-NA

Geometry Transformations<PointSymbolizer> <Geometry> <ogc:Function name="endPoint"> <ogc:PropertyName>the_geom</ogc:PropertyName> </ogc:Function> </Geometry> <Graphic> <Mark> <WellKnownName>shape://carrow</WellKnownName> </Mark> <Rotation> <ogc:Function name="endAngle"> <ogc:PropertyName>the_geom</ogc:PropertyName> </ogc:Function> </Rotation> </Graphic></PointSymbolizer>

Pointed Arrows

Page 13: State of GeoServer at FOSS4G-NA

SLD Parameter Substitution <Mark> <WellKnownName> <ogc:Function name="env"> <ogc:Literal>mark</ogc:Literal> <ogc:Literal>square</ogc:Literal> </ogc:Function> </WellKnownName> <Fill>#FF0000</Fill> </Mark>

Normal output ...&env=mark:star

Page 14: State of GeoServer at FOSS4G-NA

Unit of Measure Support

1:20K

1:10K

1:5K

Page 15: State of GeoServer at FOSS4G-NA

Unit of Measure Support

1:20K

1:10K

1:5K

<Rule> <MinScaleDenominator>18000</MinScaleDenominator> <LineSymbolizer> <Stroke> <CssParameter name="stroke-width"> <ogc:Literal>1</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer></Rule><Rule> <MinScaleDenominator>8000</MinScaleDenominator> <MaxScaleDenominator>18000</MaxScaleDenominator> <LineSymbolizer> <CssParameter name="stroke-width"> <ogc:Literal>2</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer></Rule><Rule> <MaxScaleDenominator>8000</MaxScaleDenominator> <LineSymbolizer> <Stroke> <CssParameter name="stroke-width"> <ogc:Literal>4</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer></Rule>

Page 16: State of GeoServer at FOSS4G-NA

Unit of Measure Support

1:20K

1:10K

1:5K

<Rule> <LineSymbolizer uom="http://www.opengeospatial.org/se/units/metre"> <Stroke> <CssParameter name="stroke-width"> <ogc:Literal>5</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer></Rule>

Page 17: State of GeoServer at FOSS4G-NA

Label Obstacles

<PointSymbolizer> <Graphic> <ExternalGraphic> <OnlineResource xlink:type="simple" xlink:href="..." /> <Format>image/png</Format> </ExternalGraphic> <Size>32</Size> </Graphic> <VendorOption name="labelObstacle">true</VendorOption></PointSymbolizer>

Page 18: State of GeoServer at FOSS4G-NA

● Point label displacement● DPI scaling● Faster Recode/Categorize● Performance improvements on multilayer

maps

And More Rendering

Page 19: State of GeoServer at FOSS4G-NA

Raster

Page 20: State of GeoServer at FOSS4G-NA

Faster Raster Reprojection

Piecewise linear approximation

Page 21: State of GeoServer at FOSS4G-NA

Faster Raster Reprojection

Page 22: State of GeoServer at FOSS4G-NA

Non Georeferenced Rasters

EPSG:404000

Page 23: State of GeoServer at FOSS4G-NA

Image Mosaic Improvements

● Attach attributes to tiles● Filter by attribute● Filter by time/elevation● Autoindexing of directories● External indexes

○ any GT datastore○ third party indexes

● Multithreaded loading of granules● Footprint support

Page 24: State of GeoServer at FOSS4G-NA

Automatic Image Pyramids

Automatically:● recognize gdal_retile structure● building mosaic index

Page 25: State of GeoServer at FOSS4G-NA

ImageIO-Ext Improvements● BigTiff support

○ Read/Write○ Overviews

● Improved GeoTiff○ external overviews○ new plugin underway

● Improved JPEG2000 support○ kakadu based○ additional code params○ fine grain control on writing

● Improved Tiff metadata management○ wiser caching○ less memory - more speed

Page 26: State of GeoServer at FOSS4G-NA

Direct Raster Rendering Path● Hit JAVA2D Bottleneck – Scalability Issue

○ http://bit.ly/qJcZBi○ http://bit.ly/oe0CHo

● Created direct raster rendering path with JAI○ Drop-in replacement (1 raster

at time)○ 2x speedup○ 2x/3x scalability improvement

under heavy load○ Enabled/Disabled via Java Switch

Page 27: State of GeoServer at FOSS4G-NA

● Oracle GeoRaster● JPEG 2K improvements● More Concurrency● Simplified/Shrunk Raster Operation

Chains

And More Raster

Page 28: State of GeoServer at FOSS4G-NA

Web UI

Page 29: State of GeoServer at FOSS4G-NA

Web UI

EPSG:32612, UTM 12N

EPSG:32614, UTM 14N

CRS Area of Validity Display

Page 30: State of GeoServer at FOSS4G-NA

Web UI

Log viewer

Legend preview

Page 31: State of GeoServer at FOSS4G-NA

Web UIGraphical file chooser

Page 32: State of GeoServer at FOSS4G-NA

● Recent development by CSIRO ● Full extension status● Feature chaining, polymorphism● Better performance, memory use● GML 3.2, WMS (beta)

Application Schema Support

Page 33: State of GeoServer at FOSS4G-NA

Projections

Mollweide

Eckert IVWinkel Tripel

Robinson

Equidistant conic

Page 34: State of GeoServer at FOSS4G-NA

Web Map Service (WMS)

Page 35: State of GeoServer at FOSS4G-NA

Animation

Albacore Tuna catches, 1986 to 2000. (Params injected in a complex sql view computing each pixel)

...&request=GetMap &format=image/gif;subtype=animated &aparam=viewparams:YR_TA &avalues=1986,1987,...,2000 &format_options=gif_loop_continuosly:true

Page 36: State of GeoServer at FOSS4G-NA

Animation

...&request=GetMap &format=image/gif;subtype=animated &aparam=bbox &avalues=-180\,0\,0\,90, -165\,0,14\,90...

Page 37: State of GeoServer at FOSS4G-NA

WMS Cascading

Page 38: State of GeoServer at FOSS4G-NA

GeoWebCacheTransparent caching

Disk usagecontrol

Page 39: State of GeoServer at FOSS4G-NA

● WMS 1.3● SE 1.1 / SLD 1.1● SLD GetStyles

And More WMS

Page 40: State of GeoServer at FOSS4G-NA

Web Coverage Service (WCS)

Page 41: State of GeoServer at FOSS4G-NA

WCS Request Builder

Page 42: State of GeoServer at FOSS4G-NA

WCS Limits

Page 43: State of GeoServer at FOSS4G-NA

Web Processing Service (WPS)

Page 44: State of GeoServer at FOSS4G-NA

Web Processing ServiceFull extension status

Lots of new processes

Page 45: State of GeoServer at FOSS4G-NA

Georectification Process

Page 46: State of GeoServer at FOSS4G-NA

Georectification Process

Page 47: State of GeoServer at FOSS4G-NA

SQL ViewsLayers from SQL

request=GetMap &layers=continents &viewparams=region:2

Page 48: State of GeoServer at FOSS4G-NA

Service and catalog views per workspace

Virtual Services

Page 49: State of GeoServer at FOSS4G-NA

● OWS request throttling based on:○ Number of concurrent requests total○ Number of concurrent requests per:

■ service■ operation■ output format■ user

● Requests queued when limits reached

Control Flow

Page 50: State of GeoServer at FOSS4G-NA

Control Flow

Page 51: State of GeoServer at FOSS4G-NA

Control Flow

Page 52: State of GeoServer at FOSS4G-NA

Cross Layer Filtering<wfs:Query typeName="sf:bugsites"> <ogc:Filter> <ogc:Intersects> <ogc:PropertyName>the_geom</ogc:PropertyName> <ogc:Function name="querySingle"> <ogc:Literal>sf:restricted</ogc:Literal> <ogc:Literal>the_geom</ogc:Literal> <ogc:Literal>cat = 3</ogc:Literal> </ogc:Function> </ogc:Intersects> </ogc:Filter> </wfs:Query>

Page 53: State of GeoServer at FOSS4G-NA

Monitoring and Auditing

Page 54: State of GeoServer at FOSS4G-NA

Teradata DataStore

Page 55: State of GeoServer at FOSS4G-NA

What's coming?

Page 56: State of GeoServer at FOSS4G-NA

On the Horizon

● WFS 2.0● Security● DBconfig - Catalog and config in a database● Scripting - Python, JavaScript, Scala, Groovy

(GeoScript)● GSS / GeoGit

Go to What's new in 2.2

Page 57: State of GeoServer at FOSS4G-NA

Thanks!

http://geoserver.org

Questions?