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

Upload: just-van-den-broecke

Post on 11-May-2015

442 views

Category:

Technology


3 download

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

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