Cases
This chapter lists various cases/projects where Stetl is used.
NLExtract
NLExtract https://nlextract.nl is a development project that aims to provide ETL-tooling for all Dutch Open Geo-Datasets, in particular the country wide “Key Registries” (Dutch: Basisregistraties) like Cadastral Parcels (BRK), Topography (BRT+BGT) and Buildings and Addresses (BAG). These datasets are provided as XML/GML. The ETL mostly provides a transformation to PostGIS. For all Key Registries, except for the BAG, Stetl is used, basically as-is, without extra (Python) programming. See also the NLExtract GitHub: https://github.com/nlextract/NLExtract
Adresses and Buildings (BAG v2)
BAG version 1 ETL was developed as a custom Python program. In 2021 Dutch Kadaster released BAG version 2. For NLExtract a moment to switch ETL for BAG to Stetl. In particular use is made of the recent (v3.2.1+) GDAL/OGR LVBAG Driver and Python bindings for GDAL VSI /vsizip file handling.
See https://github.com/nlextract/NLExtract/tree/master/bagv2/etl and the Stetl conf at https://github.com/nlextract/NLExtract/tree/master/bagv2/etl/conf/
Topography (BRT)
Includes ETL for 5 scale levels: TOP10NL through TOP1000NL.
See https://github.com/nlextract/NLExtract/tree/master/brt/top10nl/etl and the Stetl conf at e.g. https://github.com/nlextract/NLExtract/tree/master/brt/top10nl/etl/conf/
Detailed Topography (BGT)
This is a very large and heavy dataset based on CityGML. Stetl streaming ETL is here at its best.
See https://github.com/nlextract/NLExtract/tree/master/bgt and the Stetl conf at https://github.com/nlextract/NLExtract/blob/master/bgt/etl/conf/
Cadastral Parcels (BRK)
See https://github.com/nlextract/NLExtract/tree/master/brk/etl and the Stetl conf at https://github.com/nlextract/NLExtract/tree/master/brk/etl/conf
INSPIRE
These were the origins of Stetl. This project was sponsored by Kadaster. See https://github.com/justb4/inspire-foss. The ETL involved the transformation of Dutch Key Registries (see above) to harmonized INSPIRE GML according to the Annexes.
Addresses
BAG to INSPIRE Addresses Annex II Theme.
See https://github.com/justb4/inspire-foss/blob/master/etl/NL.Kadaster/Addresses/
Ordnance Survey
A successful Proof-of-Concept to convert Ordnance Survey Mastermap GML to PostGIS:
https://github.com/geopython/stetl/tree/master/examples/ordnancesurvey
SOSPilot
A SensorWeb project by Geonovum, see http://sensors.geonovum.nl.
Dutch AQ to WFS/WMS(-Time) and SOS
Stetl was used for ETL from Dutch Air Quality Data from RIVM (XML) to WMS(-Time), WFS and SOS. The latter was effected by SOS-Transactional publication. Documentation at http://sospilot.readthedocs.org and ETL on GitHub at https://github.com/Geonovum/sospilot/tree/master/src/rivm-lml
Dutch AQ to EAI Reporting
Stetl was used to generate XML-based reports for the EU EAI:
https://github.com/Geonovum/sospilot/tree/master/src/aq-report
This involved the first use of Jinja2 templating for complex XML/GML generation.
Smart Emission
Sensors for air quality, meteo and audio at civilians. Project by University of Nijmegen/Gemeente Nijmegen with participation by Geonovum. Stetl is used to transform a low-level sensor API to PostGIS and later on WMS/WFS/SOS and the SensorThings API. Also InfluxDB output is developed here.
This is also an example how to use a Stetl Docker image:
See https://github.com/Geonovum/smartemission/tree/master/etl