SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Processing Data In GeoServer
With WPS And SQL Views
Ing. Andrea Aime, GeoSolutions
Ing. Alessio Fabiani, GeoSolutions
FOSS4G-Europe 2014, Bremen
14th-17th July 2014
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Some historical perspective
 Year 2008:
 Publish maps on the net
 Nice styling, maybe time/elevation based selector, some
little extra filtering
 Maybe some editing, some PDF printing
 Year 2013:
 All of the above, but…
 We can hardly make a new application without some
data processing in it
WPS: some quick reminders
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Web Processing Service
 Wikipedia introduces OGC WPS as:
 [A service] designed to standardize the
way that GIS calculations are made
available to the Internet.
 WPS can describe any calculation
including all of its inputs and outputs,
and trigger its execution
 The specific processes served up by a WPS
implementation are defined by the owner of that
implementation.
 Although WPS was designed to work with spatially
referenced data, it can be used with any kind of data.
FOSS4G Europe 2014, Bremen
14th-17th July 2014
An Example
 Buffer a L shaped
geometry with
distance “2”
 Get the result back
as GML
FOSS4G Europe 2014, Bremen
14th-17th July 2014
GeoServer WPS integration
WPS
Remote
WCS
Remote
WFS
HTTP
server
WPS
client
All GeoServer
Layers
WMS
clientWMS
GeoServer
UI
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Rendering transformations
 On-the-fly data transformations inside rendering
chain
 Calling WPS processes from SLD docs
 Optimized for performance
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• GeoServer ships with lots of built-in processes
• Basic geometry manipulation
• Aggregation options missing from WFS
• Raster and vector clipping
• And more!
• Ability to chain processes to build more complex
functionality
• Open API to manage inputs and outputs
• See all of it at http://demo.geo-
solutions.it/share/foss4g2011/wps_aaime_foss4g20
11.pdf
More On GeoServer WPS
When the WPS does not cut it…
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• Never under-estimate the processing power of
your BDMS:
• Designed to efficiently juggle large quantities of data
• Efficient spatial primitives (at least, in PostGIS)
• Doesn’t get more local to your data than this!
• Passing params down?
• Parametric SQL views!
Spatial DBMS!
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Parametric SQL views
WMS/WFS client
GeoServer
Spatial database
&viewparams=low:2000000;high:5000000
Expanded Query
Enough theory
Let’s get down to business!
FAO Tuna Atlas
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Mapping Tuna Catches
• Multiple
Filtering
• Aggregation
• Joining
quartely
stats
against the
grid
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Filtering, joining and aggregation
Some example control regexps:
• Y_INTERV:
• Default: 1
• Regex: ^(d)+$
• OP
• Default: sum
• Regex: ^[avg|sum]$
SELECT (T.TS_VALUE / %Y_INTERV%) AS TS_VALUE,
T.CD_TA_OCEANAREA, G.GEOMETRY
FROM
(SELECT CD_TA_OCEANAREA,
OP%(TS_VALUE) AS TS_VALUE
FROM FIGIS.TS_FI_TA
WHERE FIC_ITEM IN (%FIC_ITEM%)
AND CD_GEAR IN (%CD_GEAR%)
AND YR_TA IN (%YR_TA%)
AND QTR_TA IN (%QTR_TA%)
GROUP BY CD_TA_OCEANAREA
) t
LEFT OUTER JOIN FIGIS_GIS.GRID_G5 g
ON T.CD_TA_OCEANAREA = g.CD_OAREA
ORDER BY T.CD_TA_OCEANAREA
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• Animator tool
• GetMap + variying parameters + frame control =>
animated GIF!
• http://docs.geoserver.org/stable/en/user/tutorials/animr
eflector.html
Animation
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• …/geoserver/wms/animate?request=GetMap&…
&format=image/gif;subtype=animated
&aparam=viewparams:YR_TA
&avalues=2000,2001,2002,2003,…
Animator
What’s the wheater like today?
FOSS4G Europe 2014, Bremen
14th-17th July 2014
The Situation
• MetOc data is extremely dynamic
• In-Situ sensors acquire data in near real-time
• Meteorological and Oceanographic model runs
multiple times a day
• Remote Sensing data is acquired at fast pace
• Meteo Radar data is acquired at fast pace
• Large amount of data is produced to model fast
changing environmental variables
• We must shorten to the small possible extent the
time and resources for preprocessing!
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Solutions: On-the-fly contouring
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Solutions: On-the-fly Wind-Barbs
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Solutions: On-the-fly Currents
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Solutions: On-the-fly Storm Tracks
Download services
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• New addition to the MapStore project
• Requirements
• Download large amounts of data
• Generic data filtering
• Clip on polygon/bbox/circle, both vector and raster
• Reproject to target CRS
• Mail notification when download is ready (or fails)
• Work in a cluster
• Solution: new WPS processes, asynch WPS calls
and WPS customization for state sharing
Advanced Clip and Ship
FOSS4G Europe 2014, Bremen
14th-17th July 2014
MapStore GUI
Buffer process called synchronously when buffer size
changes
FOSS4G Europe 2014, Bremen
14th-17th July 2014
MapStore GUI
Tracking download status (asynch WPS)
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Download service architecture
WPS
All GeoServer
Layers
MapStore
WMS
GetCapabilities
List of layers
Buffer
DownloadEstimator
Download
GetStatus
Fetch data
Status database
Store and
retrieve
status
Mail server
Custom
process
manager
Start/
Complete/
Failed
notifications
The CMRE-IDA Project
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• The Integrated Decision Aid (IDA) has been developed at the Centre for Maritime
Research and Experimentation (CMRE) in order to provide naval exercise
planners with an effective tool to assess risk to marine mammals from acoustic
transmissions.
• Assessment of potential hazard is performed through sound propagation
modeling available in the interface.
Intro
Sound
Propagation
Model
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Sound Propagation Model
• External Octave Matlab Process
• Logs the asynchronous process status to the DB
as a Feature
Octave Matlab Script
for SPM
WFS
Follows the process
status through the
WFSWFSLog
Process allows
to insert and
update the
status of SPM
into the DB
Dynamically builds an external Octave
command line using the input parameters
through a FreeMarker Template (FTL)
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• The list of model runs is
available on the bottom Data
Grid.
• It is possible to get
information on the
input parameters and
execution from
the WFS
Sound Propagation Model
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• Advanced Raster Algebra using Jiffle
• Wraps Jiffle (http://code.google.com/p/jiffle/) in order to
execute complex Raster Algebra scripts against the input
layers
Raster Algebra Processes
Jiffle is a scripting language for creating and analysing raster images. Rather than
having to write and test lots of JAI or Java AWT boiler-plate code to access and
manipulate images, Jiffle lets you concentrate on the interesting bit: your algorithm.
Jiffle is being developed as part of the JAITools project.
Update 16 January 2013: Jiffle sources have moved to GitHub
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• Advanced Raster Algebra using Jiffle
• Gets an OGC Filter containing logical operations between
raster layers and produces a binary light layer
Raster Algebra Processes
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• Raster Algebra detailed info
• Input parameters and outcomes are logged into WFS
• WPS Raster Stats Process provides statistics on the
coverages
Raster Algebra Processes
Raster
Statistics and
Area in sq Km
Raster Algebra
Process user
inputs
Script me plenty
An example using GeoScript
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Sample scripting application
http://localhost:8080/geoserver/www/wps.html
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Land property distrib. in the polygon
FOSS4G Europe 2014, Bremen
14th-17th July 2014
A look at the data dir
1. Data
2. WPS process scripted in Jython
3. The GUI
FOSS4G Europe 2014, Bremen
14th-17th July 2014
The Jython script
http://geoscript.org/py/index.html
The Destination Project
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• The Destination project computes
the risk of accidents involving
dangerous goods (chemicals,
petrol, gases and so on)
Intro
Road segments
and stats about
car accidents
Human and environmental «targets»
Involved area,
depending on
type of good and
amount of
damage
FOSS4G Europe 2014, Bremen
14th-17th July 2014
• Road network of good part of northern Italy
• Road divided into segments
• 100m portions (500k of them)
• 500m aggregation (120k of them)
• 1 km square cells (few hundreds)
• 51 buffer distances (depending on good,
scenario, level of damage)
• Several types of targets: schools, malls,
hospitals, populated areas, superficial and
underground acquifers, crops, woods, ….
Large Data Volume
FOSS4G Europe 2014, Bremen
14th-17th July 2014
The road arc risk formula (s)
• Adding togheter the risk caused by the different
• Arc own propension to accidentds
• Types of goods
• Human and enviromental targets
• The system allows to compute partial views of the
formula, either by selection of targets/goods or by
computing portions of it
• Has a number of coefficients that can be hand-
tuned by the caller
FOSS4G Europe 2014, Bremen
14th-17th July 2014
The results, visually
• Rendering
transformation
• Read the
arcs/polys from
the DB, compute
their risk based
on the chosen
formula,
scenario, targets,
and coefficients
FOSS4G Europe 2014, Bremen
14th-17th July 2014
How to compute it efficiently?
• Using SQL Views? No, the possible aggregations
variants are too many
• Using a pure Java process? No, too much data to
transfer from the DBMS
• Fully on the fly? No, too much data involved
•  Pre-compute all buffers and locate all involved
targets before hand (pre-cooked per buffer risk)
•  Use a process that builds a final aggregation
query on the fly (dynamic sql views)
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Efficient rendering tx
Risk
process
Queries
database
Arcs/Buffer
areas db
Map
renderer
Build overall
query, replace
params
Compute risk for
a batch of arcs
Raw arcs
Arcs + risk
• Compute risk
on the fly in
the viewing
area
• Batch
requests to
the BDMS to
minimize
round-trip
overhead
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Efficient cross layer filtering
• Show only targets
involved in the
scenario under
study, e.g., the ones
crossing the buffer
areas where there is
significant risk
• Limit query to the
current bbox
FOSS4G Europe 2014, Bremen
14th-17th July 2014
Efficient cross layer filtering
SELECT v_geo_popolazione_residente_pl.*
FROM v_geo_popolazione_residente_pl
WHERE v_geo_popolazione_residente_pl.fk_bersaglio_umano_pl in
(
SELECT distinct bersaglio.fk_bersaglio_umano_pl
FROM v_geo_popolazione_residente_pl bersaglio
join siig_geo_ln_arco_1 on
st_dwithin(bersaglio.geometria,
siig_geo_ln_arco_1.geometria,
%distanzaumano%)
WHERE siig_geo_ln_arco_1.geometria &&
st_makeenvelope(%bounds%, 32632)
)
• This is a job for a parametric sql view
FOSS4G Europe 2014, Bremen
14th-17th July 2014
The End
Questions?
andrea.aime@geo-solutions.it
simone.giannecchini@geo-solutions.it

Weitere ähnliche Inhalte

Andere mochten auch

Mapserver vs. geoserver
Mapserver vs. geoserverMapserver vs. geoserver
Mapserver vs. geoserver鸣 饶
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoSolutions
 
GeoScript - Spatial Capabilities for Scripting Languages
GeoScript - Spatial Capabilities for Scripting LanguagesGeoScript - Spatial Capabilities for Scripting Languages
GeoScript - Spatial Capabilities for Scripting LanguagesJustin Deoliveira
 
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...GeoSolutions
 
Web Processing Service
Web Processing ServiceWeb Processing Service
Web Processing ServiceGasperi Jerome
 
The status of the GeoServer WPS
The status of the GeoServer WPSThe status of the GeoServer WPS
The status of the GeoServer WPSGeoSolutions
 
デジタルフォレスト/マーケティンググループ 部長 有澤氏
デジタルフォレスト/マーケティンググループ 部長 有澤氏デジタルフォレスト/マーケティンググループ 部長 有澤氏
デジタルフォレスト/マーケティンググループ 部長 有澤氏loftwork
 
Cloud_mobile_gis_fieldwork_in AJG2012
Cloud_mobile_gis_fieldwork_in AJG2012Cloud_mobile_gis_fieldwork_in AJG2012
Cloud_mobile_gis_fieldwork_in AJG2012Takehiro Morimoto
 
Geospatial web development with GeoEXT
Geospatial web development with GeoEXTGeospatial web development with GeoEXT
Geospatial web development with GeoEXTAlberto Apellidos
 
GeoNetwork, The Open Source Solution for the interoperable management of ge...
GeoNetwork, The Open Source Solution  for the interoperable management  of ge...GeoNetwork, The Open Source Solution  for the interoperable management  of ge...
GeoNetwork, The Open Source Solution for the interoperable management of ge...GeoSolutions
 
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 SensingGeoSolutions
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application DevelopmentChristian Baranowski
 

Andere mochten auch (12)

Mapserver vs. geoserver
Mapserver vs. geoserverMapserver vs. geoserver
Mapserver vs. geoserver
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginners
 
GeoScript - Spatial Capabilities for Scripting Languages
GeoScript - Spatial Capabilities for Scripting LanguagesGeoScript - Spatial Capabilities for Scripting Languages
GeoScript - Spatial Capabilities for Scripting Languages
 
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...Raster data in GeoServer and GeoTools:  Achievements, issues and future devel...
Raster data in GeoServer and GeoTools: Achievements, issues and future devel...
 
Web Processing Service
Web Processing ServiceWeb Processing Service
Web Processing Service
 
The status of the GeoServer WPS
The status of the GeoServer WPSThe status of the GeoServer WPS
The status of the GeoServer WPS
 
デジタルフォレスト/マーケティンググループ 部長 有澤氏
デジタルフォレスト/マーケティンググループ 部長 有澤氏デジタルフォレスト/マーケティンググループ 部長 有澤氏
デジタルフォレスト/マーケティンググループ 部長 有澤氏
 
Cloud_mobile_gis_fieldwork_in AJG2012
Cloud_mobile_gis_fieldwork_in AJG2012Cloud_mobile_gis_fieldwork_in AJG2012
Cloud_mobile_gis_fieldwork_in AJG2012
 
Geospatial web development with GeoEXT
Geospatial web development with GeoEXTGeospatial web development with GeoEXT
Geospatial web development with GeoEXT
 
GeoNetwork, The Open Source Solution for the interoperable management of ge...
GeoNetwork, The Open Source Solution  for the interoperable management  of ge...GeoNetwork, The Open Source Solution  for the interoperable management  of ge...
GeoNetwork, The Open Source Solution for the interoperable management of ge...
 
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
 
OSGi and Spring Data for simple (Web) Application Development
OSGi and Spring Data  for simple (Web) Application DevelopmentOSGi and Spring Data  for simple (Web) Application Development
OSGi and Spring Data for simple (Web) Application Development
 

Mehr von GeoSolutions

MapStore 2 - The Story
MapStore 2 - The StoryMapStore 2 - The Story
MapStore 2 - The StoryGeoSolutions
 
One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodesGeoSolutions
 
Introduction to GeoNode
Introduction to GeoNodeIntroduction to GeoNode
Introduction to GeoNodeGeoSolutions
 
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...GeoSolutions
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZYGeoSolutions
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12GeoSolutions
 
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 ReactGeoSolutions
 
State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016State of GeoServer - FOSS4G 2016
State of GeoServer - FOSS4G 2016GeoSolutions
 
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 stylesGeoSolutions
 
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...GeoSolutions
 
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 2017GeoSolutions
 
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!GeoSolutions
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015GeoSolutions
 
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
 
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 2015GeoSolutions
 
GeoServer on Steroids
GeoServer on Steroids GeoServer on Steroids
GeoServer on Steroids GeoSolutions
 
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...GeoSolutions
 
Advanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServerAdvanced Cartographic Map Rendering in GeoServer
Advanced Cartographic Map Rendering in GeoServerGeoSolutions
 
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...GeoSolutions
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions
 

Mehr von 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...
 
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
 
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!
 
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
 
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...
 
GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015GeoSolutions Keynote at WebMGS 2015
GeoSolutions Keynote at WebMGS 2015
 

Kürzlich hochgeladen

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
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?Igalia
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Kürzlich hochgeladen (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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?
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Processing data in GeoServer with WPS and SQL views

  • 1. Processing Data In GeoServer With WPS And SQL Views Ing. Andrea Aime, GeoSolutions Ing. Alessio Fabiani, GeoSolutions FOSS4G-Europe 2014, Bremen 14th-17th July 2014
  • 2. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Some historical perspective  Year 2008:  Publish maps on the net  Nice styling, maybe time/elevation based selector, some little extra filtering  Maybe some editing, some PDF printing  Year 2013:  All of the above, but…  We can hardly make a new application without some data processing in it
  • 3. WPS: some quick reminders
  • 4. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Web Processing Service  Wikipedia introduces OGC WPS as:  [A service] designed to standardize the way that GIS calculations are made available to the Internet.  WPS can describe any calculation including all of its inputs and outputs, and trigger its execution  The specific processes served up by a WPS implementation are defined by the owner of that implementation.  Although WPS was designed to work with spatially referenced data, it can be used with any kind of data.
  • 5. FOSS4G Europe 2014, Bremen 14th-17th July 2014 An Example  Buffer a L shaped geometry with distance “2”  Get the result back as GML
  • 6. FOSS4G Europe 2014, Bremen 14th-17th July 2014 GeoServer WPS integration WPS Remote WCS Remote WFS HTTP server WPS client All GeoServer Layers WMS clientWMS GeoServer UI
  • 7. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Rendering transformations  On-the-fly data transformations inside rendering chain  Calling WPS processes from SLD docs  Optimized for performance
  • 8. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • GeoServer ships with lots of built-in processes • Basic geometry manipulation • Aggregation options missing from WFS • Raster and vector clipping • And more! • Ability to chain processes to build more complex functionality • Open API to manage inputs and outputs • See all of it at http://demo.geo- solutions.it/share/foss4g2011/wps_aaime_foss4g20 11.pdf More On GeoServer WPS
  • 9. When the WPS does not cut it…
  • 10. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • Never under-estimate the processing power of your BDMS: • Designed to efficiently juggle large quantities of data • Efficient spatial primitives (at least, in PostGIS) • Doesn’t get more local to your data than this! • Passing params down? • Parametric SQL views! Spatial DBMS!
  • 11. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Parametric SQL views WMS/WFS client GeoServer Spatial database &viewparams=low:2000000;high:5000000 Expanded Query
  • 12. Enough theory Let’s get down to business!
  • 14. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Mapping Tuna Catches • Multiple Filtering • Aggregation • Joining quartely stats against the grid
  • 15. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Filtering, joining and aggregation Some example control regexps: • Y_INTERV: • Default: 1 • Regex: ^(d)+$ • OP • Default: sum • Regex: ^[avg|sum]$ SELECT (T.TS_VALUE / %Y_INTERV%) AS TS_VALUE, T.CD_TA_OCEANAREA, G.GEOMETRY FROM (SELECT CD_TA_OCEANAREA, OP%(TS_VALUE) AS TS_VALUE FROM FIGIS.TS_FI_TA WHERE FIC_ITEM IN (%FIC_ITEM%) AND CD_GEAR IN (%CD_GEAR%) AND YR_TA IN (%YR_TA%) AND QTR_TA IN (%QTR_TA%) GROUP BY CD_TA_OCEANAREA ) t LEFT OUTER JOIN FIGIS_GIS.GRID_G5 g ON T.CD_TA_OCEANAREA = g.CD_OAREA ORDER BY T.CD_TA_OCEANAREA
  • 16. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • Animator tool • GetMap + variying parameters + frame control => animated GIF! • http://docs.geoserver.org/stable/en/user/tutorials/animr eflector.html Animation
  • 17. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • …/geoserver/wms/animate?request=GetMap&… &format=image/gif;subtype=animated &aparam=viewparams:YR_TA &avalues=2000,2001,2002,2003,… Animator
  • 18. What’s the wheater like today?
  • 19. FOSS4G Europe 2014, Bremen 14th-17th July 2014 The Situation • MetOc data is extremely dynamic • In-Situ sensors acquire data in near real-time • Meteorological and Oceanographic model runs multiple times a day • Remote Sensing data is acquired at fast pace • Meteo Radar data is acquired at fast pace • Large amount of data is produced to model fast changing environmental variables • We must shorten to the small possible extent the time and resources for preprocessing!
  • 20. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Solutions: On-the-fly contouring
  • 21. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Solutions: On-the-fly Wind-Barbs
  • 22. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Solutions: On-the-fly Currents
  • 23. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Solutions: On-the-fly Storm Tracks
  • 25. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • New addition to the MapStore project • Requirements • Download large amounts of data • Generic data filtering • Clip on polygon/bbox/circle, both vector and raster • Reproject to target CRS • Mail notification when download is ready (or fails) • Work in a cluster • Solution: new WPS processes, asynch WPS calls and WPS customization for state sharing Advanced Clip and Ship
  • 26. FOSS4G Europe 2014, Bremen 14th-17th July 2014 MapStore GUI Buffer process called synchronously when buffer size changes
  • 27. FOSS4G Europe 2014, Bremen 14th-17th July 2014 MapStore GUI Tracking download status (asynch WPS)
  • 28. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Download service architecture WPS All GeoServer Layers MapStore WMS GetCapabilities List of layers Buffer DownloadEstimator Download GetStatus Fetch data Status database Store and retrieve status Mail server Custom process manager Start/ Complete/ Failed notifications
  • 30. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • The Integrated Decision Aid (IDA) has been developed at the Centre for Maritime Research and Experimentation (CMRE) in order to provide naval exercise planners with an effective tool to assess risk to marine mammals from acoustic transmissions. • Assessment of potential hazard is performed through sound propagation modeling available in the interface. Intro Sound Propagation Model
  • 31. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Sound Propagation Model • External Octave Matlab Process • Logs the asynchronous process status to the DB as a Feature Octave Matlab Script for SPM WFS Follows the process status through the WFSWFSLog Process allows to insert and update the status of SPM into the DB Dynamically builds an external Octave command line using the input parameters through a FreeMarker Template (FTL)
  • 32. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • The list of model runs is available on the bottom Data Grid. • It is possible to get information on the input parameters and execution from the WFS Sound Propagation Model
  • 33. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • Advanced Raster Algebra using Jiffle • Wraps Jiffle (http://code.google.com/p/jiffle/) in order to execute complex Raster Algebra scripts against the input layers Raster Algebra Processes Jiffle is a scripting language for creating and analysing raster images. Rather than having to write and test lots of JAI or Java AWT boiler-plate code to access and manipulate images, Jiffle lets you concentrate on the interesting bit: your algorithm. Jiffle is being developed as part of the JAITools project. Update 16 January 2013: Jiffle sources have moved to GitHub
  • 34. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • Advanced Raster Algebra using Jiffle • Gets an OGC Filter containing logical operations between raster layers and produces a binary light layer Raster Algebra Processes
  • 35. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • Raster Algebra detailed info • Input parameters and outcomes are logged into WFS • WPS Raster Stats Process provides statistics on the coverages Raster Algebra Processes Raster Statistics and Area in sq Km Raster Algebra Process user inputs
  • 36. Script me plenty An example using GeoScript
  • 37. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Sample scripting application http://localhost:8080/geoserver/www/wps.html
  • 38. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Land property distrib. in the polygon
  • 39. FOSS4G Europe 2014, Bremen 14th-17th July 2014 A look at the data dir 1. Data 2. WPS process scripted in Jython 3. The GUI
  • 40. FOSS4G Europe 2014, Bremen 14th-17th July 2014 The Jython script http://geoscript.org/py/index.html
  • 42. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • The Destination project computes the risk of accidents involving dangerous goods (chemicals, petrol, gases and so on) Intro Road segments and stats about car accidents Human and environmental «targets» Involved area, depending on type of good and amount of damage
  • 43. FOSS4G Europe 2014, Bremen 14th-17th July 2014 • Road network of good part of northern Italy • Road divided into segments • 100m portions (500k of them) • 500m aggregation (120k of them) • 1 km square cells (few hundreds) • 51 buffer distances (depending on good, scenario, level of damage) • Several types of targets: schools, malls, hospitals, populated areas, superficial and underground acquifers, crops, woods, …. Large Data Volume
  • 44. FOSS4G Europe 2014, Bremen 14th-17th July 2014 The road arc risk formula (s) • Adding togheter the risk caused by the different • Arc own propension to accidentds • Types of goods • Human and enviromental targets • The system allows to compute partial views of the formula, either by selection of targets/goods or by computing portions of it • Has a number of coefficients that can be hand- tuned by the caller
  • 45. FOSS4G Europe 2014, Bremen 14th-17th July 2014 The results, visually • Rendering transformation • Read the arcs/polys from the DB, compute their risk based on the chosen formula, scenario, targets, and coefficients
  • 46. FOSS4G Europe 2014, Bremen 14th-17th July 2014 How to compute it efficiently? • Using SQL Views? No, the possible aggregations variants are too many • Using a pure Java process? No, too much data to transfer from the DBMS • Fully on the fly? No, too much data involved •  Pre-compute all buffers and locate all involved targets before hand (pre-cooked per buffer risk) •  Use a process that builds a final aggregation query on the fly (dynamic sql views)
  • 47. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Efficient rendering tx Risk process Queries database Arcs/Buffer areas db Map renderer Build overall query, replace params Compute risk for a batch of arcs Raw arcs Arcs + risk • Compute risk on the fly in the viewing area • Batch requests to the BDMS to minimize round-trip overhead
  • 48. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Efficient cross layer filtering • Show only targets involved in the scenario under study, e.g., the ones crossing the buffer areas where there is significant risk • Limit query to the current bbox
  • 49. FOSS4G Europe 2014, Bremen 14th-17th July 2014 Efficient cross layer filtering SELECT v_geo_popolazione_residente_pl.* FROM v_geo_popolazione_residente_pl WHERE v_geo_popolazione_residente_pl.fk_bersaglio_umano_pl in ( SELECT distinct bersaglio.fk_bersaglio_umano_pl FROM v_geo_popolazione_residente_pl bersaglio join siig_geo_ln_arco_1 on st_dwithin(bersaglio.geometria, siig_geo_ln_arco_1.geometria, %distanzaumano%) WHERE siig_geo_ln_arco_1.geometria && st_makeenvelope(%bounds%, 32632) ) • This is a job for a parametric sql view
  • 50. FOSS4G Europe 2014, Bremen 14th-17th July 2014 The End Questions? andrea.aime@geo-solutions.it simone.giannecchini@geo-solutions.it