Download - The State of GeoServer
The State of GeoServer
Andrea Aime GeoSolutions
Justin Deoliveira Opengeo
Project Activity
Project Activity
Project Activity
Project Activity
Project Activity
Project Activity
Project Activity
Project Activity
Project Activity
Project Activity
Two Years in Review
Rendering
Advanced Projection HandlingDateline wrapping (Plate Caree, Mercator)
Cut polygons to valid area (Mercator, Transverse Mercator, Polar)
Geometry Transformations
Drop 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>
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
Rendering Transformations
<FeatureTypeStyle> <Transformation> <ogc:Function name="gs:Contour"> <ogc:Function name="parameter"> <ogc:Literal>data</ogc:Literal> </ogc:Function> <ogc:Function name="parameter"> <ogc:Literal>levels</ogc:Literal> <ogc:Literal>1100</ogc:Literal> <ogc:Literal>1200</ogc:Literal> <ogc:Literal>1300</ogc:Literal> <ogc:Literal>1400</ogc:Literal> <ogc:Literal>1500</ogc:Literal> <ogc:Literal>1600</ogc:Literal> <ogc:Literal>1700</ogc:Literal> <ogc:Literal>1800</ogc:Literal> </ogc:Function> </ogc:Function> </Transformation> </FeatureTypeStyle>
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
Unit of Measure Support
1:20K
1:10K
1:5K
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>
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>
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>
• Point label displacement• DPI scaling• Faster Recode/Categorize• Performance
And More Rendering
Raster
Faster Raster Reprojection
Piecewise linear approximation
Faster Raster Reprojection
Non Georeferenced Rasters
EPSG:404000
Image Mosaic Improvements
• Attach attributes to tiles• Filter by attribute• Filter by time/elevation• Autoindexing of directories• External indexes
o any GT datastoreo third party indexes
• Multithreaded loading of granules• Footprint support
Automatic Image Pyramids
Automatically:• recognize gdal_retile structure• building mosaic index
ImageIO-Ext Improvements
• BigTiff supporto Read/Writeo Overviews
• Improved GeoTiffo external overviewso new plugin underway
• Improved JPEG2000 supporto kakadu basedo additional code paramso fine grain control on writing
• Improved Tiff metadata managemento wiser cachingo less memory - more speed
Direct Raster Rendering Path
• Hit JAVA2D Bottleneck – Scalability Issueo http://bit.ly/qJcZBio http://bit.ly/oe0CHo
• Created direct raster rendering path with JAIo Drop-in replacement (1 raster at
time)o 2x speedupo 2x/3x scalability improvement under
heavy loado Enabled/Disabled via Java Switch
• Oracle GeoRaster• JPEG 2K improvements• More Concurrency• Simplified/Shrunk Raster Operation
Chains
And More Raster
Web UI
Web UI
EPSG:32612, UTM 12N
EPSG:32614, UTM 14N
CRS Area of Validity Display
Web UI
Log viewer
Legend preview
Web UI
Graphical file chooser
• Recent development by CSIRO • Full extension status• Feature chaining, polymorphism• Better performance, memory use• GML 3.2, WMS (beta)
Application Schema Support
Projections
Mollweide
Eckert IVWinkel Tripel
Robinson
Equidistant conic
Web Map Service (WMS)
Time and Elevation
Time and Elevation
...&request=GetMap &time=2001-08-01T18:00:00Z/2001-09-01T00:00:00Z
...&request=GetMap &time=2003-08-01T18:00:00Z/2003-10-01T00:00:00Z
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
Animation
...&request=GetMap &format=image/gif;subtype=animated &aparam=bbox &avalues=-180\,0\,0\,90, -165\,0,14\,90...
WMS Cascading
GeoWebCache
Transparent caching
Disk usagecontrol
• WMS 1.3• SE 1.1 / SLD 1.1• SLD GetStyles
And More WMS
Web Coverage Service (WCS)
WCS Request Builder
WCS Limits
Web Processing Service (WPS)
Web Processing Service
Full extension status
Lots of new processes
Georectification Process
Georectification Process
SQL ViewsLayers from SQL
request=GetMap &layers=continents &viewparams=region:2
Service and catalog views per workspace
Virtual Services
• OWS request throttling based on:o Number of concurrent requests totalo Number of concurrent requests per:
serviceoperationoutput formatuser
• Requests queued when limits reached
Control Flow
Control Flow
Control Flow
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>
Monitoring and Auditing
Teradata DataStore
What's coming?
On the Horizon
• WFS 2.0• DBconfig - Catalog and config in a database
• Scripting - Python, JavaScript, Scala, Groovy (GeoScript)
• GSS / GeoGit
Thanks!
http://geoserver.org
Questions?
Oh Wait! It's trivia time.
What was the original name of the organization that founded GeoServer?
?