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.
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. 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.
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. 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
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. 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.
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. 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
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. 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. 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
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. 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
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
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
38. Coverage Views / Band Selection
Restructure your rasters in GeoServer
GeoSolutions
Daniele
Romagnoli
2.6.0
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. ● Many coverages per reader
● read and advertise metadata
for multiple coverages
Structured NetCDF/Grib Formats
DLR/Eumetsat
Daniele
Romagnoli
2.6.0
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. 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
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
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. 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
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. 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
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
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
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. 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. 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. Layer Group Options
When including layers in a group:
- CQL_FILTER
- INTERPOLATION
- SCALE_RANGE
- Etc…
Boundless Kevin Smith 2.9.0
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
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 manualdevelopers 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
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
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.
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.