SlideShare una empresa de Scribd logo
1 de 60
Ing. Andrea Aime
Ing. Simone Giannecchini
GeoSolutions
Processing Data In GeoServer
With WPS And SQL Views
GeoSolutions
 Founded in Italy in late 2006
 Expertise
• Image Processing, GeoSpatial Data Fusion
• Java, Java Enterprise, C++, Python
• JPEG2000, JPIP, Advanced 2D visualization
 Supporting/Developing FOSS4G projects
 GeoServer, MapStore
 GeoNetwork, GeoNode, Ckan
 Clients
 Public Agencies
 Private Companies
 http://www.geo-solutions.it
FOSS4G 2016, Bonn
22nd - 26th August 2016
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
 Since 2013:
 All of the above, but…
 We can hardly make a new application without
some data processing in it
FOSS4G 2016, Bonn
22nd - 26th August 2016
WPS: some quick reminders
FOSS4G 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
An Example
 Buffer a L shaped
geometry with
distance “2”
 Get the result back
as GML
FOSS4G 2016, Bonn
22nd - 26th August 2016
Synchronous vs asynchronous
WPS
client
WPS
Launch
process
Send back
results
Simple
Suitable for fast executions
Synchronous
WPS
client
WPS
Launch process
Status URL
Check progress
50%
Check progress
100%
Results inline
Link to results
More complex
Suitable for longer computations
Asynchronous
FOSS4G 2016, Bonn
22nd - 26th August 2016
Common WPS setup
WPS
Remote
WCS
Remote
WFS
HTTP
server
WPS
client
Request
+
data or links to data
Result
data
Fetch
data
FOSS4G 2016, Bonn
22nd - 26th August 2016
GeoServer WPS integration
WPS
Remote
WCS
Remote
WFS
HTTP
server
WPS
client
All GeoServer
Layers
WMS
clientWMS
GeoServer
UI
FOSS4G 2016, Bonn
22nd - 26th August 2016
Demo request builder
 List processes
 Describe
 Set parameters and
execute
 All in one form
FOSS4G 2016, Bonn
22nd - 26th August 2016
Rendering transformations
 On-the-fly data transformations inside rendering
chain
 Calling WPS processes from SLD docs
 Optimized for performance
FOSS4G 2016, Bonn
22nd - 26th August 2016
Let’s take one step back…
you don’t always need a WPS
Spatial DBMS!
• 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!
FOSS4G 2016, Bonn
22nd - 26th August 2016
Parametric SQL views
WMS/WFS client
GeoServer
Spatial database
&viewparams=from:2000000;high:5000000
Expanded Query
FOSS4G 2016, Bonn
22nd - 26th August 2016
Parametric SQL views
FOSS4G 2016, Bonn
22nd - 26th August 2016
SELECT Date_part('year'::text, t1.obs_datetime) AS obs_year,
t1.storm_num, t1.storm_name,
t1.wind, t2.wind AS wind_end,
t1.press, t2.press AS press_end,
t1.obs_datetime, t2.obs_datetime AS obs_datetime_end,
St_makeline(t1.geom, t2.geom) AS geom
FROM storm_obs t1
join(SELECT storm_obs.id,
storm_obs.storm_num, storm_obs.storm_name,
storm_obs.wind, storm_obs.press,
storm_obs.obs_datetime,
storm_obs.geom FROM storm_obs) t2
ON(t1.obs_datetime + '06:00:00'::interval) = t2.obs_datetime
AND t1.storm_name::text = t2.storm_name::text
WHERE Date_part('year'::text, t1.obs_datetime)
BETWEEN %min_obs_year% AND %max_obs_year%
ORDER BY Date_part('year'::text, t1.obs_datetime),
t1.storm_num,
t1.obs_datetime
• Building lines of the fly from point data:
Enough theory
Let’s get down to business!
Pure local WPS: Soil Monitor
Soil Monitor
• Computing Soil Monitor Indeces at country level
• Soil Sealing
• Change Matrix
• GeoServer as the W*S Server
• MapStore as the mapping Front-End
• Webmapping and WPS Orchestration
• Charting
• GPU processing wrapper as WPS Processes
• JCuda
• Custom code to bridge between
GeoServer/GeoTools and Cuda
• Direct Ingestion of the resulting raster data
• Raster Algebra as rendering transformation using
Jiffle
http://www.soilmonitor.it/
FOSS4G 2016, Bonn
22nd - 26th August 2016
https://github.com/mbedward/jiffle
Soil sealing algorithm
FOSS4G 2016, Bonn
22nd - 26th August 2016
Change matrix results
FOSS4G 2016, Bonn
22nd - 26th August 2016
Charting what changed
FOSS4G 2016, Bonn
22nd - 26th August 2016
Tracking running processes
FOSS4G 2016, Bonn
22nd - 26th August 2016
Pure SQL views: Tuna Atlas
Mapping Tuna Catches
• Multiple Filtering
• Aggregation
• Joining quartely
stats against the
grid
FOSS4G 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
Animation
• Animator tool
• GetMap + variying parameters + frame control
=> animated GIF!
• http://docs.geoserver.org/stable/en/user/tutoria
ls/animreflector.html
FOSS4G 2016, Bonn
22nd - 26th August 2016
Animator
• …/geoserver/wms/animate?request=GetMap&…
&format=image/gif;subtype=animated
&aparam=viewparams:YR_TA
&avalues=2000,2001,2002,2003,…
FOSS4G 2016, Bonn
22nd - 26th August 2016
Compunding WFS/WCS deficiencies:
Download services
Advanced Clip and Ship
• Community WPS module plus MapStore UI
• Requirements
• Download large amounts of data
• Generic data filtering
• Clip on polygon/bbox/circle, both vector and
raster
• Reproject to target CRS
• Band selection in raster
• Work in a cluster
• Solution: new WPS processes, asynch WPS
call
FOSS4G 2016, Bonn
22nd - 26th August 2016
MapStore GUI
Buffer process called synchronously when buffer size
changes
FOSS4G 2016, Bonn
22nd - 26th August 2016
MapStore GUI
Tracking download status (asynch WPS)
FOSS4G 2016, Bonn
22nd - 26th August 2016
Download service architecture
WPS
GeoServer
Layers
MapStore WMS
GetCapabilities
List of layers
Buffer
DownloadEstimator
Download
GetStatus
Fetch data
Status
database
Shared
Hazelcast/DBMS
database
FOSS4G 2016, Bonn
22nd - 26th August 2016
Pure WPS
calling to other computing nodes:
WPS Remote
WPS Remote
• Use GeoServer as WPS Broker  Run Remote
Processes Asynchronously
• Support Python or command line tools
• Relies on XMPP for discovery and
messaging/logging
• Supports Dismiss and basic load balancing for
different executors
• Automagic results ingestion in GeoServer
FOSS4G 2016, Bonn
22nd - 26th August 2016
WPS Remote
FOSS4G 2016, Bonn
22nd - 26th August 2016
WPS Remote
FOSS4G 2016, Bonn
22nd - 26th August 2016
WPS Remote
FOSS4G 2016, Bonn
22nd - 26th August 2016
WPS Remote
FOSS4G 2016, Bonn
22nd - 26th August 2016
WPS Remote  Change Detection
FOSS4G 2016, Bonn
22nd - 26th August 2016
Mixing parametric SQL views and WPS:
The Destination Project
Intro
Computing the risk of road accidents involving
dangerous goods (chemicals, petrol, gases and so
on)
Road segments
and stats about
car accidents
Human and environmental «targets»
Involved area,
depending on
type of good and
amount of
damage
FOSS4G 2016, Bonn
22nd - 26th August 2016
Large Data Volume
• 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, ….
FOSS4G 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
Parametric queries on steroids
• Find which queries are needed, replace params
• Some queries have sub-queries as params
FOSS4G 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
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 2016, Bonn
22nd - 26th August 2016
Efficient computation of multi-buffers
• Computing 51 buffers
around each of 500k
arcs…
• Slow!
• Buffering over the
previous buffer proved
to be much faster than
computing each buffer
from the original arc
• Custom multibuffer
process
FOSS4G 2016, Bonn
22nd - 26th August 2016
The CMRE-IDA Project
Intro
• 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.
Sound
Propagation
Model
FOSS4G 2016, Bonn
22nd - 26th August 2016
Sound Propagation Model
• External Octave Matlab Process
• Logs the asynchrouns 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 2016, Bonn
22nd - 26th August 2016
Sound Propagation Model
• 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
FOSS4G 2016, Bonn
22nd - 26th August 2016
Raster Algebra Processes
• Simple Raster Algebra
• Gets an OGC Filter containing logical operations
between raster layers and produces a binary (0/1) layer
FOSS4G 2016, Bonn
22nd - 26th August 2016
Raster Algebra Processes
• 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
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 2016, Bonn
22nd - 26th August 2016
Raster Algebra Processes
• Advanced Raster Algebra using Jiffle
• Gets an OGC Filter containing logical operations
between raster layers and produces a binary light layer
FOSS4G 2016, Bonn
22nd - 26th August 2016
Raster Algebra Processes
• Raster Algebra detailed info
• Input parameters and outcomes are logged into WFS
• WPS Raster Stats Process provides statistics on the
coverages
Raster
Statistics and
Area in sq Km
Raster Algebra
Process user
inputs
FOSS4G 2016, Bonn
22nd - 26th August 2016
Utility Processes
• WPS Raster Stats process
• WPS Temp Cleaner async process
The WPS Raster Stats process can
be invoked at run-time.
It computes the Raster Stats on the
current viewport area.
A cleaner process has been created to
cleanup all the IDA temporary files.
Is invoked asynchronously and makes use
of the IDA config parameters.
Also a WFS Delete Transaction listener is
available cleaning up all the input and
temp files when removing a row from the
Data Grid.
FOSS4G 2016, Bonn
22nd - 26th August 2016
The End
Questions?
andrea.aime@geo-solutions.it
simone.giannecchini@geo-solutions.it
FOSS4G 2016, Bonn
22nd - 26th August 2016

Más contenido relacionado

La actualidad más candente

One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodesGeoSolutions
 
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판BJ Jang
 
공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정BJ Jang
 
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
 
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기MinPa Lee
 
공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재JungHwan Yun
 
Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGISmleslie
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초 slhead1
 
오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초HaNJiN Lee
 
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
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습HaNJiN Lee
 
Advanced GeoServer Security with GeoFence
Advanced GeoServer Security with GeoFenceAdvanced GeoServer Security with GeoFence
Advanced GeoServer Security with GeoFenceGeoSolutions
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례BJ Jang
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...GeoSolutions
 
오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용SANGHEE SHIN
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoSolutions
 
PostGIS and Spatial SQL
PostGIS and Spatial SQLPostGIS and Spatial SQL
PostGIS and Spatial SQLTodd Barr
 
GIS User to Web-GIS Developer Journey
GIS User to Web-GIS Developer JourneyGIS User to Web-GIS Developer Journey
GIS User to Web-GIS Developer JourneyTek Kshetri
 

La actualidad más candente (20)

One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodes
 
GeoServer 기초
GeoServer 기초GeoServer 기초
GeoServer 기초
 
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
 
공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정
 
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
 
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
[FOSS4G Korea 2017] uDig GIS 효율적으로 활용하기
 
공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재
 
Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGIS
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
 
오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초
 
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...
 
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습 공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
공간정보 거점대학 - OpenLayers의 고급 기능 이해 및 실습
 
Advanced GeoServer Security with GeoFence
Advanced GeoServer Security with GeoFenceAdvanced GeoServer Security with GeoFence
Advanced GeoServer Security with GeoFence
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...
 
오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용오픈소스GIS의 이해와 활용
오픈소스GIS의 이해와 활용
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginners
 
Why geoserver
Why geoserverWhy geoserver
Why geoserver
 
PostGIS and Spatial SQL
PostGIS and Spatial SQLPostGIS and Spatial SQL
PostGIS and Spatial SQL
 
GIS User to Web-GIS Developer Journey
GIS User to Web-GIS Developer JourneyGIS User to Web-GIS Developer Journey
GIS User to Web-GIS Developer Journey
 

Similar a Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Processes And SQL Views - FOSS4G 2016

SmartMet Server OSGeo
SmartMet Server OSGeoSmartMet Server OSGeo
SmartMet Server OSGeoRoope Tervo
 
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQNode.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQJoshua Miller
 
Introducing Neo4j 3.0
Introducing Neo4j 3.0Introducing Neo4j 3.0
Introducing Neo4j 3.0Neo4j
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQiCiDIGITAL
 
WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0
WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0
WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0WSO2
 
Data to Insight: Introduction to WSO2 Business Activity Monitor
Data to Insight: Introduction to WSO2 Business Activity MonitorData to Insight: Introduction to WSO2 Business Activity Monitor
Data to Insight: Introduction to WSO2 Business Activity MonitorWSO2
 
Building a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakBuilding a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakHakka Labs
 
Azure Web Application Fundamentals
Azure Web Application FundamentalsAzure Web Application Fundamentals
Azure Web Application FundamentalsMaik van der Gaag
 
Analytics Metrics Delivery & ML Feature Visualization
Analytics Metrics Delivery & ML Feature VisualizationAnalytics Metrics Delivery & ML Feature Visualization
Analytics Metrics Delivery & ML Feature VisualizationBill Liu
 
Xtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conferenceXtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conferenceMichael Oryszak
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming VisualizationGuido Schmutz
 
Mongo db and hadoop driving business insights - final
Mongo db and hadoop   driving business insights - finalMongo db and hadoop   driving business insights - final
Mongo db and hadoop driving business insights - finalMongoDB
 
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...MongoDB
 
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...MongoDB
 
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Gyula Fóra
 
Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem DataWorks Summit/Hadoop Summit
 
Bigdata Hadoop project payment gateway domain
Bigdata Hadoop project payment gateway domainBigdata Hadoop project payment gateway domain
Bigdata Hadoop project payment gateway domainKamal A
 
Creating Real-Time Data Mashups with Node.js and Adobe CQ by Josh Miller
Creating Real-Time Data Mashups with Node.js and Adobe CQ by Josh MillerCreating Real-Time Data Mashups with Node.js and Adobe CQ by Josh Miller
Creating Real-Time Data Mashups with Node.js and Adobe CQ by Josh Millerrtpaem
 
BDE SC3.3 Workshop - BDE Platform: Technical overview
 BDE SC3.3 Workshop -  BDE Platform: Technical overview BDE SC3.3 Workshop -  BDE Platform: Technical overview
BDE SC3.3 Workshop - BDE Platform: Technical overviewBigData_Europe
 
A Day in the Life of a Druid Implementor and Druid's Roadmap
A Day in the Life of a Druid Implementor and Druid's RoadmapA Day in the Life of a Druid Implementor and Druid's Roadmap
A Day in the Life of a Druid Implementor and Druid's RoadmapItai Yaffe
 

Similar a Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Processes And SQL Views - FOSS4G 2016 (20)

SmartMet Server OSGeo
SmartMet Server OSGeoSmartMet Server OSGeo
SmartMet Server OSGeo
 
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQNode.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
Node.CQ - Creating Real-time Data Mashups with Node.JS and Adobe CQ
 
Introducing Neo4j 3.0
Introducing Neo4j 3.0Introducing Neo4j 3.0
Introducing Neo4j 3.0
 
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQCreating Real-Time Data Mashups with Node.JS and Adobe CQ
Creating Real-Time Data Mashups with Node.JS and Adobe CQ
 
WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0
WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0
WSO2 Product Release Webinar: WSO2 Data Analytics Server 3.0
 
Data to Insight: Introduction to WSO2 Business Activity Monitor
Data to Insight: Introduction to WSO2 Business Activity MonitorData to Insight: Introduction to WSO2 Business Activity Monitor
Data to Insight: Introduction to WSO2 Business Activity Monitor
 
Building a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe CrobakBuilding a Data Pipeline from Scratch - Joe Crobak
Building a Data Pipeline from Scratch - Joe Crobak
 
Azure Web Application Fundamentals
Azure Web Application FundamentalsAzure Web Application Fundamentals
Azure Web Application Fundamentals
 
Analytics Metrics Delivery & ML Feature Visualization
Analytics Metrics Delivery & ML Feature VisualizationAnalytics Metrics Delivery & ML Feature Visualization
Analytics Metrics Delivery & ML Feature Visualization
 
Xtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conferenceXtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conference
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 
Mongo db and hadoop driving business insights - final
Mongo db and hadoop   driving business insights - finalMongo db and hadoop   driving business insights - final
Mongo db and hadoop driving business insights - final
 
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
 
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
Lightning Talk: Why and How to Integrate MongoDB and NoSQL into Hadoop Big Da...
 
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
Large-Scale Stream Processing in the Hadoop Ecosystem - Hadoop Summit 2016
 
Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem Large-Scale Stream Processing in the Hadoop Ecosystem
Large-Scale Stream Processing in the Hadoop Ecosystem
 
Bigdata Hadoop project payment gateway domain
Bigdata Hadoop project payment gateway domainBigdata Hadoop project payment gateway domain
Bigdata Hadoop project payment gateway domain
 
Creating Real-Time Data Mashups with Node.js and Adobe CQ by Josh Miller
Creating Real-Time Data Mashups with Node.js and Adobe CQ by Josh MillerCreating Real-Time Data Mashups with Node.js and Adobe CQ by Josh Miller
Creating Real-Time Data Mashups with Node.js and Adobe CQ by Josh Miller
 
BDE SC3.3 Workshop - BDE Platform: Technical overview
 BDE SC3.3 Workshop -  BDE Platform: Technical overview BDE SC3.3 Workshop -  BDE Platform: Technical overview
BDE SC3.3 Workshop - BDE Platform: Technical overview
 
A Day in the Life of a Druid Implementor and Druid's Roadmap
A Day in the Life of a Druid Implementor and Druid's RoadmapA Day in the Life of a Druid Implementor and Druid's Roadmap
A Day in the Life of a Druid Implementor and Druid's Roadmap
 

Más de GeoSolutions

MapStore 2 - The Story
MapStore 2 - The StoryMapStore 2 - The Story
MapStore 2 - The StoryGeoSolutions
 
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
 
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 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
 
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
 
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
 
GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoSolutions
 
Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04GeoSolutions
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015GeoSolutions
 
Introduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGCIntroduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGCGeoSolutions
 
Advanced Security With GeoServer
Advanced Security With GeoServerAdvanced Security With GeoServer
Advanced Security With GeoServerGeoSolutions
 
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
 

Más de GeoSolutions (20)

MapStore 2 - The Story
MapStore 2 - The StoryMapStore 2 - The Story
MapStore 2 - The Story
 
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
 
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 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
 
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
 
GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoServer beginners gwf_2015
GeoServer beginners gwf_2015
 
Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04Geosolutions gwf-2015-v01.04
Geosolutions gwf-2015-v01.04
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015
 
Introduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGCIntroduzione a GeoServer ed ai servizi OGC
Introduzione a GeoServer ed ai servizi OGC
 
Advanced Security With GeoServer
Advanced Security With GeoServerAdvanced Security With GeoServer
Advanced Security With GeoServer
 
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...
 

Último

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
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...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 

Último (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+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...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
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...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Processes And SQL Views - FOSS4G 2016

  • 1. Ing. Andrea Aime Ing. Simone Giannecchini GeoSolutions Processing Data In GeoServer With WPS And SQL Views
  • 2. GeoSolutions  Founded in Italy in late 2006  Expertise • Image Processing, GeoSpatial Data Fusion • Java, Java Enterprise, C++, Python • JPEG2000, JPIP, Advanced 2D visualization  Supporting/Developing FOSS4G projects  GeoServer, MapStore  GeoNetwork, GeoNode, Ckan  Clients  Public Agencies  Private Companies  http://www.geo-solutions.it FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 3. 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  Since 2013:  All of the above, but…  We can hardly make a new application without some data processing in it FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 4. WPS: some quick reminders FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 5. 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 2016, Bonn 22nd - 26th August 2016
  • 6. An Example  Buffer a L shaped geometry with distance “2”  Get the result back as GML FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 7. Synchronous vs asynchronous WPS client WPS Launch process Send back results Simple Suitable for fast executions Synchronous WPS client WPS Launch process Status URL Check progress 50% Check progress 100% Results inline Link to results More complex Suitable for longer computations Asynchronous FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 8. Common WPS setup WPS Remote WCS Remote WFS HTTP server WPS client Request + data or links to data Result data Fetch data FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 9. GeoServer WPS integration WPS Remote WCS Remote WFS HTTP server WPS client All GeoServer Layers WMS clientWMS GeoServer UI FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 10. Demo request builder  List processes  Describe  Set parameters and execute  All in one form FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 11. Rendering transformations  On-the-fly data transformations inside rendering chain  Calling WPS processes from SLD docs  Optimized for performance FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 12. Let’s take one step back… you don’t always need a WPS
  • 13. Spatial DBMS! • 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! FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 14. Parametric SQL views WMS/WFS client GeoServer Spatial database &viewparams=from:2000000;high:5000000 Expanded Query FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 15. Parametric SQL views FOSS4G 2016, Bonn 22nd - 26th August 2016 SELECT Date_part('year'::text, t1.obs_datetime) AS obs_year, t1.storm_num, t1.storm_name, t1.wind, t2.wind AS wind_end, t1.press, t2.press AS press_end, t1.obs_datetime, t2.obs_datetime AS obs_datetime_end, St_makeline(t1.geom, t2.geom) AS geom FROM storm_obs t1 join(SELECT storm_obs.id, storm_obs.storm_num, storm_obs.storm_name, storm_obs.wind, storm_obs.press, storm_obs.obs_datetime, storm_obs.geom FROM storm_obs) t2 ON(t1.obs_datetime + '06:00:00'::interval) = t2.obs_datetime AND t1.storm_name::text = t2.storm_name::text WHERE Date_part('year'::text, t1.obs_datetime) BETWEEN %min_obs_year% AND %max_obs_year% ORDER BY Date_part('year'::text, t1.obs_datetime), t1.storm_num, t1.obs_datetime • Building lines of the fly from point data:
  • 16. Enough theory Let’s get down to business!
  • 17. Pure local WPS: Soil Monitor
  • 18. Soil Monitor • Computing Soil Monitor Indeces at country level • Soil Sealing • Change Matrix • GeoServer as the W*S Server • MapStore as the mapping Front-End • Webmapping and WPS Orchestration • Charting • GPU processing wrapper as WPS Processes • JCuda • Custom code to bridge between GeoServer/GeoTools and Cuda • Direct Ingestion of the resulting raster data • Raster Algebra as rendering transformation using Jiffle http://www.soilmonitor.it/ FOSS4G 2016, Bonn 22nd - 26th August 2016 https://github.com/mbedward/jiffle
  • 19. Soil sealing algorithm FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 20. Change matrix results FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 21. Charting what changed FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 22. Tracking running processes FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 23. Pure SQL views: Tuna Atlas
  • 24. Mapping Tuna Catches • Multiple Filtering • Aggregation • Joining quartely stats against the grid FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 25. 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 2016, Bonn 22nd - 26th August 2016
  • 26. Animation • Animator tool • GetMap + variying parameters + frame control => animated GIF! • http://docs.geoserver.org/stable/en/user/tutoria ls/animreflector.html FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 29. Advanced Clip and Ship • Community WPS module plus MapStore UI • Requirements • Download large amounts of data • Generic data filtering • Clip on polygon/bbox/circle, both vector and raster • Reproject to target CRS • Band selection in raster • Work in a cluster • Solution: new WPS processes, asynch WPS call FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 30. MapStore GUI Buffer process called synchronously when buffer size changes FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 31. MapStore GUI Tracking download status (asynch WPS) FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 32. Download service architecture WPS GeoServer Layers MapStore WMS GetCapabilities List of layers Buffer DownloadEstimator Download GetStatus Fetch data Status database Shared Hazelcast/DBMS database FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 33. Pure WPS calling to other computing nodes: WPS Remote
  • 34. WPS Remote • Use GeoServer as WPS Broker  Run Remote Processes Asynchronously • Support Python or command line tools • Relies on XMPP for discovery and messaging/logging • Supports Dismiss and basic load balancing for different executors • Automagic results ingestion in GeoServer FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 35. WPS Remote FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 36. WPS Remote FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 37. WPS Remote FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 38. WPS Remote FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 39. WPS Remote  Change Detection FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 40. Mixing parametric SQL views and WPS: The Destination Project
  • 41. Intro Computing the risk of road accidents involving dangerous goods (chemicals, petrol, gases and so on) Road segments and stats about car accidents Human and environmental «targets» Involved area, depending on type of good and amount of damage FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 42. Large Data Volume • 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, …. FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 43. 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 2016, Bonn 22nd - 26th August 2016
  • 44. 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 2016, Bonn 22nd - 26th August 2016
  • 45. 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 2016, Bonn 22nd - 26th August 2016
  • 46. Parametric queries on steroids • Find which queries are needed, replace params • Some queries have sub-queries as params FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 47. 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 2016, Bonn 22nd - 26th August 2016
  • 48. 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 2016, Bonn 22nd - 26th August 2016
  • 49. 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 2016, Bonn 22nd - 26th August 2016
  • 50. Efficient computation of multi-buffers • Computing 51 buffers around each of 500k arcs… • Slow! • Buffering over the previous buffer proved to be much faster than computing each buffer from the original arc • Custom multibuffer process FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 52. Intro • 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. Sound Propagation Model FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 53. Sound Propagation Model • External Octave Matlab Process • Logs the asynchrouns 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 2016, Bonn 22nd - 26th August 2016
  • 54. Sound Propagation Model • 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 FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 55. Raster Algebra Processes • Simple Raster Algebra • Gets an OGC Filter containing logical operations between raster layers and produces a binary (0/1) layer FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 56. Raster Algebra Processes • 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 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 2016, Bonn 22nd - 26th August 2016
  • 57. Raster Algebra Processes • Advanced Raster Algebra using Jiffle • Gets an OGC Filter containing logical operations between raster layers and produces a binary light layer FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 58. Raster Algebra Processes • Raster Algebra detailed info • Input parameters and outcomes are logged into WFS • WPS Raster Stats Process provides statistics on the coverages Raster Statistics and Area in sq Km Raster Algebra Process user inputs FOSS4G 2016, Bonn 22nd - 26th August 2016
  • 59. Utility Processes • WPS Raster Stats process • WPS Temp Cleaner async process The WPS Raster Stats process can be invoked at run-time. It computes the Raster Stats on the current viewport area. A cleaner process has been created to cleanup all the IDA temporary files. Is invoked asynchronously and makes use of the IDA config parameters. Also a WFS Delete Transaction listener is available cleaning up all the input and temp files when removing a row from the Data Grid. FOSS4G 2016, Bonn 22nd - 26th August 2016