SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
The State of GeoServer




          Andrea Aime GeoSolutions
         Justin Deoliveira Opengeo
Project Activity
Project Activity
Project Activity
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 Support




1: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="http://www.opengeospatial.org/se/units/metre">
  <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 Reprojection

Piecewise linear
approximation
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 Pyramids
Automatically:
 ● 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
   ○ http://bit.ly/qJcZBi
   ○ http://bit.ly/oe0CHo
● 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 Display




EPSG:32612, UTM 12N




   EPSG:32614, UTM 14N
Web UI
             Legend preview




Log 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 IV




Equidistant 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 caching




Disk 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 Views
Layers from SQL

           request=GetMap
             &layers=continents
             &viewparams=region:2
Virtual Services
Service 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
What's 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! It's trivia time.

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


            ?

Contenu connexe

Tendances

Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Henrik Ingo
 

Tendances (20)

GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...
 
GfossDAY2011 GeoServer Presentation
GfossDAY2011 GeoServer PresentationGfossDAY2011 GeoServer Presentation
GfossDAY2011 GeoServer Presentation
 
Overview of MassGIS Web Mapping Services
Overview of MassGIS Web Mapping ServicesOverview of MassGIS Web Mapping Services
Overview of MassGIS Web Mapping Services
 
GeoServer presentation @ Italian GFOSS day 2008
GeoServer presentation @ Italian GFOSS day 2008GeoServer presentation @ Italian GFOSS day 2008
GeoServer presentation @ Italian GFOSS day 2008
 
WMS Performance Shootout 2009
WMS Performance Shootout 2009WMS Performance Shootout 2009
WMS Performance Shootout 2009
 
GFOSS Day 2012 GeoServer Presentation
GFOSS Day 2012 GeoServer PresentationGFOSS Day 2012 GeoServer Presentation
GFOSS Day 2012 GeoServer Presentation
 
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...Enterprise class deployment  for GeoServer and GeoWebcache Optimizing perform...
Enterprise class deployment for GeoServer and GeoWebcache Optimizing perform...
 
MapServer #ProTips 2015
MapServer #ProTips 2015MapServer #ProTips 2015
MapServer #ProTips 2015
 
WMS Performance Shootout 2010
WMS Performance Shootout 2010WMS Performance Shootout 2010
WMS Performance Shootout 2010
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011
 
OSM data in MariaDB / MySQL - All the world in a few large tables
OSM data in MariaDB / MySQL - All the world in a few large tablesOSM data in MariaDB / MySQL - All the world in a few large tables
OSM data in MariaDB / MySQL - All the world in a few large tables
 
GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginners
 
MySQL and GIS Programming
MySQL and GIS ProgrammingMySQL and GIS Programming
MySQL and GIS Programming
 
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
 
FOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRaster
FOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRasterFOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRaster
FOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRaster
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer Presentation
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginners
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015
 
Osgis 2010
Osgis 2010Osgis 2010
Osgis 2010
 

Similaire à The State of the GeoServer project

Handling 20 billion requests a month
Handling 20 billion requests a monthHandling 20 billion requests a month
Handling 20 billion requests a month
Dmitriy Dumanskiy
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB
 

Similaire à The State of the GeoServer project (20)

State of GeoServer 2012
State of GeoServer 2012State of GeoServer 2012
State of GeoServer 2012
 
The State of GeoServer
The State of GeoServerThe State of GeoServer
The State of GeoServer
 
SOLR Power FTW: short version
SOLR Power FTW: short versionSOLR Power FTW: short version
SOLR Power FTW: short version
 
Tweaking performance on high-load projects
Tweaking performance on high-load projectsTweaking performance on high-load projects
Tweaking performance on high-load projects
 
Profiling Mondrian MDX Requests in a Production Environment
Profiling Mondrian MDX Requests in a Production EnvironmentProfiling Mondrian MDX Requests in a Production Environment
Profiling Mondrian MDX Requests in a Production Environment
 
Solr Power FTW: Powering NoSQL the World Over
Solr Power FTW: Powering NoSQL the World OverSolr Power FTW: Powering NoSQL the World Over
Solr Power FTW: Powering NoSQL the World Over
 
Tweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский ДмитрийTweaking perfomance on high-load projects_Думанский Дмитрий
Tweaking perfomance on high-load projects_Думанский Дмитрий
 
Handling 20 billion requests a month
Handling 20 billion requests a monthHandling 20 billion requests a month
Handling 20 billion requests a month
 
Event Sourcing - what could possibly go wrong?
Event Sourcing - what could possibly go wrong?Event Sourcing - what could possibly go wrong?
Event Sourcing - what could possibly go wrong?
 
What’s New in MariaDB Server 10.2
What’s New in MariaDB Server 10.2What’s New in MariaDB Server 10.2
What’s New in MariaDB Server 10.2
 
Unleashing your Kafka Streams Application Metrics!
Unleashing your Kafka Streams Application Metrics!Unleashing your Kafka Streams Application Metrics!
Unleashing your Kafka Streams Application Metrics!
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor Management
 
web performance explained to network and infrastructure experts
web performance explained to network and infrastructure expertsweb performance explained to network and infrastructure experts
web performance explained to network and infrastructure experts
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
 
Geoint2017 training open interfaces - luis bermudez
Geoint2017 training   open interfaces - luis bermudezGeoint2017 training   open interfaces - luis bermudez
Geoint2017 training open interfaces - luis bermudez
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
 
Analyzing the Performance of Mobile Web
Analyzing the Performance of Mobile WebAnalyzing the Performance of Mobile Web
Analyzing the Performance of Mobile Web
 
Exploring Relay land
Exploring Relay landExploring Relay land
Exploring Relay land
 
RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]
 

Plus de GeoSolutions

MapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactMapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and React
GeoSolutions
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesCreating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
GeoSolutions
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
GeoSolutions
 
Advanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServerAdvanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServer
GeoSolutions
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015
GeoSolutions
 

Plus de GeoSolutions (20)

MapStore 2 - The Story
MapStore 2 - The StoryMapStore 2 - The Story
MapStore 2 - The Story
 
One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodes
 
Introduction to GeoNode
Introduction to GeoNodeIntroduction to GeoNode
Introduction to GeoNode
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZY
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12
 
MapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and ReactMapStore 2, modern mashups with OL3, Leaflet and React
MapStore 2, modern mashups with OL3, Leaflet and React
 
State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesCreating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
 
Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!GeoServer in Production: we do it, here is how!
GeoServer in Production: we do it, here is how!
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
 
Mapping the world beyond web mercator - FOSS4G 2015
Mapping the world beyond web mercator - FOSS4G 2015Mapping the world beyond web mercator - FOSS4G 2015
Mapping the world beyond web mercator - FOSS4G 2015
 
GeoServer on Steroids
GeoServer on Steroids GeoServer on Steroids
GeoServer on Steroids
 
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
 
Advanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServerAdvanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServer
 
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote SensingSpatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

The State of the GeoServer project

  • 1. The State of GeoServer Andrea Aime GeoSolutions Justin Deoliveira Opengeo
  • 12. Two Years in Review
  • 14. Advanced Projection Handling Dateline wrapping (Plate Caree, Mercator) Cut polygons to valid area (Mercator, Transverse Mercator, Polar)
  • 15. 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>
  • 16. 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
  • 17. 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>
  • 18. 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
  • 19. Unit of Measure Support 1:20K 1:10K 1:5K
  • 20. 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
  • 21. Unit of Measure Support <Rule> <LineSymbolizer uom="http://www.opengeospatial.org/se/units/metre"> <Stroke> <CssParameter name="stroke-width"> <ogc:Literal>5</ogc:Literal> </CssParameter> </Stroke> </LineSymbolizer> </Rule> 1:20K 1:10K 1:5K
  • 22. 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>
  • 23. And More Rendering ● Point label displacement ● DPI scaling ● Faster Recode/Categorize ● Performance
  • 25. Faster Raster Reprojection Piecewise linear approximation
  • 28. 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
  • 29. Automatic Image Pyramids Automatically: ● recognize gdal_retile structure ● building mosaic index
  • 30. 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
  • 31. Direct Raster Rendering Path ● Hit JAVA2D Bottleneck – Scalability Issue ○ http://bit.ly/qJcZBi ○ http://bit.ly/oe0CHo ● 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
  • 32. And More Raster ● Oracle GeoRaster ● JPEG 2K improvements ● More Concurrency ● Simplified/Shrunk Raster Operation Chains
  • 34. Web UI CRS Area of Validity Display EPSG:32612, UTM 12N EPSG:32614, UTM 14N
  • 35. Web UI Legend preview Log viewer
  • 36. Web UI Graphical file chooser
  • 37. Application Schema Support ● Recent development by CSIRO ● Full extension status ● Feature chaining, polymorphism ● Better performance, memory use ● GML 3.2, WMS (beta)
  • 38. Projections Robinson Mollweide Winkel Tripel Eckert IV Equidistant conic
  • 41. 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
  • 42. 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
  • 43. Animation ...&request=GetMap &format=image/gif;subtype=animated &aparam=bbox &avalues=-180,0,0,90, -165,0,14,90...
  • 45. GeoWebCache Transparent caching Disk usage control
  • 46. And More WMS ● WMS 1.3 ● SE 1.1 / SLD 1.1 ● SLD GetStyles
  • 51. Web Processing Service Full extension status Lots of new processes
  • 54. SQL Views Layers from SQL request=GetMap &layers=continents &viewparams=region:2
  • 55. Virtual Services Service and catalog views per workspace
  • 56. 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
  • 59. 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>
  • 63. On the Horizon ● WFS 2.0 ● DBconfig - Catalog and config in a database ● Scripting - Python, JavaScript, Scala, Groovy (GeoScript) ● GSS / GeoGit
  • 65. Oh Wait! It's trivia time. What was the original name of the organization that founded GeoServer? ?