Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

53
Preparing Your Rich GML Data for deegree - the ETL Challenge Just van den Broecke deegree Community Space 2012, Bonn November 13, 2012 www.justobjects.nl

description

Presentation given at deegree Community Space, november 13, 2012, Bonn. More and more do we need to work with rich/complex GML. How can we tame this mess ? The deegree WMS/WFS server is very suitable to store and serve rich GML, but how do we get our data in ? What spatial ETL options do we have ? Basically this is a tutorial on Stetl, pronounce "staddle", with particular focus on deegree integration. NB Stetl used to be called sETL...

Transcript of Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Page 1: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Preparing Your Rich GML Data for deegree

-

the ETL Challenge

Just van den Broeckedeegree Community Space 2012, Bonn

November 13, 2012www.justobjects.nl

Page 2: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

About MeIndependent Open Source Geospatial Professional

Trailblazer OSGeo Dutch Local Chapter

Just van den [email protected] www.justobjects.nl

Page 3: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge
Page 4: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge
Page 5: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

THE DUTCH KADASTER

GETS INSPIRED WITH

deegree day - nov 16, 2010

Page 6: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

THE DUTCH KADASTER

GETS INSPIRED WITH

deegree Community Space - nov 13, 2012

Page 7: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge
Page 8: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

50+ DATASETS

WMS/WFS/WCS/ATOM

Page 9: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

METADATA

+

NL INSPIRE ACCESS POINT

Page 10: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

PDOK  –  Open  Source  &  Open  Standards

ApplicationsOGC/ISO/INSPIRE Web Services

Storage

Conversion

Services

sETLFME?

Page 11: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

OSGeo - Bolsena - 2010

Page 12: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

BOLSENA2012

Page 13: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

ALLES VORBEI ?

BOLSENA2012

Page 14: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

BOLSENA2012

Page 15: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Preparing Your Rich GML Data for deegree

-

the ETL Challenge

Just van den Broeckedeegree Community Space 2012, Bonn

November 13, 2012www.justobjects.nl

Page 16: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

We have a Problem

Page 17: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

The Rich GML Problem

Page 18: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Rich GML = Complex Mess

Page 19: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

INSPIREDutch National DSsAFIS-ALKIS-ATKIS

.

.

Page 20: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge
Page 21: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

The Streetname!

Page 22: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Complex Model

Transformations

Page 23: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Millionsof

Objects

Page 24: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

10s of Millionsof

<Elements>

Page 25: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

MultipleTransformation

Steps

Page 26: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Solution is Spatial ETL

Page 27: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

A.K.A.

Page 28: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Thank You for your

Attention!

Page 29: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

But what about.......FOSS ? ... Stetl?

Page 30: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

FOSS ETL - High Level

Page 31: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

FOSS ETL - Lower Level

But Each Powerful by Itself

ogr2ogr

Page 32: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

FOSS ETL - DIY ? (No!)

Page 33: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

FOSS ETL - How to Combine?

=+ + ?ogr2ogr

Page 34: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

FOSS ETL - Add Python to Equation

=+ + ?( )ogr2ogr

Page 35: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

=+ +

Stetl

( )ogr2ogr

Page 36: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Stetl=

SimpleStreaming

SpatialSpeedy

ETL

Page 37: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Process Chain

Input Filter Outputgml

Filter

Stetl concepts

Page 38: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Speed: Streaming

Input Filter Outputgml

Stetl concepts

Page 39: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Speed: Going Native

Input Filter Outputgml

ogr2ogr sETLsETL

Native C Libs/Progs

Calls

Stetl concepts

Page 40: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: GML to PostGIS

Reader XMLSplitter ogr2ogr

gml

Stetl concepts

Page 41: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: INSPIRE Model Transform

ogr2ogr XSLT Writergml

Stetl concepts

Page 42: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: deegree Store

ogr2ogr XSLT deegreeWriter

Stetl concepts

Page 43: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Process Chain - How?

Input Filters Output

Stetl concepts

Page 44: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: XML to Shape

The Source

Page 45: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: XML to Shape

First: XSLT Transform to GML

Page 46: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: XML to Shape

XMLInput XSLT ogr2ogr

Page 47: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example: XML to Shape

The SETL Chain Config File

ProcessChain

Reader

XSLT

ogr2ogr

Page 48: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Example Components

Input Filters Output

Stetl concepts

XMLFile XSLT GMLFile

ogr2gml GMLSplitter gml2ogr

LineStream XMLValidator WFS-T

deegree* FeatureExtractor deegree*

YourInput YourFilter YourOutput

Page 49: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Data Structures

Stetl concepts

✴Components exchange Packet✴Packet contains data✴Data format:

xml_line_stream etree_docetree_feature_arrayxml_doc_as_stringany

Page 50: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

deegree Integration

Stetl concepts

✴Input DeegreeBlobstoreInput✴Output DeegreeBlobstoreInput DeegreeFSLoaderOutput WFSTOutput

Page 51: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Cases✴INSPIRE Download Services publish to deegree store (WFS) GML files (for Atom Feed)

✴National GML Datasets GML to PostGIS

Page 52: Stetl: Preparing Rich GML Data for deegree - The ETL Challenge

Case: Dutch Addresses

Source<GML>

sETL sETLdeegree

WFS

sETL INSPIRE<GML>

AtomFeed

Other

INSPIREAddresses

DutchAddresses+

Buildings

DutchGeocoder

deegreeblobstore