Successfully reported this slideshow.
Your SlideShare is downloading. ×

State of GeoServer 2015

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 87 Ad

State of GeoServer 2015

Download to read offline

State of GeoServer reviewing the new and noteworthy features introduced in the past year. The project has an aggressive six month release cycle with GeoServer 2.7 and 2.8 being released this year.

These releases bring together exciting new features. A lot of work has been done on processing services with clustering, security and processing control.

The rendering engine continues to improve with the addition of color blending opening up a range of creative possibilities. The CSS extension (used to easily generate OGC standard styles) has been cleaned up with a rewrite.

This talk will highlighted updates on data import, application schema use, data transforms and the latest from the developer list.

Attend this talk for a cheerful update on what is happening with this popular OSGeo project. Whether you are an expert user, a developer, or simply curious what these projects can do for you, this talk is for you.

State of GeoServer reviewing the new and noteworthy features introduced in the past year. The project has an aggressive six month release cycle with GeoServer 2.7 and 2.8 being released this year.

These releases bring together exciting new features. A lot of work has been done on processing services with clustering, security and processing control.

The rendering engine continues to improve with the addition of color blending opening up a range of creative possibilities. The CSS extension (used to easily generate OGC standard styles) has been cleaned up with a rewrite.

This talk will highlighted updates on data import, application schema use, data transforms and the latest from the developer list.

Attend this talk for a cheerful update on what is happening with this popular OSGeo project. Whether you are an expert user, a developer, or simply curious what these projects can do for you, this talk is for you.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to State of GeoServer 2015 (20)

Advertisement

More from Jody Garnett (20)

Recently uploaded (20)

Advertisement

State of GeoServer 2015

  1. 1. State of GeoServer 2015 FOSS4G Seoul
  2. 2. Welcome Jody Garnett Senior Software Engineer a jgarnett@boundlessgeo.com @jodygarnett Open Source Projects GeoTools GeoServer uDig OSGeo Foundation OSGeo Incubation Chair GeoTools Project Officer Eclipse Foundation LocationTech Steering Committee LocationTech Technology Project Boundless Provides geospatial tools and services for managing data and building applications.
  3. 3. Welcome Andrea Amie Technical Lead andrea.aime@geo-solutions.it @geowolf Open Source Projects GeoTools GeoServer ImageIO-Ext JAI-Ext JAI Tools OSGeo Foundation GeoServer Project Officer Charter MemberGeoSolutions Innovative, robust and cost- effective solutions leveraging best- of-breed Open Source products.
  4. 4. GeoServer 2015
  5. 5. Java Web Application to share and edit geospatial data. Publish data from any major spatial data source using open standards. Core Protocols • WMS – maps • WFS – vector • WFS-T – editing • WCS – coverage • WPS – process Tile Protocols • WMTS – tiles • TileService – tiles • WMS-C – tiles GeoServer at a Glance
  6. 6. GeoServer: Health Checkup ● 28 members of team geoserver o 624 members on geoserver-devel o New contributors being added o Wider base of active contributors this year ● How about team user-list? o 1983 geoserver-users o 171 geoserver-italia o Also espanol and opengeo.cn mailing lists
  7. 7. Active Well Managed Codebase ● Over 500 pull requests this year
  8. 8. Current PSC members: • Alessio Fabiani • Andrea Aime • Ben Caradoc-Davies • Christian Mueller • Jody Garnett • Jukka Rahkonen • Phil Scadden • Simone Giannecchini Prior PSC members: • Chris Holmes • Brent Owens • Gabriel Roldan • Justin Deoliveira Project Steering Committee Update
  9. 9. Welcome New Committers Part I
  10. 10. Welcome New Committers Part II
  11. 11. Revised Release Schedule
  12. 12. Overview of Releases ● GeoServer 2.6: released September 2014 o Java 7 required o Year of stable / maintenance releases o Final GeoServer 2.6.4 release made .. this week! ● GeoServer 2.7: released March 2015 o Just entering maintenance now o Expect an additional release for GeoNode ● GeoServer 2.8: expected September 2015 o A little response to the beta .. please help o Working with GeoMesa for accumulo access o Community helping to test security issues o Release Candidate issued on Monday!
  13. 13. SourceForge July Infocalypse GeoServer has used Source Forge from 2003 • host mailing lists, download artifacts What went wrong this year: • A number of poor policy changes • Extended period of down time in July We have an exit strategy if required.
  14. 14. CodeHaus Shutdown
  15. 15. Jira moved to osgeo-org.atlassian.net OSGeo board hired consultant to quickly grab a backup. Result now available on atlassian cloud hosting. Great: All issues and attachments saved Eeek: No release notes (versions/components missing) Harrison Grundy OSGeo
  16. 16. Open Source Geospatial Foundation ● Strong relationship with OSGeo Foundation o Incubation to 2009 to 2013 o Transfer copyright in 2014 o Vendor Neutral custodian ● Assistance in 2015 o OSGeo helped mount the “rescue” of issue tracker contents after CodeHaus shutdown
  17. 17. Security Vulnerabilities
  18. 18. Please keep in Mind YOU are not a CUSTOMER
  19. 19. Please keep in Mind YOU are part of a TEAM
  20. 20. Responsible Disclosure Do: • Keep exploit details out of issue report • Be prepared to work with PSC on solution • Keep in mind PSC members are volunteers (fix may require fundraising / resources)
  21. 21. XEE Vulnerability OGC protocols parsing XML tricked into returning the contents of any file on the server. Resulted in the release of: • GeoSever 2.7.1.1 (patch release) • GeoServer 2.6.4 Additional support provided a patch release of: • GeoServer 2.5.5.1
  22. 22. REST API Remote Execution Administrator could be tricked into running executable when editing configuration. Resulted in the release of: • GeoSever 2.8-RC • GeoServer 2.6.5 And will be available in • GeoServer 2.7.3
  23. 23. Features and Fixes Keeping up with the GeoServer Community Customer ReleaseImplementor
  24. 24. Java 7 ● We have updated build boxes for Java 7 o Linux (boundless): Oracle JDK, OpenJDK o Windows (geosolutions): o OSX (travis): new experiment ● Recommended? o The build boxes build and test each commit, why take on the extra testing effort yourself? o Boundless and GeoSolutions each run build servers to support the community Community PSC 2.6.0
  25. 25. WFS Cascade: New implementation! ● GeoServer uses new wfs-ng to “cascade” from remote (or internal) WFS Servers ● Performing 2.6 preflight testing wfs-ng was a marked improvement over the original o We have cut over “cold turkey” o We asked the geoserver-users list for help testing all those tricky INSPIRE services ● wfs-ng includes configuration overrides o You can account for several common mistakes (such as servers that get confused about axis order) Boundless Niels Charlier 2.7.x
  26. 26. WFS Cascade: Stored Queries Volunteer Sampo 2.7.x
  27. 27. Use ENV variables in Templates Access system properties, environment variables and context parameters: request ${request.LAYERS} ${request.ENV.PROPERTY} environment ${environment.GEOSERVER_DATA_DIR} ${environment.WEB_SITE_URL} GeoSolutions Mauro 2.7.x
  28. 28. GML Performance • GML 3 encoding speed is improved GeoSolutions Justin/Andrea 2.8.x
  29. 29. Referencing Spatial Reference Systems and Reprojection Customer ReleaseImplementor
  30. 30. Chilling beauty of polar stereographics Before After GeoSolutions Andrea Aime 2.6
  31. 31. Crossing the dateline with rasters GeoSolutions Andrea Aime 2.6
  32. 32. General “Referencing” Improvements New Projections: • sinusoidal, gnomonic, meteosat second generation, general oblique • “AUTO” codes for gnomic and sterographic Deep Internal Changes • New matrix math EJML implementation Community Team Effort 2.7
  33. 33. Vector Improvements Drawing the world a vertex at time
  34. 34. ● Circular arc by 3 points, CircularString, CompoundString and Polygons ● When rendering, linearize according to the rendering resolution Smart Linearization Vienna Andrea Aime 2.7.0
  35. 35. Oracle Input GML Output Initial Implementation Oracle Vienna Andrea Aime 2.7.0
  36. 36. Reading Curves from PostGIS Helsinki Andrea Aime 2.8.0
  37. 37. Raster pushing pixels further and faster
  38. 38. Coverage Views / Band Selection Restructure your rasters in GeoServer GeoSolutions Daniele Romagnoli 2.6.0
  39. 39. ● Drill down in the various dimensions ● Interact with slices, list, filter, add, update, delete (GranuleSource/GranuleStore) ● Harvest entire new files into the sources (mosaic only) Structured Raster Data DLR/Eumetsat Daniele Romagnoli 2.6.0
  40. 40. ● Many coverages per reader ● read and advertise metadata for multiple coverages Structured NetCDF/Grib Formats DLR/Eumetsat Daniele Romagnoli 2.6.0
  41. 41. ● Publish NetCDF/Grib as any other format ● Configure WMS-T dimensions ● Return a multidimensional array via WCS 2.0 NetCDF output format Structured WCS Support http://localhost:8080/geoserver/wcs?request=GetCoverage &service=WCS&version=2.0.1&coverageId=geosolutions__NO2 &Format=NetCDF &subset=http://www.opengis.net/def/axis/OGC/0/Long(5,20) &subset=http://www.opengis.net/def/axis/OGC/0/Lat(40,50) &subset=http://www.opengis.net/def/axis/OGC/0/elevation(300,1250) &subset=http://www.opengis.net/def/axis/OGC/0/time ("2013-03-01T10:00:00.000Z","2013-03-01T22:00:00.000Z") DLR/Eumetsat Daniele Romagnoli 2.6.0
  42. 42. Raster NODATA with JAI-Ext Library JAI-EXT library now directly supports raster NODATA and footprints. This is available in 2.8 (but is off by default). Rewrite of oracle image processing operations • Support region of interest (ROI) • Support for No Data GeoSolution Team Effort 2.8.0
  43. 43. Styling and Rendering Presentation counts!
  44. 44. Well-known Text Symbols ● Create symbols using WKT <WellKnownName> wkt://LINESTRING(0.0 0.25, 0.25 0.25, 0.5 0.75, 0.75 0.25, 1.00 0.25) </WellKnownName> ● Bulk symbols using properties file <WellKnownName> wktlib://symbol.properties#wiggle </WellKnownName> geotools-users Group Effort! 2.6 symbol.properties wiggle=LINESTRING(0.0 0.25, 0.25 0.25, 0.5 0.75, 0.75 0.25, 1.00 0.25) block=POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))
  45. 45. New mark factory for windbarbs ● Use WMO compliant wind barbs ● Well known name template: windbarbs://$(value)[m/s]?emisphere=(n/s) ● E.g.: windbarbs://25[m/s]?emisphere=n GeoSolutions Simone 2.6
  46. 46. SLD Alpha Composition Cleveland Metroparks Andrea Aimie 2.7
  47. 47. SLD Color Blending Cleveland Metroparks Andrea Aimie 2.7
  48. 48. Composite Base Cleveland Metroparks Andrea Aimie 2.7
  49. 49. Single layer z-order control Use sortBy to control the order in which features are retrieved (and thus drawn) within a single layer. <FeatureTypeStyle> … <VendorOption name=”sortBy”> attribute1 A,attribute2 D </VendorOption> </FeatureTypeStyle> DLR Andrea Aime 2.8.0
  50. 50. Cross layer z-order control Group layers together, draw with consistent z- order. <FeatureTypeStyle> … <VendorOption name=”sortBy”> attribute1 A,attribute2 D </VendorOption> <VendorOption name=”sortByGroup”>linesGroup</VendorOption> </FeatureTypeStyle> DLR Andrea Aime 2.8.0
  51. 51. Z-order Example DLR Andrea Aime 2.8.0
  52. 52. Dynamic Arrow Generation • <WellKnownName> extshape://arrow?hr=[hr]&t=[t]&ab=[ab] </WellKnownName> • hr: height over width ratio (0 to 1) • t: thickness • ab: area head base ratio GeoSolutions Andrea Aime 2.8.0
  53. 53. New Contrast Enhancements Choice of • ClipToMinimumMaximum • StretchToMinimumMaximum • ClipToZero <ContrastEnhancement> <Normalize> <VendorOption name="algorithm"> StretchToMinimumMaximum </VendorOption> <VendorOption name=”minValue”>50</VendorOption>` <VendorOption name=”maxValue”>800</VendorOption>` </Normalize>` </ContrastEnhancement>` GeoSolutions Team Effort 2.8.0
  54. 54. New Contrast Enhancements GeoSolutions Team Effort 2.8.0
  55. 55. New Hill Shade GeoSolutions Team Effort 2.8.0 raster-channels: auto; raster-color-map: color-map-entry(darkBlue, 0) color-map-entry(darkGreen, 1) color-map-entry(green, 300) color-map-entry(yellow, 1800) color-map-entry(maroon, 4000) color-map-entry(white, 5000); raster-relief-factor: 20; raster-relief-brightness-only: false;
  56. 56. Clustering Efficient cluster deployment GeoSolutions Andrea Aime 2.7.0
  57. 57. Clustering GeoServer configuration ● Instantly propagate config changes ● two community modules available GeoSolutions Boundless 2.7.x GeoSolutions Boundless GS1 GS2 GS3 Load balancer Message passing bus
  58. 58. Web Processing Service GeoServer WPS is now Production Ready
  59. 59. WPS Process Security GeoSolutions Andrea Aime 2.7.0
  60. 60. WPS Execution Limits GeoSolutions Andrea Aime 2.7.0
  61. 61. WPS Process List and Dismiss GeoSolutions Andrea Aime 2.7.0
  62. 62. WPS Clustering (Asynchronous) ● The only OGC operation maintaining state ● Improve GS so that the state gets shared across cluster nodes GeoSolutions 2.7.xGeoSolutions WPS1 WPS2 WPS3 Shared async state Load balancer
  63. 63. WPS Hazelcast Clustering GeoSolutions 2.7.xGeoSolutions
  64. 64. CSS Extension GeoServer styling for Humans
  65. 65. CSS Rewrite ● Port of the GeoScript Scala version to Java allowing more people to contribute ● Faster translation to SLD ● Adding LessCSS features down the road /* @title Population < 2M */ [PERSONS < 2000000] { fill: #4DFF4D; fill-opacity: 0.7; } /* @title 2M < Population < 4M */[PERSONS > 2000000] [PERSONS < 4000000] { fill: #FF4D4D; fill-opacity: 0.7; } /* @title Population > 4M */ [PERSONS > 4000000] { fill: #4D4DFF; fill-opacity: 0.7; } Andrea Aime 2.7.xVolunteer
  66. 66. CSS Editor has Improved workflow Andrea Aime 2.7.xVolunteer
  67. 67. Improved Documentation Jody Garnett 2.7.xBoundless
  68. 68. REST API Remote configuration of GeoServer
  69. 69. /security/acl/layers.<format> /security/acl/services.<format> /security/acl/rest.<format> REST API for Access Control DLR Christian Mueller 2.8.0
  70. 70. CREATE …/coveragestores/temperature/file.imagemosaic GET …/coveragestores/polyphemus/coverages/NO2/index.xml …coveragestores/polyphemus/coverages/NO2/index/granules.xml? limit=1&filter=time='2013-03-03T00:00:00Z REST API for Image Moasic Granule DLR Andrea Aime 2.8.0
  71. 71. {"dataStore” {"name":"st… { "dataStore": { "name": "states_shp", "description": "Polygons.. "type": "Directory of .. "enabled": true, "workspace": { "name": "usa", "href": "http://localh… Pretty Print! Boundless Torben 2.8.0
  72. 72. GeoFence Extension Advanced Security for GeoServer 2.8.0
  73. 73. GeoFence Internal Server ● Advanced security rules in GeoServer ● GS plugin to drive security ● Donated by GeoSolutions ● Fully open source: https://github.com/geoserver/geofence GeoServer GeoFence Embded GeoSolutions Boundless Team Effort 2.8.0
  74. 74. GeoFence Configuration ● Integrated Wicket GUI ● REST API /rest/usergroup/[service/<serviceName>/]users/ {"username": "..", "password": "..", enabled: true/false } Boundless Niels 2.8.0
  75. 75. Importer Extension Data driven configuration and setup
  76. 76. Process raster data during import Vector import has supported data processing during import for some time. The same functionality is now available for raster data. • Warp to a new spatial reference system • Transform to a new data format • Create “overviews” for better performance GeoSolutions Anrea Aime 2.8.0
  77. 77. Raster Prep GdalWarpTransform { "type": "GdalWarpTransform", "options": [ "-t_srs", "EPSG:4326” ] } GeoSolutions Anrea Aime 2.8.0
  78. 78. Raster Prep GdalTranslateTransform { “type”: “GdalTranslateTransform”, “options”: [ “-co”, “TILED=YES”, “-co”, “BLOCKXSIZE=512”, “-co”, “BLOCKYSIZE=512” ] } GeoSolutions Anrea Aime 2.8.0
  79. 79. Raster Prep GdalAddoTransform { "type": "GdalAddoTransform", "options": [ "-r", "average"], "levels" : [2, 4, 8, 16] } GeoSolutions Anrea Aime 2.8.0
  80. 80. Roadmap Features and Ideas for 2016
  81. 81. Java 8 ● Planned for GeoServer 2.9 o No more “PermGen” space errors ● Java 7 support ended in May Community PSC 2.9.0
  82. 82. Update CITE Tests ● CITE Tests are the OGC conformance tests ● Pass them and you get a cool sticker for your website o Well only if you pay o Idea: Ask OSGeo Board to talk to OGC? ● Tests keep us all safe! o We would like some time to upgrade / fix o Help out at the Code Sprint this weekend Volunteer Andrea Aime 2.9.0
  83. 83. JDBC ResourceStore ● Store resources in JDBC Database o In addition to “Catalog” configuration … o Store styles, icons, and fonts o GetFeatureInfo templates ● Approach used o Direct access to database BLOB o Great for clustered configurations Boundless Niels Charlier 2.9.x
  84. 84. Layer Group Options When including layers in a group: - CQL_FILTER - INTERPOLATION - SCALE_RANGE - Etc… Boundless Kevin Smith 2.9.0
  85. 85. Custom Legend Graphics ● Use your own icon as legend graphic Boundless Boundless 2.9.x
  86. 86. Vector Tiles • New community module for publishing vector tiles  • Great solution for modern High Definition Screens • Use for GeoWebCache for “MapBox without MapBox” Boundless Gabriel 2.9.x See lower resolution tile in the procesing of loading
  87. 87. Questions? Thank you - for another amazing year!

Editor's Notes

  • State of GeoServer reviewing the new and noteworthy features introduced in the past year. The project has an aggressive six month release cycle with GeoServer 2.7 and 2.8 being released this year.

    These releases bring together exciting new features. A lot of work has been done on processing services with clustering, security and processing control.

    The rendering engine continues to improve with the addition of color blending opening up a range of creative possibilities. The CSS extension (used to easily generate OGC standard styles) has been cleaned up with a rewrite.

    This talk will highlighted updates on data import, application schema use, data transforms and the latest from the developer list.
    Attend this talk for a cheerful update on what is happening with this popular OSGeo project. Whether you are an expert user, a developer, or simply curious what these projects can do for you, this talk is for you.
  • Up from 200 pull requests last year!
  • If you are interested in peaking ahead check the release schedule: https://github.com/geoserver/geoserver/wiki/Release-Schedule
  • Forge from 2003 to 2015 responsible for Confluence wiki used as initial user manual developers guide planning/proposals and JIRA Issue Tracker (with our entire project history from release 0.8 in 2003).
  • Reminder that GeoServer is an OSGeo project
  • See http://docs.geoserver.org/latest/en/user/tutorials/freemarker.html
  • Links:
    https://osgeo-org.atlassian.net/browse/GEOS-7006
    http://www.geo-solutions.it/blog/postgis-curves-in-geoserver/

  • https://github.com/geosolutions-it/jai-ext
  • Formally an optional unsupported plugin
    Hidden “power tool” for great maps
    define icon inline as a geometry
    manage bulk symbol sets as a property file
    additional symbols such as windbarbs
    Merge with gt-render
    Available by default for everyone
    Go out and make maps!
  • These are two new extensions to the rendering engine that allows for greater control over how overlapping layers in a map are merged together.
    Instead of just placing layers on top of others (with or without transparency), there is now a range of filters and effects, such as “multiply”, “darken”, and “hard light”.
  • Used to prevent special effect “bleading” out
  • Z-Order Rendering - take advantage of z-order in data

    https://github.com/geotools/geotools/wiki/Z-order-control-during-map-production
  • https://osgeo-org.atlassian.net/browse/GEOT-5180

    https://github.com/geotools/geotools/wiki/Extend%20Contrast%20Enhancement%20method%20handling%20in%20SLD%20and%20CSS
  • https://osgeo-org.atlassian.net/browse/GEOT-5180

    https://github.com/geotools/geotools/wiki/Extend%20Contrast%20Enhancement%20method%20handling%20in%20SLD%20and%20CSS
  • https://osgeo-org.atlassian.net/browse/GEOT-5180

    https://github.com/geotools/geotools/wiki/Extend%20Contrast%20Enhancement%20method%20handling%20in%20SLD%20and%20CSS
  • GeoServer now has the ability to connect WPS processes to the standard role-based security system. This means that administrators can now determine what users and groups can access or execute, making WPS usage safer and more secure.
  • In addition to limiting the users and groups that can access WPS processes, GeoServer now also has the ability to set WPS input execution limits (such as timeout values), ensuring that a runaway process can’t cause a system to fail due to utilizing too many resources. Limits can be set globally and on a per-process basis.
  • A client that connects to the WPS now not only has the ability to execute processes, but also the ability to dismiss/kill processes. Also new is the ability for the administrator to see the current processes that are being executed on the system.
  • GEOS-6755
    https://github.com/geoserver/geoserver/pull/810
    https://github.com/geoserver/geoserver/wiki/GSIP-119
    http://docs.geoserver.org/stable/en/user/extensions/wps/hazelcast-clustering.html
  • GeoServer has a new WPS extension point allowing GeoServer nodes in the same cluster to share the status of current WPS requests. This is particularly important for asynchronous requests, as the client polling for the progress/results might not be hitting the same node that’s currently running the request.

    This initial implementation leverages the Hazelcast library to share the information about the current process status using a replicated map.
  • Rewritten for improved integration
  • https://github.com/geoserver/geoserver/wiki/GSIP-120
    https://github.com/geoserver/geoserver/pull/1098/
  • http://docs.geoserver.org/latest/en/user/rest/api/coverages.html
  • https://github.com/geoserver/geoserver/wiki/GSIP-120
  • gdalwarp / gdal_translate/gdaladdo
  • Note: This section is not called “roadmap”

×