The State of the GeoServer project
Upcoming SlideShare
Loading in...5

The State of the GeoServer project



FOSS4G 2011 presentation on the status of the GeoServer open source project

FOSS4G 2011 presentation on the status of the GeoServer open source project



Total Views
Views on SlideShare
Embed Views



2 Embeds 8 5 3


Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

The State of the GeoServer project The State of the GeoServer project Presentation Transcript

  • The State of GeoServer Andrea Aime GeoSolutions Justin Deoliveira Opengeo
  • Project Activity
  • Project Activity View slide
  • Project Activity View slide
  • Project Activity
  • Project Activity
  • Project Activity
  • Project Activity
  • Project Activity
  • Project Activity
  • Project Activity
  • Two Years in Review
  • Rendering
  • Advanced Projection Handling Dateline 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 Support1:20K 1:10K 1:5K
  • Unit of Measure Support<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> 1:20K <MaxScaleDenominator>8000</MaxScaleDenominator> <LineSymbolizer> <Stroke> <CssParameter name="stroke-width"> <ogc:Literal>4</ogc:Literal> </CssParameter> 1:10K </Stroke> </LineSymbolizer></Rule> 1:5K
  • Unit of Measure Support<Rule> <LineSymbolizer uom=""> <Stroke> <CssParameter name="stroke-width"> <ogc:Literal>5</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer></Rule> 1:20K 1:10K 1:5K
  • 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>
  • And More Rendering● Point label displacement● DPI scaling● Faster Recode/Categorize● Performance
  • Raster
  • Faster Raster ReprojectionPiecewise linearapproximation
  • 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 ○ any GT datastore ○ third party indexes● Multithreaded loading of granules● Footprint support
  • Automatic Image PyramidsAutomatically: ● recognize gdal_retile structure ● building mosaic index
  • 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
  • Direct Raster Rendering Path● Hit JAVA2D Bottleneck – Scalability Issue ○ ○● 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
  • And More Raster● Oracle GeoRaster● JPEG 2K improvements● More Concurrency● Simplified/Shrunk Raster Operation Chains
  • Web UI
  • Web UI CRS Area of Validity DisplayEPSG:32612, UTM 12N EPSG:32614, UTM 14N
  • Web UI Legend previewLog viewer
  • Web UI Graphical file chooser
  • Application Schema Support● Recent development by CSIRO● Full extension status● Feature chaining, polymorphism● Better performance, memory use● GML 3.2, WMS (beta)
  • Projections Robinson Mollweide Winkel Tripel Eckert IVEquidistant 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 cachingDisk usage control
  • And More WMS● WMS 1.3● SE 1.1 / SLD 1.1● SLD GetStyles
  • 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
  • Virtual ServicesService and catalog views per workspace
  • Control Flow● 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
  • 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
  • Whats coming?
  • On the Horizon● WFS 2.0● DBconfig - Catalog and config in a database● Scripting - Python, JavaScript, Scala, Groovy (GeoScript)● GSS / GeoGit
  • Thanks!Questions? http://geoserver. org
  • Oh Wait! Its trivia time. What was the originalname of the organizationthat founded GeoServer? ?