Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GeoServer Feature FRENZY

1,992 views

Published on

This presentation goes over the most important features of GeoServer in order to give the reader an intro about what is good and what is super-good about GeoServer!

The current version reflects the presentation given at FOSS4G 2017 in Boston.

Published in: Software
  • Be the first to comment

GeoServer Feature FRENZY

  1. 1. GeoServer Feature FRENZY
  2. 2. Why this Talk? ● State of GeoServer talks hit what is New! ● This talk hits what is good! ● 25 min talk ○ Thirty seconds a feature!
  3. 3. So what is good? ● Crowdsource the value of GeoServer: ○ Q: What makes GeoServer great for you? ○ Q: What feature do you always enable? ○ Q: Is there an extension which made a project possible for you or a customer? ○ Q: What surprised you when you first installed GeoServer? ○ Q: What community module do you wish was part of GeoServer?
  4. 4. 3 ready
  5. 5. 2 set
  6. 6. 1 go!
  7. 7. Easy to Install How easy it was to install and configure. David Collins How easy it was to get maps in my openlayers application. Mark Ismail Easy to create a map Bui Hong Son How easy it was to install and configure with GUI without a need to write mysterious configuration files by hand, and that after the clickety-click installation everything just worked. Jukka Rahkonen How easy it was to connect to PostGIS. Ben Caradoc-Davies How easy it was to setup a geoserver and display your data, even without any gis-specific knowledge. Roel De Nijs
  8. 8. Easy to: Download Download latest Releases and Nightly Builds from the Home page!
  9. 9. Easy to: Download Stable releases for production (with “maintenance” version)
  10. 10. Easy to: Download Installer, Web App, or Standalone,
  11. 11. Easy to Install: Windows How do I get the data directory out of the 'Program Files' directory. Dr Christian Maul
  12. 12. Easy to Install: Windows Service Easy to install and publish OGC Web Service (WMS, WFS,WCS) Bui Hong Son
  13. 13. Easy to Install: Mac
  14. 14. Easy to Install: Binary (Windows) > unzip geoserver-bin.zip > cd geoserver > cd bin > start.bat
  15. 15. Easy to Install: Binary (Everyone) > unzip geoserver.zip > cd geoserver > cd bin > ./start.sh
  16. 16. Easy to Install: WAR The ability to safely serve up data layers without the need for web repositories Mark Ismail
  17. 17. Easy to Install: Modules ● GeoServer is a modular application ○ Download and install new functionality ● Extensions ○ Optional functionality that not every GeoServer needs. Example: Importer, CSS, DB2 ● Community modules ○ Play area for experiments and ideas The plugin architecture Christian Mueller
  18. 18. Easy to Install: Extensions
  19. 19. Easy to Install: Community Modules
  20. 20. Easy to Install: Community Modules or SpatialLite Jonathan Moules OGC GeoPackage if it is ready enough. Jukka RahkonenSpatialite the third but not until it has updated to support Spatialite v. 4.2 Jukka Rahkonen Geoserver Printing Module. Phil Scadden Geopackage module Jorge Sanz
  21. 21. Easy to Configure How easy it was to install and configure with GUI without a need to write mysterious configuration files by hand, and that after the clickety-click installation everything just worked. Jukka Rahkonen The short time it took to install GS and display my data Russell Hore The simplicity of WEB GUI Christian Mueller No need to dive into some obscure configuration files to change some configuration or add a new datastore, layer,… Roel De Nijs Highly configurable using a web interface Roel De Nijs
  22. 22. Easy to Configure: XML
  23. 23. Easy to Configure Idea (almost) everything configurable through a user-friendly web interface Roel De Nijs
  24. 24. Easy to Configure STRUTS GUI
  25. 25. Easy to Configure Wicket GUI Simple to maintain, free, scalable David Collins Very simple to set up Russell Hore
  26. 26. Mass configure layers from GUI
  27. 27. Oracle (this is sort of strange) WFS-T and Oracle datastore Jukka Rahkonen The oracle database connector Mark Ismail Oracle database connection Jonathan Moules
  28. 28. Easiest way to publish Oracle to the web GeoServer WMS/WFS ArcSDE Oracle Oracle ...
  29. 29. Everybody loves curves ● Read curved geometries from Oracle, paint them, GML output them, linearize everywhere else
  30. 30. Rendering Speed Your maps .. faster rendering speed Phil Scadden
  31. 31. Spatial Index ● Key to rendering speed when zoomed in ○ Quickly sort through data using a bounding box ○ Remaining features filtered according to SLD
  32. 32. Geometry Simplification ● Zoomed out so far that several points are located in the same pixel? ○ GeoServer will simplify as it reads from disk/database
  33. 33. Smart reprojection ● Simplify before reproject ● Linearize transformation math as needed
  34. 34. Pre Generalized DataStore ● Switch between: ○ original data when zoomed in ○ simplified data when zoomed out ● This is transparent to WMS and Rendering ○ No need to add SLD rules based on scale ○ Vast improvement when zoomed out! ● For more information ○ Pregeneralized Plugin (GeoTools User Guide)
  35. 35. Switch tables based on distance <?xml version="1.0" encoding="UTF-8"?> <GeneralizationInfos version="1.0"> <GeneralizationInfo dataSourceName="dsStreams" featureName="GenStreams" baseFeatureName="streams" geomPropertyName="the_geom"> <Generalization dataSourceName="dsStreams_5" distance="5" featureName="streams_5" geomPropertyName="the_geom"/> <Generalization dataSourceName="dsStreams_10" distance="10" featureName="streams_10" geomPropertyName="the_geom"/> <Generalization dataSourceName="dsStreams_20" distance="20" featureName="streams_20" geomPropertyName="the_geom"/>
  36. 36. Switch attributes based on distance <?xml version="1.0" encoding="UTF-8"?> <GeneralizationInfos version="1.0"> <GeneralizationInfo dataSourceName="dsStreams_5_10_20_50" featureName="GenStreams" baseFeatureName="streams_5_10_20_50" geomPropertyName="the_geom"> <Generalization dataSourceName="dsStreams_5_10_20_50" distance="5" featureName="streams_5_10_20_50" geomPropertyName="the_geom5"/> <Generalization dataSourceName="dsStreams_5_10_20_50" distance="10" featureName="streams_5_10_20_50" geomPropertyName="the_geom10"/> <Generalization dataSourceName="dsStreams_5_10_20_50" distance="20" featureName="streams_5_10_20_50" geomPropertyName="the_geom20"/> <Generalization dataSourceName="dsStreams_5_10_20_50" distance="50" featureName="streams_5_10_20_50" geomPropertyName="the_geom50"/> </GeneralizationInfo> </GeneralizationInfos>
  37. 37. Faster JPEG/PNG encoder TurboJPEG encoder PNGJ encoder
  38. 38. Shapefile
  39. 39. Shapefile GeoServer Features: ● Fast efficient Rendering Whacky Things you don’t expect ● Sorting implemented using on disk merge/sort ● Transactions (in memory) for WFS-T
  40. 40. Scalable Simple to maintain, free, scalable David Collins
  41. 41. Marlin renderer Marlin > OpenJDK > Oracle JDK Coming in a JDK9 near to you https://github.com/bourgesl/marlin- renderer
  42. 42. Clustering solutions Shared config DB
  43. 43. Free Simple to maintain, free, scalable David Collins Open Source Phil Scadden
  44. 44. Open Source Free as in Freedom: ● GPL License
  45. 45. Cost Free Free as in Beer: ● Download now to $0! ● This weeks special 10% off $0!
  46. 46. Reliability Reliability and that it is largely data format agnostic Dr Christian Maul The ability to safely serve up data layers without the need for web repositories Mark Ismail It is a reliable product that is under continuous development and if there is a great need to get some new feature implemented there are several great companies who can take your money and make your happy soon. Jukka Rahkonen
  47. 47. Quality Assurance: JUnit ● Build with Tests takes 15 mins ● Build with Tests disabled takes 2 mins ● Thousands of tests
  48. 48. Quality Assurance: Build Box Boundless: Linux+Java 6/7 GeoSolutions: Windows+Java7 CSIRO: Linux with space in path :)
  49. 49. Quality Assurance: Code Review
  50. 50. OGC Web Services W*S Easy to install and publish OGC Web Service (WMS, WFS,WCS) Bui Hong Son The web UI makes it perfect to teach webmapping and OGC standards to non very tech people Jorge Sanz
  51. 51. ● WMS (1.1.1, 1.3.0) ● WFS (1.0, 1.1, 2.0) ● WCS (1.0, 1.1, 2.0) ● WPS (1.0) ● CSW (2.0.1) ● SLD (1.0, 1.1) ● GML (2.x, 3.1, 3.2) OGC? Yes, from the ground up ● WMTS (1.0) ● GeoPackage ● KML ● WMS and WCS Earth Observation profiles
  52. 52. CITE Tests
  53. 53. Open and Active Community Open Development / Open Discussion Friendly, helpful community. Jonathan Moules Excellent regular update schedule with maintenance, stable and nightly branches. A well managed process! Jonathan Moules Its open and active community Ben Caradoc-Davies
  54. 54. Open and Active Community ● Community: Mailing List / StackExchange/ Skype Meetings ● GSIP Change Control ● Release Schedule
  55. 55. Predictable Six-month Schedule
  56. 56. Open Development ● geoserver-devel ● developer manual ○ quickstart ○ release guide ○ clear contributor guidelines ● Governance ○ PSC ○ OSGeo Project ● GitHub ○ Fork me on GitHub ○ pull-requests ● Proposals (GSIP) ○ change control ○ pre-flight check
  57. 57. Commercial Support It is a reliable product that is under continuous development and if there is a great need to get some new feature implemented there are several great companies who can take your money and make your happy soon. Jukka Rahkonen Send money now!
  58. 58. http://geoserver.org/support/
  59. 59. Documentation Excellent documentation Jorge Sanz The difference between W*S and W*F
  60. 60. Documentation ● User Guide ● SLD Cookbook, CSS Cookbook, YSLD cookbook ● Developer Docs ● Tutorials ○ JNDI, WMS Animator, CQL, Image Mosaic, ...
  61. 61. Web Map Server (WMS) Easy to install and publish OGC Web Service (WMS, WFS,WCS) Bui Hong Son The ability to safely serve up data layers without the need for web repositories Mark Ismail Integrated WMS/WFS Phil Scadden WFS, WMS Bui Hong Son WFS, WMS, SqlServer database connection Roel De Nijs WMS and DB2 data store Christian Mueller CSS Styling (would be difficult to get staff trained on SLD - we are not IT experts) David Collins The OGC Standard people Use!
  62. 62. Web Map Server (WMS) WFS OGC Open Web Service ● GetCapabilities WMS Operations ● GetMap ● DescribeLayer ● GetFeatureInfo ● GetLegendGraphics ● GetStyles ● PutStyles GeoTools GetCapabilities getMap GIF
  63. 63. Styling languages ● Standard or easy, your choice SLD 1.0 SLD 1.1 CSS MB Style YSLD
  64. 64. SLD 1.0
  65. 65. SLD 1.1
  66. 66. SLD Named Layers (Style Groups)
  67. 67. Geo-CSS
  68. 68. YSLD MapBox GL name: style_example title: An example of YSLD styling abstract: Used in the User Manual of GeoServer feature-styles: - rules: - name: all title: Every feature will be styled this way symbolizers: - polygon: fill-color: '#808080' fill-opacity: 0.5 stroke-color: '#000000' stroke-opacity: 0.75 { "version": 8, "layers": [ { "id": "default_point", "type": "circle", "source": "test-source", "source-layer": "place_label", "layout": { "visibility": "visible" }, "paint": { "circle-color": "#FF0000", "circle-opacity": 1, "circle-radius": 6, "circle-stroke-opacity": 0, } } ] }
  69. 69. GeoServer handles dateline, projection limits, high accuracy projection grids, and so on Reproject with confidence Dateline wrap Cut on UTM Cut on polar stereographic
  70. 70. OSM like, atlas like? Yes sir! General interest maps IGN France Trimet
  71. 71. (GWC) GWC integration Phil Scadden Built in Tile caching Mark Ismail It is full of Tiles
  72. 72. ● Fast and easy with the integrated GeoWebCache ● WMTS, WMS-C, TMS, and MORE! Integrated tile caching
  73. 73. ECQL ECQL Phil Scadden
  74. 74. Extended Common Query Language A light weight “domain specific language”: ● CQL - is a standard from OGC Catalog ● E-CQL - extends this basic concept to do everything Filter can do
  75. 75. CQL Example POP_EST <= 5000000 AND POP_EST >100000
  76. 76. WFS Integrated WMS/WFS Phil Scadden Easy to install and publish OGC Web Service (WMS, WFS,WCS) Bui Hong Son WFS, WMS Bui Hong Son WFS, WMS, SqlServer database connection Roel De Nijs WFS-T and Oracle datastore Jukka Rahkonen Web UI and WFS working without any special config. Jorge Sanz
  77. 77. Web Feature Server (WFS) WFSGeoTools GetCapabilities DescribeFeatureType GetFeatures XSD GML OGC Open Web Service ● GetCapabilities WFS Compliant ● DescribeFeatureType ● GetFeatures WFS-T Compliant ● Transaction ● LockFeatures ● GetFeaturesWithLock
  78. 78. PostGIS Data sources that it can use (particularly ArcSDE, PostGIS) Phil ScaddenHow easy it was to connect to PostGIS. Ben Caradoc-Davies (We expected more here)
  79. 79. PostGIS GeoServer WMS/WFS Oracle PostGIS PostGIS ...
  80. 80. KML KML David Collins kmlscore system for KML (Allowed us to set up highly efficient public Google Earth system) David Collins
  81. 81. Just setup a map, GS will do the rest
  82. 82. Time travel enabled
  83. 83. Getting into the 3rd dimension
  84. 84. SQLServer WFS, WMS, SqlServer database connection Roel De Nijs SqlServer database connection Roel De Nijs
  85. 85. SQLServer GeoServer WMS/WFS PostGIS SQLServer SQLServer ...
  86. 86. WPS WPS Jorge Sanz ArcSDE, WPS Phil Scadden WPS with SLD rendering transformations (and chained with SQL views, incredibly flexible combination) Jorge Sanz
  87. 87. ● Analyze, publish, transform on the fly, access local data Integrated WPS
  88. 88. Rendering transformations Apply processes (from WPS) to your SLD for on-the-fly data transformation
  89. 89. GeoTools or GeoScript Processes @process( title='Buffer', description='Buffers a geometry', inputs={'geom': (Geometry, 'The geometry to buffer'), 'distance':(float,'The buffer distance')}, outputs={'result': (Geometry, 'The buffered geometry')} ) def run(geom, distance): return geom.buffer(distance);
  90. 90. DB2 WMS and DB2 data store Christian Mueller DB2 data store Christian Mueller
  91. 91. DB2 GeoServer WMS/WFS Oracle DB2 DB2 ...
  92. 92. App-Schema app-schema of course :) Ben Caradoc-Davies WFS featureMember Ben Caradoc-Davies OGC HTTP URI format for srsName Ben Caradoc-Davies Canonical schema location Ben Caradoc-Davies We have successfully mapped most of our site log data into the foreign GeodesyML schema using the App Schema extension for Geoserver Gavin Medley (Ben is a Huge Fan)
  93. 93. App Schema
  94. 94. WFS-T WFS-T and Oracle datastore Jukka Rahkonen The Original Super Power
  95. 95. Editing your data since 2003 WFS-T ArcSDE PostGIS Oracle Shapefile SQLServer ...
  96. 96. INSPIRE INSPIRE (helps to get around our problems with non-ISO-conforming metadata) Dr Christian Maul
  97. 97. INSPIRE <inspire_vs:ExtendedCapabilities> <inspire_common:MetadataUrl xsi:type="inspire_common:resourceLocatorType"> <inspire_common:URL/> <inspire_common:MediaType>application/vnd.iso.19139+xml</inspire_common:MediaType> </inspire_common:MetadataUrl> <inspire_common:SupportedLanguages xsi:type="inspire_common:supportedLanguagesType"> <inspire_common:DefaultLanguage> <inspire_common:Language>eng</inspire_common:Language> </inspire_common:DefaultLanguage> <inspire_common:SupportedLanguage> <inspire_common:Language>eng</inspire_common:Language> </inspire_common:SupportedLanguage> </inspire_common:SupportedLanguages> <inspire_common:ResponseLanguage> <inspire_common:Language>eng</inspire_common:Language> </inspire_common:ResponseLanguage> </inspire_vs:ExtendedCapabilities>
  98. 98. SQL Views WPS with SLD rendering transformations (and chained with SQL views, incredibly flexible combination) Jorge Sanz In App Views
  99. 99. SqlViews GeoServer WMS/WFS ... DB2 Any DB ... Run query as layer source
  100. 100. Parametric SQL Views GeoServer WMS/WFS ... DBMS Any DB ... Injectparamsfromrequest Run query as layer source
  101. 101. Multidimensional data Not of current extensions. NetCDF and cross-layer filtering loom large in the future. Phil Scadden NetCDF Dr Christian Maul Weather or not you are ready
  102. 102. Multidimensional data, in and out! ● Time, elevation in WMS/WCS
  103. 103. Multidimensional data formats GRIB
  104. 104. Temperature, currents, wind, pressure, time and elevation? We got you covered! Meteorology ready!
  105. 105. Security Web Service security standard Bui Hong Son authkey, should do this by myself Christian Mueller Stop or I will say Stop Again
  106. 106. Authentication and Authorization Fully pluggable!
  107. 107. Community OAuth Module ● Allows GeoServer authentication to be provided by OAuth ● Allows users to login with: ○ GeoNode ○ Google ○ Github ○ … add yours here, it’s pluggable ● Developed for integration with GeoNode
  108. 108. Question and Answer Thanks!

×