the state of geoserver

65
The State of GeoServer Andrea Aime GeoSolutions Justin Deoliveira Opengeo

Upload: justin-deoliveira

Post on 11-May-2015

1.623 views

Category:

Health & Medicine


3 download

DESCRIPTION

2011 marks the 10 year anniversary of the GeoServer project with 2010 - 2011 being the most successful year yet. GeoServer continues to grow with an active community and expanding user base. This presentation takes the pulse of the project with a status report of how GeoServer is doing and what to expect in the coming future.The presentation will start with a "year in review" overviewing some of the new and noteworthy of the past year. This year saw the coming of GeoServer 2.1, a major milestone for the project that brought some exciting new features along with it. Cascading WMS, Virtual Services, SQL Layers/Views, Unit of Measure support for SLD, WMS 1.3, and WPS are just a few of the highlights of 2.1. Attend this presentation to get the entire report of what happened this past year.The GeoServer developer community continues to remain active with a number of exciting features in the pipeline. The remainder of the presentation will focus on the future with a report of the new developments currently being worked on and what new features and improvements users can expect in 2012.Whether you are an expert user, a developer, or simply someone who wants to know what GeoServer is and what it can do for you, this talk is for you.

TRANSCRIPT

Page 1: The State of GeoServer

The State of GeoServer

Andrea Aime GeoSolutions

Justin Deoliveira Opengeo                   

Page 2: The State of GeoServer

Project Activity

Page 3: The State of GeoServer

Project Activity

Page 4: The State of GeoServer

Project Activity

Page 5: The State of GeoServer

Project Activity

Page 6: The State of GeoServer

Project Activity

Page 7: The State of GeoServer

Project Activity

Page 8: The State of GeoServer

Project Activity

Page 9: The State of GeoServer

Project Activity

Page 10: The State of GeoServer

Project Activity

Page 11: The State of GeoServer

Project Activity

Page 12: The State of GeoServer

Two Years in Review

Page 13: The State of GeoServer

Rendering

Page 14: The State of GeoServer

Advanced Projection HandlingDateline wrapping (Plate Caree, Mercator)

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

Page 15: The State of GeoServer

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>

Page 16: The State of GeoServer

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 17: The State of GeoServer

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>

Page 18: The State of GeoServer

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 19: The State of GeoServer

Unit of Measure Support

1:20K

1:10K

1:5K

Page 20: The State of GeoServer

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 21: The State of GeoServer

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 22: The State of GeoServer

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 23: The State of GeoServer

• Point label displacement• DPI scaling• Faster Recode/Categorize• Performance

And More Rendering

Page 24: The State of GeoServer

Raster

Page 25: The State of GeoServer

Faster Raster Reprojection

Piecewise linear approximation

Page 26: The State of GeoServer

Faster Raster Reprojection

Page 27: The State of GeoServer

Non Georeferenced Rasters

EPSG:404000

Page 28: The State of GeoServer

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

Page 29: The State of GeoServer

Automatic Image Pyramids

Automatically:• recognize gdal_retile structure• building mosaic index

Page 30: The State of GeoServer

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

Page 31: The State of GeoServer

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

Page 32: The State of GeoServer

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

Chains

And More Raster

Page 33: The State of GeoServer

Web UI

Page 34: The State of GeoServer

Web UI

EPSG:32612, UTM 12N

EPSG:32614, UTM 14N

CRS Area of Validity Display

Page 35: The State of GeoServer

Web UI

Log viewer

Legend preview

Page 36: The State of GeoServer

Web UI

Graphical file chooser

Page 37: The State of GeoServer

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

Application Schema Support

Page 38: The State of GeoServer

Projections

Mollweide

Eckert IVWinkel Tripel

Robinson

Equidistant conic

Page 39: The State of GeoServer

Web Map Service (WMS)

Page 40: The State of GeoServer

Time and Elevation

Page 41: The State of GeoServer

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

Page 42: The State of GeoServer

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 43: The State of GeoServer

Animation

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

Page 44: The State of GeoServer

WMS Cascading

Page 45: The State of GeoServer

GeoWebCache

Transparent caching

Disk usagecontrol

Page 46: The State of GeoServer

• WMS 1.3• SE 1.1 / SLD 1.1• SLD GetStyles

And More WMS

Page 47: The State of GeoServer

Web Coverage Service (WCS)

Page 48: The State of GeoServer

WCS Request Builder

Page 49: The State of GeoServer

WCS Limits

Page 50: The State of GeoServer

Web Processing Service (WPS)

Page 51: The State of GeoServer

Web Processing Service

Full extension status

Lots of new processes

Page 52: The State of GeoServer

Georectification Process

Page 53: The State of GeoServer

Georectification Process

Page 54: The State of GeoServer

SQL ViewsLayers from SQL

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

Page 55: The State of GeoServer

Service and catalog views per workspace

Virtual Services

Page 56: The State of GeoServer

• 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

Page 57: The State of GeoServer

Control Flow

Page 58: The State of GeoServer

Control Flow

Page 59: The State of GeoServer

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 60: The State of GeoServer

Monitoring and Auditing

Page 61: The State of GeoServer

Teradata DataStore

Page 62: The State of GeoServer

What's coming?

Page 63: The State of GeoServer

On the Horizon

• WFS 2.0• DBconfig - Catalog and config in a database

• Scripting - Python, JavaScript, Scala, Groovy (GeoScript)

• GSS / GeoGit

Page 64: The State of GeoServer

Thanks!

http://geoserver.org

Questions?

Page 65: The State of GeoServer

Oh Wait! It's trivia time.

What was the original name of the organization that founded GeoServer?

?