SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Raster data in GeoServer and GeoTools:
Achievements, issues and future developments

Ing. Simone Giannecchini, GeoSolutions
Ing. Daniele Romagnoli

FOSS4G 2013, Nottingham
21th September 2013
Outline


Who we are



The building blocks



Recent Achievements



What’s cooking

FOSS4G 2013, Nottingham
21th September 2013
GeoSolutions


Founded in Italy in late 2006



Expertise
•
•

Java, Java Enterprise, C++, Python

•


Image Processing, GeoSpatial Data Fusion

JPEG2000, JPIP, Advanced 2D visualization

Supporting/Developing FOSS4G projects






MapStore, GeoServer
GeoBatch, GeoNetwork

Clients






Public Agencies
Private Companies

http://www.geo-solutions.it
FOSS4G 2013, Nottingham
21th September 2013
The Stack we’ll talk about

FOSS4G 2013, Nottingham
21th September 2013
JAI












Java Advanced Imaging Library
SUN then Oracle Image Processing library
Huge number of basic building operations
Tile-based, deferred execution model
Integrate Tile Caching (In Memory)
Easily Extensible
Natively Accelerated Code available for many
operations
No source code for native ops
Development more or less stopped!
FOSS4G 2013, Nottingham
21th September 2013
ImageIO









SUN then Oracle Image I/O library
Partly ships with JDK partly as extension
Tile-based, deferred & immediate execution model
Easily Extensible
Natively Accelerated Code available for many
formats
No source code for native (de)coders
Development more or less stopped!

FOSS4G 2013, Nottingham
21th September 2013
JAITools


High performance raster processing


Extends, complements, replaces Oracle Java Advanced
Imaging (JAI) Library





Low Level Operations




Open Source, BSD license

e.g. RangeLookup

Higher Level Operations


Vectorize, Contour



Works mostly in pure raster space (Image Processing)



Stable release is 1.3.0
FOSS4G 2013, Nottingham
21th September 2013
ImageIO-Ext


High Performance raster I/O






Extends, complements, replaces Oracle JAI ImageIO
Library
Open Source, LGPL and BSD licenses

Plugins:





BigTiff*, MatFile 5, TurboJPEG
JP2000 (Kakadu)

GDAL integration via ImageIO-ext




JPEG2000, MrSID, ECW
BigTIFF, ERDAS Image, HDF4
Complete list here
FOSS4G 2013, Nottingham
21th September 2013
GeoTools


The Open Source Java GIS Toolkit




LGPL

Management of Geospatial data


CRUD Operations


Raster and vector







Rendering
GDAL Support

Based on best-of-breed Open Source projects


Java Advanced Imaging (JAI), ImageIO



Java Topology Suite (JTS)
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


GeoSpatial enterprise gateway





Java Enterprise
Management of raster and vector data

Standards compliant




OGC WFS 1.0, 1.1 (RI), 2.0



OGC WMS 1.1.1, 1.3.0




OGC WCS 1.0, 1.1.1 (RI), 2.0.1

OGC WPS 1.0.0

Google Earth/Maps support


KML, GeoSearch, etc..
FOSS4G 2013, Nottingham
21th September 2013
All together now…
WCS WMS WFS WPS REST Google GWC

GeoTools
ImageIO

JTS

JAI

GDAL

Kakadu

Vector

JAITools

Style

FOSS4G 2013, Nottingham
21th September 2013

Raster
Recent Achievements

FOSS4G 2013, Nottingham
21th September 2013
ImageIO-Ext


LibJPEG-Turbo









derivative library of libjpeg based on SIMD
instructions (MMX, SSE2, NEON)
accelerate baseline JPEG compression and
decompression on x86, x86-64, and ARM systems
available on many platforms
Open Source, LGPL

ImageIO-Ext-TurboJPEG







A JPEG ImageIO plugin built on top of the JAVA
wrapper for LibJPEG-Turbo (TurboJPEG)
20%-30% SpeedUp* on JPEG encoding
10%-20% SpeedUp* on JPEG decoding
More info here
Integrates with TIFF reader and writer
FOSS4G 2013, Nottingham
21th September 2013
ImageIO-Ext





NITF encoding Support (ImageIO-Ext-NITF)
Based on NITRO
Support for Tagged Record Extensions (TREs)
Support ImageSegments JPEG2000 compression through
Kakadu ImageIO-Ext plugin









(Numerically Lossless/VisuallyLossless/Lossy)
NPJE, EPJE BIIF (Basic Image Interchange Format) profiles
J2KLRA TRE support

Support for multiple TextSegments
Support for multiple ImageSegments
Support for ShapeFile Data Extension Segment (CSSHPA)

FOSS4G 2013, Nottingham
21th September 2013
GeoTools






Improved internal JAI Concurrency
Introduced and Improved JAI Tile Recycling
Reduced depth of JAI Processing Chains
More aggressive factory caching
On-the-fly
Polygonalization
Added a few specific high perf JAI operations






On-the-fly
Contouring

Created Specific high perf ROI class
Improving Tile Caching




e.g. crop

Work ongoing

Band
Transparent File vs Memory Caching when writing
Combine +
Raster to
Symbology
raster
point vector
FOSS4G 2013, Nottingham
21th September 2013
GeoTools





Optimized Rendering/Processing for raster data
Optimized Crop Chains  Coalescing multiple Crops into
a single one
Optimize Affine Transformation Chains  Coalescing
multiple Affine Transformations into a single one

NEAREST
FOSS4G 2013, Nottingham
21th September 2013
GeoTools

BICUBIC
FOSS4G 2013, Nottingham
21th September 2013
GeoTools


ImageMosaic



Custom Dimensions








More than simple time/elevation support

E.g.: wavelength, cloudLevel, …
Dimensions with ranges: (startTime, endTime),
(minElevation,maxElevation), …
Dynamic read parameters

Filtering
 Supports for OGC Filters through the “filter”
param




E.g.: Return only ImageMosaic granules where
attribute Country = Italy.
filter=“Country=‘Italy’ ”
FOSS4G 2013, Nottingham
21th September 2013
ImageMosaic


Custom/Additional dimensions

FOSS4G 2013, Nottingham
21th September 2013
GeoTools


ImageMosaic



Ordering





SORT_BY clause support on DBMS based mosaics
sorting=“time A, elevation D”

Stacking VS Merging
 Merging: different granules  merged together in
the final image as default


Stacking: different granules  stacked on different
bands




E.g. MeteoSat data: 12 channels (1 granule for each Channel)
1 = VIS0.6, 2 = VIS0.8, …, 11 = IR13.4, 12 = HRV.
Want return a RGB image made of channels 1,3,7  Stack
them
FOSS4G 2013, Nottingham
21th September 2013
GeoTools


New API (unsupported/coverage-experiment)








Driver: Get a connection to a coverage store.
CoverageAccess: a physical storage of coverage data. Get access
to a source of coverages.
CoverageSource: provides data access to a coverage.

Updated GridCoverage core API
Old GridCoverageReader:


inefficient and thread unsafe way to access multiple coverages

read GridCoverages from the input stream in a sequential order
New GridCoverage2DReader:

Coverages and properties may be accessed by coverage name:




get Envelope(name), get GridRange(name), get CRS(name),
read(name), get dynamicParameters (name), …
dynamicParameters support (for custom dimensions)




FOSS4G 2013, Nottingham
21th September 2013
GeoTools


NetCDF Support

Based on Unidata NetCDF JAVA library

Implements the new coverage-experiment API

Exposes current interfaces
(GridCoverage2DReader,…) too for GeoServer
compatibility before changes

1 coverage for each Dataset’s variable (multiple
coverages).

Internal data exposed as set of 2D slices

Custom dimensions support

Ancillary XML file:

filter on NetCDF variables/coverages

define low level index schema (for dimensions)
FOSS4G 2013, Nottingham
21th September 2013
GeoTools


ImageMosaic NetCDF integration


Allow the ImageMosaic to handle NetCDF files



Expose NetCDF internal structure (times, elevations)



Make ImageMosaic handle slices of the NetCDF file as granules
Mosaic

NetCDF 1

NetCDF … N

NetCDF 2
…

FOSS4G 2013, Nottingham
21th September 2013
GeoTools


NetCDF Polyphemus Sample Dataset

FOSS4G 2013, Nottingham
20th September 2013
GeoTools


Multiple Coverages per Mosaic

FOSS4G 2013, Nottingham
21th September 2013
GeoTools





StructuredGridCoverage2DReader
exposes the underlying granule structure and dimensions
descriptors of a specific coverage

getGranules (return a GranuleSource)

getDimensionDescriptors
allows to create/remove coverages and add new sources

createCoverage

removeCoverage

Harvest

GetGranules

FOSS4G 2013, Nottingham
21th September 2013
ImageMosaic


Granule Index CRUD Operations via REST



CREATE

curl -u admin:Geos -XPUT -H "Content-type:application/zip" --data-binary
@http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/t
emperature/file.imagemosaic


READ index schema

curl -v -u admin:Geos -XGET
"http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/polyphemus
/coverages/NO2/index.xml"


READ

WFS like with CQL filtering and paging

curl -v -u admin:Geos -XGET
"http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/p
olyphemus/coverages/NO2/index/granules.xml?limit=1&filter=time='2013-0303T00:00:00Z'"

FOSS4G 2013, Nottingham
21th September 2013
ImageMosaic


Granule Index CRUD Operations via REST



UPDATE

curl -v -u admin:Geos -XPOST -H "Content-type: text/plain" -d
"/polyphemus_20130303.nc"
"http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/pol
yphemus/external.imagemosaic"



DELETE WFS like with CQL filtering and paging or by ID

curl -v -u admin:geoserver -XDELETE
"http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/polyphemusv1/coverages/NO2/index/granules.xml?filter=location='polyphemus_20130301.nc'"

curl -v -u admin:geoserver -XGET
"http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/polyphemusv1/coverages/NO2/index/granules/NO2.2689.xml"

FOSS4G 2013, Nottingham
21th September 2013
GeoTools


GranuleSource/GranuleStore


GranuleSource:

ReadOnly access to Granules (with Query support)







getGranules(Query)  SimpleFeatureCollection
getSchema  SimpleFeatureType
getCount(Query), getBounds(Query)

E.g.: get all granules having acquisitionYear > 2012 and Country=Italy

GranuleStore:

add/modify/delete capabilities using Transactions





addGranules (SimpleFeatureCollection)
removeGranules (Filter)
updateGranules

E.g.: remove all granules having acquisitionYear < 1990
FOSS4G 2013, Nottingham
21th September 2013
GeoServer









LibJPEG-Turbo Output format
Encoding WMS output JPEG images through
LibJPEG Turbo library
Based on the TurboJpeg ImageIO-Ext plugin built
on top of the JAVA interface for LibJPEG-Turbo
(TurboJPEG)
Provided as a GeoServer extension
Up to 80% SpeedUp measured on JPEG encoding
Can be disabled at startup:




-Ddisable.turbojpeg=true

More Info here
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


More Color Quantizers
MEDIANCUT

OCTTREE

Speed loss is around 10%
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


WMS Custom Dimensions



Work on GeoTools raster Additional Domains








NetCDF
ImageMosaic

Turn additional querying dimensions into
WCS/WMS Dimensions
 ImageMosaic Domain Category
 WMS 1.1.1 DIM_CATEGORY
 WMS 1.3.0 DIM_CATEGORY
Perfect for large multidimensional mosaics!
E.g. meteo (forecast time, elevation, band, base
time, model name)
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


WMS TIME, ELEVATION & More

http://localhost:8080/geoserver/geosolutions/wms?...&time=2013-0301T00:00:00.000Z&elevation=35.0&DIM_FILEDATE=2013-0301T00:00:00.000Z&DIM_UPDATED=2013-04-08T08:18:41.597Z

FOSS4G 2013, Nottingham
21th September 2013
GeoServer


WMS-EO



GSIP 84

Wizard to configure EO
layer groups

Extending LayerGroup
concept
Support same style on
both raster and vector
data

Support custom
dimensions
Alter map on the fly to
support band
combination

FOSS4G 2013, Nottingham
21th September 2013
GeoServer


WMS-EO Quirks


Root layer must respond with a specific layer rather than
the composition of the children






E.g. when I send a GetMap for the root layer I could get back the browse
image default layer

Same styles for both Raster as well as Vector data




Kind of a default visualization for a certain Dataset

E.g. yellow can be use for both flags as well as outlines

Peculiar behavior for Band layer ( raw data )




Can request either 1 (grayscale image) or 3 (RGB image)





E.g. multiple bands at different wavelengths

Different combinations are prohibited

Peculiar Behavior for GetFeatureInfo
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


WCS 2.0



The basics






GetCoverage extensions











CRS
Scaling
Interpolation
Range subsetting
GeoTiff
GML
NetCDF

Output format extensions






Core service
KVP binding
XML binding

GeoTIFF
GML Grid
NetCDF

Ensure CITE tests compliancy
FOSS4G 2013, Nottingham
21th September 2013
GeoServer
WCS 2.0
Processing Chain


Crop

Core

RangeSubset

Extension

Scale & Interpolate

Extension

Reproject & Interpolate

Extension

Encode

Extension

FOSS4G 2013, Nottingham
21th September 2013
GeoServer





NetCDF Output Format
GetCoverage request parameter: &Format=NetCDF
Based on Unidata NetCDF JAVA library
Create a NetCDF output file on top of a GranuleStack:

A GridCoverage2D List:






Supports WCS 2.0.1





a GridCoverage2D for each combination of requested
Dimension values
GridCoverages should come from a
StructuredGridCoverage2DReader

Trimming: specify values range for a dimension
Slicing: specify single value for a dimension

Supports timeRanges/numberRanges on output
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


NetCDF Output

http://localhost:8080/geoserver/wcs?request=Get
Coverage&service=WCS&version=2.0.1&coverag
eId=geosolutions__NO2&Format=NetCDF&subse
t=http://www.opengis.net/def/axis/OGC/0/Long(5,
20)&subset=http://www.opengis.net/def/axis/OG
C/0/Lat(40,50)&subset=http://www.opengis.net/de
f/axis/OGC/0/elevation(300,1250)&subset=http://w
ww.opengis.net/def/axis/OGC/0/time("2013-0301T10:00:00.000Z","2013-03-01T22:00:00.000Z")

FOSS4G 2013, Nottingham
21th September 2013
GeoServer


NetCDF Output

FOSS4G 2013, Nottingham
21th September 2013
GeoServer


WCS-EO



Build on top of a working WCS 2.0 with full extensions











WCS 2.0
CRS extension
Range subsetting extension
Interpolation extension
Scaling extension
GeoTiff extension
NetCDF extension

Add support for the WCS-EO extras





Listing coverage datasets in the capabilities documents (based on image
mosaic contents, which will have to be marked as “exposed” so that we
show their inner structure for EO)
Support describe coverage dataset
Support returning results for an entire dataset in GetCoverage
FOSS4G 2013, Nottingham
21th September 2013
What’s cooking
Plus what’s on our wish list

FOSS4G 2013, Nottingham
21th September 2013
JAI-Ext (temporary name)









Oracle JAI Drop-In Replacement
Open Source (License TBD)
High Performance
Pure Java
Support for No-Data
Support for Processing ROI
Support for Band Masks
GPU Acceleration


OpenCL VS JCuda VS Aparapi
FOSS4G 2013, Nottingham
21th September 2013
JAI-Ext (temporary name)


Status













Mosaic
Scale
Affine
Translate
Lookup
BandSelect
BandMerge
Warp
ColorQuantize
Format






Rescale
Histogram
Extrema
….

FOSS4G 2013, Nottingham
21th September 2013
GeoTools


Improved Processing & Rendering



Raster Algebra embedded in Styles






Improved Contrast Stretch








Processing on-the-fly with a Rendering
Transformation
Embed into RasterSymbolizer (ChannelSelection)
Clip to Min-Max, Gaussian, etc…

Suport for Date-line crossing raster
Support for raster in Polar projections
Better No-Data Management
Support for VirtualRaster a-la GDAL
FOSS4G 2013, Nottingham
21th September 2013
GeoTools


Mosaic Masking

FOSS4G 2013, Nottingham
21th September 2013
GeoServer






High Performance/Pure Java PNG output
format
No more separate Native ImageIO Install
More Control on bugs/enhancements
Status









First prototype working
Same performance as Native Imageio
Much Faster then JDK Encoder (check this)
Code here, GPL|
Discussion ongoing with the PNGJ Open Source
project for joining efforts
More info here
FOSS4G 2013, Nottingham
21th September 2013
GeoServer


OSM Generated Image

FOSS4G 2013, Nottingham
21th September 2013
GeoServer


Syntethic Image

FOSS4G 2013, Nottingham
21th September 2013
GeoServer



Raster Algebra as WPS
Gets an OGC Filter containing logical operations between
raster layers and produces a binary (0/1) layer

FOSS4G 2013, Nottingham
21th September 2013
GeoServer


Raster Algebra as WPS



JIFFLE

FOSS4G 2013, Nottingham
21th September 2013
The End

Thanks for not sleeping (loudly)!
daniele.romagnoli@geo-solutions.it
simone.giannecchini@geo-solutions.it
FOSS4G 2013, Nottingham
21th September 2013

Contenu connexe

Tendances

Multi Master PostgreSQL Cluster on Kubernetes
Multi Master PostgreSQL Cluster on KubernetesMulti Master PostgreSQL Cluster on Kubernetes
Multi Master PostgreSQL Cluster on KubernetesOhyama Masanori
 
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsApache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsDataWorks Summit
 
GeoServer on Steroids at FOSS4G Europe 2014
GeoServer on Steroids at FOSS4G Europe 2014GeoServer on Steroids at FOSS4G Europe 2014
GeoServer on Steroids at FOSS4G Europe 2014GeoSolutions
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)NAVER D2
 
ClickHouse Introduction, by Alexander Zaitsev, Altinity CTO
ClickHouse Introduction, by Alexander Zaitsev, Altinity CTOClickHouse Introduction, by Alexander Zaitsev, Altinity CTO
ClickHouse Introduction, by Alexander Zaitsev, Altinity CTOAltinity Ltd
 
Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...
Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...
Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...Altinity Ltd
 
공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재JungHwan Yun
 
Hive User Meeting August 2009 Facebook
Hive User Meeting August 2009 FacebookHive User Meeting August 2009 Facebook
Hive User Meeting August 2009 Facebookragho
 
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
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...GeoSolutions
 
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServerMinPa Lee
 
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへフラットなPHPからフレームワークへ
フラットなPHPからフレームワークへMasao Maeda
 
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
 
Apache doris (incubating) introduction
Apache doris (incubating) introductionApache doris (incubating) introduction
Apache doris (incubating) introductionleanderlee2
 
Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGISmleslie
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm Chandler Huang
 
Building an open data platform with apache iceberg
Building an open data platform with apache icebergBuilding an open data platform with apache iceberg
Building an open data platform with apache icebergAlluxio, Inc.
 

Tendances (20)

Multi Master PostgreSQL Cluster on Kubernetes
Multi Master PostgreSQL Cluster on KubernetesMulti Master PostgreSQL Cluster on Kubernetes
Multi Master PostgreSQL Cluster on Kubernetes
 
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data AnalyticsApache Ignite vs Alluxio: Memory Speed Big Data Analytics
Apache Ignite vs Alluxio: Memory Speed Big Data Analytics
 
GeoServer on Steroids at FOSS4G Europe 2014
GeoServer on Steroids at FOSS4G Europe 2014GeoServer on Steroids at FOSS4G Europe 2014
GeoServer on Steroids at FOSS4G Europe 2014
 
[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)[211] HBase 기반 검색 데이터 저장소 (공개용)
[211] HBase 기반 검색 데이터 저장소 (공개용)
 
ClickHouse Introduction, by Alexander Zaitsev, Altinity CTO
ClickHouse Introduction, by Alexander Zaitsev, Altinity CTOClickHouse Introduction, by Alexander Zaitsev, Altinity CTO
ClickHouse Introduction, by Alexander Zaitsev, Altinity CTO
 
Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...
Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...
Introduction to the Mysteries of ClickHouse Replication, By Robert Hodges and...
 
공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재
 
Hive User Meeting August 2009 Facebook
Hive User Meeting August 2009 FacebookHive User Meeting August 2009 Facebook
Hive User Meeting August 2009 Facebook
 
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
 
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
Crunching Data In GeoServer: Mastering Rendering Transformations, WPS Process...
 
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
 
フラットなPHPからフレームワークへ
フラットなPHPからフレームワークへフラットなPHPからフレームワークへ
フラットなPHPからフレームワークへ
 
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
 
Apache doris (incubating) introduction
Apache doris (incubating) introductionApache doris (incubating) introduction
Apache doris (incubating) introduction
 
Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGIS
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security Apache Ranger Hive Metastore Security
Apache Ranger Hive Metastore Security
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm
 
PostgreSQL and RAM usage
PostgreSQL and RAM usagePostgreSQL and RAM usage
PostgreSQL and RAM usage
 
Building an open data platform with apache iceberg
Building an open data platform with apache icebergBuilding an open data platform with apache iceberg
Building an open data platform with apache iceberg
 

Similaire à Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Developments

GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoSolutions
 
GeoServer intro for SDI Days 2013
GeoServer intro for SDI Days 2013GeoServer intro for SDI Days 2013
GeoServer intro for SDI Days 2013GeoSolutions
 
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
 
GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...GeoSolutions
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationGeoSolutions
 
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
 
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
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13Jody Garnett
 
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
 
Geosolutions FOSS4g 2009 Redux
Geosolutions FOSS4g 2009 ReduxGeosolutions FOSS4g 2009 Redux
Geosolutions FOSS4g 2009 ReduxGeoSolutions
 
State of GeoServer 2.14
State of GeoServer 2.14State of GeoServer 2.14
State of GeoServer 2.14Jody Garnett
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemHaNJiN Lee
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10Jody Garnett
 
State of GeoServer
State of GeoServerState of GeoServer
State of GeoServerJody Garnett
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoSolutions
 
GFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork PresentationGFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork PresentationGeoSolutions
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12GeoSolutions
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening OverviewJody Garnett
 
Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010GeoSolutions
 

Similaire à Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Developments (20)

GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginners
 
GeoServer intro for SDI Days 2013
GeoServer intro for SDI Days 2013GeoServer intro for SDI Days 2013
GeoServer intro for SDI Days 2013
 
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...
 
GeoServer The Open Source Solution for the interoperable management of geos...
GeoServer The Open Source Solution  for the interoperable management  of geos...GeoServer The Open Source Solution  for the interoperable management  of geos...
GeoServer The Open Source Solution for the interoperable management of geos...
 
Fossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer PresentationFossgis 2013 GeoServer Presentation
Fossgis 2013 GeoServer Presentation
 
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...
 
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...
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13
 
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...
 
Geosolutions FOSS4g 2009 Redux
Geosolutions FOSS4g 2009 ReduxGeosolutions FOSS4g 2009 Redux
Geosolutions FOSS4g 2009 Redux
 
State of GeoServer 2.14
State of GeoServer 2.14State of GeoServer 2.14
State of GeoServer 2.14
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystem
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10
 
State of GeoServer
State of GeoServerState of GeoServer
State of GeoServer
 
GeoServer, an introduction for beginners
GeoServer, an introduction for beginnersGeoServer, an introduction for beginners
GeoServer, an introduction for beginners
 
GFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork PresentationGFOSS DAY 2012 GeoNetwork Presentation
GFOSS DAY 2012 GeoNetwork Presentation
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010Geosolutions Foss4g It 2010
Geosolutions Foss4g It 2010
 

Plus de 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
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZYGeoSolutions
 
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
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015GeoSolutions
 
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
 
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
 
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
 

Plus de GeoSolutions (15)

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
 
GeoServer Feature FRENZY
GeoServer Feature FRENZYGeoServer Feature FRENZY
GeoServer Feature FRENZY
 
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
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015
 
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
 
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
 
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
 

Dernier

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Dernier (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Developments

  • 1. Raster data in GeoServer and GeoTools: Achievements, issues and future developments Ing. Simone Giannecchini, GeoSolutions Ing. Daniele Romagnoli FOSS4G 2013, Nottingham 21th September 2013
  • 2. Outline  Who we are  The building blocks  Recent Achievements  What’s cooking FOSS4G 2013, Nottingham 21th September 2013
  • 3. GeoSolutions  Founded in Italy in late 2006  Expertise • • Java, Java Enterprise, C++, Python •  Image Processing, GeoSpatial Data Fusion JPEG2000, JPIP, Advanced 2D visualization Supporting/Developing FOSS4G projects    MapStore, GeoServer GeoBatch, GeoNetwork Clients    Public Agencies Private Companies http://www.geo-solutions.it FOSS4G 2013, Nottingham 21th September 2013
  • 4. The Stack we’ll talk about FOSS4G 2013, Nottingham 21th September 2013
  • 5. JAI          Java Advanced Imaging Library SUN then Oracle Image Processing library Huge number of basic building operations Tile-based, deferred execution model Integrate Tile Caching (In Memory) Easily Extensible Natively Accelerated Code available for many operations No source code for native ops Development more or less stopped! FOSS4G 2013, Nottingham 21th September 2013
  • 6. ImageIO        SUN then Oracle Image I/O library Partly ships with JDK partly as extension Tile-based, deferred & immediate execution model Easily Extensible Natively Accelerated Code available for many formats No source code for native (de)coders Development more or less stopped! FOSS4G 2013, Nottingham 21th September 2013
  • 7. JAITools  High performance raster processing  Extends, complements, replaces Oracle Java Advanced Imaging (JAI) Library   Low Level Operations   Open Source, BSD license e.g. RangeLookup Higher Level Operations  Vectorize, Contour  Works mostly in pure raster space (Image Processing)  Stable release is 1.3.0 FOSS4G 2013, Nottingham 21th September 2013
  • 8. ImageIO-Ext  High Performance raster I/O    Extends, complements, replaces Oracle JAI ImageIO Library Open Source, LGPL and BSD licenses Plugins:    BigTiff*, MatFile 5, TurboJPEG JP2000 (Kakadu) GDAL integration via ImageIO-ext    JPEG2000, MrSID, ECW BigTIFF, ERDAS Image, HDF4 Complete list here FOSS4G 2013, Nottingham 21th September 2013
  • 9. GeoTools  The Open Source Java GIS Toolkit   LGPL Management of Geospatial data  CRUD Operations  Raster and vector    Rendering GDAL Support Based on best-of-breed Open Source projects  Java Advanced Imaging (JAI), ImageIO  Java Topology Suite (JTS) FOSS4G 2013, Nottingham 21th September 2013
  • 10. GeoServer  GeoSpatial enterprise gateway    Java Enterprise Management of raster and vector data Standards compliant   OGC WFS 1.0, 1.1 (RI), 2.0  OGC WMS 1.1.1, 1.3.0   OGC WCS 1.0, 1.1.1 (RI), 2.0.1 OGC WPS 1.0.0 Google Earth/Maps support  KML, GeoSearch, etc.. FOSS4G 2013, Nottingham 21th September 2013
  • 11. All together now… WCS WMS WFS WPS REST Google GWC GeoTools ImageIO JTS JAI GDAL Kakadu Vector JAITools Style FOSS4G 2013, Nottingham 21th September 2013 Raster
  • 12. Recent Achievements FOSS4G 2013, Nottingham 21th September 2013
  • 13. ImageIO-Ext  LibJPEG-Turbo      derivative library of libjpeg based on SIMD instructions (MMX, SSE2, NEON) accelerate baseline JPEG compression and decompression on x86, x86-64, and ARM systems available on many platforms Open Source, LGPL ImageIO-Ext-TurboJPEG      A JPEG ImageIO plugin built on top of the JAVA wrapper for LibJPEG-Turbo (TurboJPEG) 20%-30% SpeedUp* on JPEG encoding 10%-20% SpeedUp* on JPEG decoding More info here Integrates with TIFF reader and writer FOSS4G 2013, Nottingham 21th September 2013
  • 14. ImageIO-Ext     NITF encoding Support (ImageIO-Ext-NITF) Based on NITRO Support for Tagged Record Extensions (TREs) Support ImageSegments JPEG2000 compression through Kakadu ImageIO-Ext plugin       (Numerically Lossless/VisuallyLossless/Lossy) NPJE, EPJE BIIF (Basic Image Interchange Format) profiles J2KLRA TRE support Support for multiple TextSegments Support for multiple ImageSegments Support for ShapeFile Data Extension Segment (CSSHPA) FOSS4G 2013, Nottingham 21th September 2013
  • 15. GeoTools      Improved internal JAI Concurrency Introduced and Improved JAI Tile Recycling Reduced depth of JAI Processing Chains More aggressive factory caching On-the-fly Polygonalization Added a few specific high perf JAI operations    On-the-fly Contouring Created Specific high perf ROI class Improving Tile Caching   e.g. crop Work ongoing Band Transparent File vs Memory Caching when writing Combine + Raster to Symbology raster point vector FOSS4G 2013, Nottingham 21th September 2013
  • 16. GeoTools    Optimized Rendering/Processing for raster data Optimized Crop Chains  Coalescing multiple Crops into a single one Optimize Affine Transformation Chains  Coalescing multiple Affine Transformations into a single one NEAREST FOSS4G 2013, Nottingham 21th September 2013
  • 18. GeoTools  ImageMosaic  Custom Dimensions     More than simple time/elevation support  E.g.: wavelength, cloudLevel, … Dimensions with ranges: (startTime, endTime), (minElevation,maxElevation), … Dynamic read parameters Filtering  Supports for OGC Filters through the “filter” param   E.g.: Return only ImageMosaic granules where attribute Country = Italy. filter=“Country=‘Italy’ ” FOSS4G 2013, Nottingham 21th September 2013
  • 20. GeoTools  ImageMosaic  Ordering    SORT_BY clause support on DBMS based mosaics sorting=“time A, elevation D” Stacking VS Merging  Merging: different granules  merged together in the final image as default  Stacking: different granules  stacked on different bands   E.g. MeteoSat data: 12 channels (1 granule for each Channel) 1 = VIS0.6, 2 = VIS0.8, …, 11 = IR13.4, 12 = HRV. Want return a RGB image made of channels 1,3,7  Stack them FOSS4G 2013, Nottingham 21th September 2013
  • 21. GeoTools  New API (unsupported/coverage-experiment)     Driver: Get a connection to a coverage store. CoverageAccess: a physical storage of coverage data. Get access to a source of coverages. CoverageSource: provides data access to a coverage. Updated GridCoverage core API Old GridCoverageReader:  inefficient and thread unsafe way to access multiple coverages  read GridCoverages from the input stream in a sequential order New GridCoverage2DReader:  Coverages and properties may be accessed by coverage name:   get Envelope(name), get GridRange(name), get CRS(name), read(name), get dynamicParameters (name), … dynamicParameters support (for custom dimensions)   FOSS4G 2013, Nottingham 21th September 2013
  • 22. GeoTools  NetCDF Support  Based on Unidata NetCDF JAVA library  Implements the new coverage-experiment API  Exposes current interfaces (GridCoverage2DReader,…) too for GeoServer compatibility before changes  1 coverage for each Dataset’s variable (multiple coverages).  Internal data exposed as set of 2D slices  Custom dimensions support  Ancillary XML file:  filter on NetCDF variables/coverages  define low level index schema (for dimensions) FOSS4G 2013, Nottingham 21th September 2013
  • 23. GeoTools  ImageMosaic NetCDF integration  Allow the ImageMosaic to handle NetCDF files  Expose NetCDF internal structure (times, elevations)  Make ImageMosaic handle slices of the NetCDF file as granules Mosaic NetCDF 1 NetCDF … N NetCDF 2 … FOSS4G 2013, Nottingham 21th September 2013
  • 24. GeoTools  NetCDF Polyphemus Sample Dataset FOSS4G 2013, Nottingham 20th September 2013
  • 25. GeoTools  Multiple Coverages per Mosaic FOSS4G 2013, Nottingham 21th September 2013
  • 26. GeoTools    StructuredGridCoverage2DReader exposes the underlying granule structure and dimensions descriptors of a specific coverage  getGranules (return a GranuleSource)  getDimensionDescriptors allows to create/remove coverages and add new sources  createCoverage  removeCoverage  Harvest  GetGranules FOSS4G 2013, Nottingham 21th September 2013
  • 27. ImageMosaic  Granule Index CRUD Operations via REST  CREATE curl -u admin:Geos -XPUT -H "Content-type:application/zip" --data-binary @http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/t emperature/file.imagemosaic  READ index schema curl -v -u admin:Geos -XGET "http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/polyphemus /coverages/NO2/index.xml"  READ WFS like with CQL filtering and paging curl -v -u admin:Geos -XGET "http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/p olyphemus/coverages/NO2/index/granules.xml?limit=1&filter=time='2013-0303T00:00:00Z'" FOSS4G 2013, Nottingham 21th September 2013
  • 28. ImageMosaic  Granule Index CRUD Operations via REST  UPDATE curl -v -u admin:Geos -XPOST -H "Content-type: text/plain" -d "/polyphemus_20130303.nc" "http://localhost:8080/geoserver/rest/workspaces/geosolutions/coveragestores/pol yphemus/external.imagemosaic"  DELETE WFS like with CQL filtering and paging or by ID curl -v -u admin:geoserver -XDELETE "http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/polyphemusv1/coverages/NO2/index/granules.xml?filter=location='polyphemus_20130301.nc'" curl -v -u admin:geoserver -XGET "http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/polyphemusv1/coverages/NO2/index/granules/NO2.2689.xml" FOSS4G 2013, Nottingham 21th September 2013
  • 29. GeoTools  GranuleSource/GranuleStore  GranuleSource:  ReadOnly access to Granules (with Query support)      getGranules(Query)  SimpleFeatureCollection getSchema  SimpleFeatureType getCount(Query), getBounds(Query) E.g.: get all granules having acquisitionYear > 2012 and Country=Italy GranuleStore:  add/modify/delete capabilities using Transactions     addGranules (SimpleFeatureCollection) removeGranules (Filter) updateGranules E.g.: remove all granules having acquisitionYear < 1990 FOSS4G 2013, Nottingham 21th September 2013
  • 30. GeoServer       LibJPEG-Turbo Output format Encoding WMS output JPEG images through LibJPEG Turbo library Based on the TurboJpeg ImageIO-Ext plugin built on top of the JAVA interface for LibJPEG-Turbo (TurboJPEG) Provided as a GeoServer extension Up to 80% SpeedUp measured on JPEG encoding Can be disabled at startup:   -Ddisable.turbojpeg=true More Info here FOSS4G 2013, Nottingham 21th September 2013
  • 31. GeoServer  More Color Quantizers MEDIANCUT OCTTREE Speed loss is around 10% FOSS4G 2013, Nottingham 21th September 2013
  • 32. GeoServer  WMS Custom Dimensions  Work on GeoTools raster Additional Domains      NetCDF ImageMosaic Turn additional querying dimensions into WCS/WMS Dimensions  ImageMosaic Domain Category  WMS 1.1.1 DIM_CATEGORY  WMS 1.3.0 DIM_CATEGORY Perfect for large multidimensional mosaics! E.g. meteo (forecast time, elevation, band, base time, model name) FOSS4G 2013, Nottingham 21th September 2013
  • 33. GeoServer  WMS TIME, ELEVATION & More http://localhost:8080/geoserver/geosolutions/wms?...&time=2013-0301T00:00:00.000Z&elevation=35.0&DIM_FILEDATE=2013-0301T00:00:00.000Z&DIM_UPDATED=2013-04-08T08:18:41.597Z FOSS4G 2013, Nottingham 21th September 2013
  • 34. GeoServer  WMS-EO  GSIP 84 Wizard to configure EO layer groups Extending LayerGroup concept Support same style on both raster and vector data Support custom dimensions Alter map on the fly to support band combination FOSS4G 2013, Nottingham 21th September 2013
  • 35. GeoServer  WMS-EO Quirks  Root layer must respond with a specific layer rather than the composition of the children    E.g. when I send a GetMap for the root layer I could get back the browse image default layer Same styles for both Raster as well as Vector data   Kind of a default visualization for a certain Dataset E.g. yellow can be use for both flags as well as outlines Peculiar behavior for Band layer ( raw data )   Can request either 1 (grayscale image) or 3 (RGB image)   E.g. multiple bands at different wavelengths Different combinations are prohibited Peculiar Behavior for GetFeatureInfo FOSS4G 2013, Nottingham 21th September 2013
  • 36. GeoServer  WCS 2.0  The basics     GetCoverage extensions         CRS Scaling Interpolation Range subsetting GeoTiff GML NetCDF Output format extensions     Core service KVP binding XML binding GeoTIFF GML Grid NetCDF Ensure CITE tests compliancy FOSS4G 2013, Nottingham 21th September 2013
  • 37. GeoServer WCS 2.0 Processing Chain  Crop Core RangeSubset Extension Scale & Interpolate Extension Reproject & Interpolate Extension Encode Extension FOSS4G 2013, Nottingham 21th September 2013
  • 38. GeoServer     NetCDF Output Format GetCoverage request parameter: &Format=NetCDF Based on Unidata NetCDF JAVA library Create a NetCDF output file on top of a GranuleStack:  A GridCoverage2D List:    Supports WCS 2.0.1    a GridCoverage2D for each combination of requested Dimension values GridCoverages should come from a StructuredGridCoverage2DReader Trimming: specify values range for a dimension Slicing: specify single value for a dimension Supports timeRanges/numberRanges on output FOSS4G 2013, Nottingham 21th September 2013
  • 40. GeoServer  NetCDF Output FOSS4G 2013, Nottingham 21th September 2013
  • 41. GeoServer  WCS-EO  Build on top of a working WCS 2.0 with full extensions         WCS 2.0 CRS extension Range subsetting extension Interpolation extension Scaling extension GeoTiff extension NetCDF extension Add support for the WCS-EO extras    Listing coverage datasets in the capabilities documents (based on image mosaic contents, which will have to be marked as “exposed” so that we show their inner structure for EO) Support describe coverage dataset Support returning results for an entire dataset in GetCoverage FOSS4G 2013, Nottingham 21th September 2013
  • 42. What’s cooking Plus what’s on our wish list FOSS4G 2013, Nottingham 21th September 2013
  • 43. JAI-Ext (temporary name)         Oracle JAI Drop-In Replacement Open Source (License TBD) High Performance Pure Java Support for No-Data Support for Processing ROI Support for Band Masks GPU Acceleration  OpenCL VS JCuda VS Aparapi FOSS4G 2013, Nottingham 21th September 2013
  • 45. GeoTools  Improved Processing & Rendering  Raster Algebra embedded in Styles    Improved Contrast Stretch      Processing on-the-fly with a Rendering Transformation Embed into RasterSymbolizer (ChannelSelection) Clip to Min-Max, Gaussian, etc… Suport for Date-line crossing raster Support for raster in Polar projections Better No-Data Management Support for VirtualRaster a-la GDAL FOSS4G 2013, Nottingham 21th September 2013
  • 46. GeoTools  Mosaic Masking FOSS4G 2013, Nottingham 21th September 2013
  • 47. GeoServer     High Performance/Pure Java PNG output format No more separate Native ImageIO Install More Control on bugs/enhancements Status       First prototype working Same performance as Native Imageio Much Faster then JDK Encoder (check this) Code here, GPL| Discussion ongoing with the PNGJ Open Source project for joining efforts More info here FOSS4G 2013, Nottingham 21th September 2013
  • 48. GeoServer  OSM Generated Image FOSS4G 2013, Nottingham 21th September 2013
  • 49. GeoServer  Syntethic Image FOSS4G 2013, Nottingham 21th September 2013
  • 50. GeoServer   Raster Algebra as WPS Gets an OGC Filter containing logical operations between raster layers and produces a binary (0/1) layer FOSS4G 2013, Nottingham 21th September 2013
  • 51. GeoServer  Raster Algebra as WPS  JIFFLE FOSS4G 2013, Nottingham 21th September 2013
  • 52. The End Thanks for not sleeping (loudly)! daniele.romagnoli@geo-solutions.it simone.giannecchini@geo-solutions.it FOSS4G 2013, Nottingham 21th September 2013