11
Inleiding tot FME
Inleiding FME - 2015 - GIM
Bruno De Lat
22
FME = spatial ETL
Inleiding FME - 2015 - GIM
ETL:
▶ Extract:
- Lees brondata
▶ Transform:
- Bewerk (alfanumerisch en geometrisch)
- Bevraag
- Analyseer
- Valideer
- Combineer
▶ Load
- Schrijft naar resultaat
Spatial :
▶ Controleer alle ruimtelijke aspecten van E, T en L
▶ Geometrie, Relaties, Coördinatiesystemen,…
33
FME = veelzijdige ETL
Inleiding FME - 2015 - GIM
1. Verwerk
2. Automatiseer
3. Verwittig
Uitdagingen:
▶ Uitwisseling data CAD en GIS
▶ Data migratie
▶ Data validatie en correctie
▶ Data integratie en verwerking
▶ Automatisatie
44
Proces
Inleiding FME - 2015 - GIM
1. Wat zijn de mogelijkheden?
2. Welke data formaten?
3. Hoe gaat het in zijn werk?
55
Wat zijn de mogelijkheden?
Inleiding FME - 2015 - GIM
1. Transformatie
▶ Omzetting
▶ Extractie
▶ Samenvoegen
▶ Schema
2. Publicatie
▶ Webservices
▶ Data warehouse
3. Integratie
▶ Systemen
▶ Backup
4. Validation
▶ Kwaliteit
▶ Datamodel
▶ Bussiness rules
66
Welke data formaten?
Inleiding FME - 2015 - GIM
Meer dan 325 formaten:
▶ DB
▶ CAD
▶ BIM
▶ GIS
▶ Web
▶ Generic: xml, Json
▶ Courant: pdf, xls…
77
Meer dan 325 formaten worden ondersteund
Inleiding FME - 2015 - GIM
88
Meer dan 325 formaten worden ondersteund
Inleiding FME - 2015 - GIM
GIS (vector)
▶ ESRI shape
▶ Mapinfo MIF/MID
▶ Mapinfo TAB
▶ Adobe Geospatial PDF
▶ GML, XML, KML
▶ …
CAD
▶ AutoCAD DWG/DXF
▶ AutoCAD Civil 3D (Read)
▶ Bentley Microstation Desgin DGN
▶ …
99
Meer dan 325 formaten worden ondersteund
Inleiding FME - 2015 - GIM
Raster▶ ESRI grid▶ GeoTIFF▶ IMG▶ MrSID (read only)▶ JPG, JPEG 2000▶ …
Point Cloud▶ LIDAR LAS▶ Pointcloud XYZ▶ …
3D /BIM (Building Information Modeling)▶ AutoCad DWG/DXF▶ CityGML▶ GoogleSketchup▶ Shapefile/Feature Class▶ Adobe 3D PDF (write only)▶ AutoCAD civil 3D (read only)▶ …
1010
Meer dan 325 formaten worden ondersteund
Inleiding FME - 2015 - GIM
Databanken
▶ ESRI Geodatabases: File, personal, arcSDE
▶ Oracle
▶ Smallworld
▶ Informix
▶ Geomedia Warehouse
Niet ruimtelijke formaten
▶ csv, txt
▶ Excel
▶ Access
▶ Directories (Copy/paste)
▶ …
1111
FME producten
Inleiding FME - 2015 - GIM
▶ FME Desktop
▶ Proces Modellering
▶ Visualisatie van data
▶ Verwerken van data
▶ FME Server*
▶ Web User Interface
▶ API REST et SOAP
▶ Koppelen Active directory (bv. LDAP)
▶ FME Cloud*
▶ FME Server op een Amazon Web Server
▶ Prijs volgens gebruik
▶ FME Mobile (free app)
▶ Android / iOS API
▶ Report to FME server (location…)
▶ Get notified by FME server
* Enkel mogelijk in combinatie met minstens 1 FME Desktop licentie
1212
Praktisch
Inleiding FME - 2015 - GIM
Onderdelen van FME desktop
▶ FME Data Inspector
▶ FME Workbench
1313
FME Data Inspector
Inleiding FME - 2015 - GIM
▶ Visualisatie 2D/3D data
▶ Alle formaten in 1 scherm
▶ Bevragen van data
▶ Uitgebreide inspectiemogelijkheden geometrische
eigenschappen
▶ Visualiseren van data voor/tijdens/na een transformatie
▶ Data leren kennen
▶ Visuele Kwaliteitscontrole van data en transformatie-stappen
1414
FME Data Inspector
Inleiding FME - 2015 - GIM
Table of attributes
Display control
ViewTable View and
featureinformation
1515
FME Workbench
Inleiding FME - 2015 - GIM
Reader/Writer and Transformers
Readers WritersTransformers
1616
FME Transformers
Inleiding FME - 2015 - GIM
▶ Transformers = bouwstenen om data te bewerken
▶ Geometrie transformers
▶ Wijzig geometrie
▶ Analyseer ruimtelijk interactie
▶ Attribuut transformers
▶ Wijzig attributen
▶ Meer dan 500 Transformers (3D, Calculators, Filters,
Geometric operators, Coordinate systems,, Lists, Point Cloud,
Rasters, ...)
Source Destination
1717
FME Transformers
Inleiding FME - 2015 - GIM
▶ FME toont het aantal verwerkte objecten (not black box)
▶ Het is eenvoudig om ook moeilijke analyses te doen
1818
Automatisatie – FME Desktop
Inleiding FME - 2015 - GIM
▶ Eenvoudige en complexe omzettingen
▶ Model parameters
▶ Herbruikbaarheid
▶ Opstarten via « prompt and run »
1919
Automatisatie – FME Desktop
Inleiding FME - 2015 - GIM
▶ Batch processing (herhaalbaarheid, ketting van processen)
▶ WorkspaceRunner Transformer
▶ Command Prompt
▶ Windows Scheduler
2020
Automatisatie – FME Desktop
Inleiding FME - 2015 - GIM
▶ Voorbeeld automatisatie functionaliteit
▶ « Fanout »
▶ Exemple
BelgianRailroads
BelgianCommunesSimple model
Simple et rapide!
2121
Automatisatie – FME Server
Inleiding FME - 2015 - GIM
▶ Takenbeheer, wachtrij
▶ Automatische uitvoering
▶ Regelmatige tijdstippen
▶ Als…, dan…
▶ Prioriteiten
▶ Op basis van gebruikers
▶ Op basis van processen
▶ Schaalbaar
▶ Engines
▶ Infrastructure distribuée
▶ Werkelijke tijden (websocket)
2222
Monitor – Notification (FME Server)
Inleiding FME - 2015 - GIM
Notificatie (meldingen)
▶ Als… (event)
▶ IMAP, SMTP (email)
▶ UDP (streaming, xml, JSON)
▶ Verandering op een locatie (directory
watch)
▶ Dan… (notification)
▶ e-mail, SMS à l'utilisateur
▶ HTTP push
▶ FTP upload
2323
Monitor – Reporting (Desktop and Server)
Inleiding FME - 2015 - GIM
Logging
▶ Log files van transformaties (Standaard)
▶ Statistieken, rapportage, data problemen
wegschrijven in formaat naar keuze
▶ Xlsx
▶ DB, shapefile…
2424
Demo FME desktop
Inleiding FME - 2015 - GIM
MITAB: provinces
Shapefile: communes
Excel: hab./commune
Inputs Output: KML
2525
Voorbeelden FME-projecten uitgevoerddoor GIM
Inleiding FME - 2015 - GIM
▶ Data validatie
▶ Project VMM: Kwaliteitscontrole van geodata en data
flow
▶ Data migratie
▶ Project Brugis: Replicatie van databanken
▶ Data integratie
▶ Project AGIV: wegenregister
▶ Opladen van data
▶ Project SPW: Geoportaal
2626
Voorbeeldproject FME
Inleiding FME - 2015 - GIM
Data validatie
Project VMM
Kwaliteitscontrole van geodata en data flow
2727
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
CONTEXT
▶ VMM - Vlaamse Milieu Maatschappij
▶ Rioleringsdatabank:
▶ Planning en toezicht op de waterzuiverings- en rioleringsinfrastructuur
▶ Berekening IE (inwonersequivalent)
▶ Oorsprong data: locale CAD gegevens (externe beheerders)
▶ Opslag in aan AWIS- geo- relationele databank (Informix)
2828
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Probleemstelling:
▶ Volledig manuele verwerking
▶ ArcMap Editertool werd ontwikkeld
▶ Operatoren editeren en zetten ‘s avonds klaar voorfeedback
▶ Nachtelijke validatie-processen (in Informix)
▶ Enkel alfanumerische contrôle (geen topologie)
▶ Volgende ochtend: email met feedback over fouten.
▶ Problemen met corrupte databestanden
▶ 20 VTE’s gedurenden maanden en maanden nodig om data te corrigeren.
2929
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Vraag:
▶ Automatische correctie mogelijk?
▶ Verbeteren validatieproces
▶ Onmiddellijke feedback
▶ Volledige validatie (ook topologie)
▶ Dataflow
▶ Vereenvoudigen, minder kopies
▶ Maar bestaande Informix databanken behouden
3030
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Oplossing:
Fase 1: Analyse
▶ Analyse beschikbara data
▶ Detectie van fouten
▶ Automatische correctie mogelijk?
▶ Uittesten van export en impot in Informix
▶ Resultaten
▶ Een deel van de fouten kunnen automatisch rechtgezet
worden
▶ FME kan correct data lezen en schrijven naar Informix
▶ Het is mogelijk om alle bestaande vaildatieregels te herschrijven
in FME en nog verder aan te vullen en te verbeteren.
▶ Betere en snellere gegevensstroom dankzij FME Server
3131
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Oplossing:
Fase 2: Geautomatiseerde data correcties
▶ Snapping
▶ Samenvoegen van (kleine) lijntjes in elkaar verlengde
▶ Indien in zelfde netwerk
▶ Rekening houden met attributen en kruisingen
▶ …
▶ Opsporen van oneindige lussen
▶ Resultaten
▶ 60426 segmenten werden « gesnapt »
▶ Aantal segmenten herleid tot 80 %
▶ Alle lussen werden opgespoord
▶ 100 % juistheid
3232
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Oplossing:
Fase 3: Verbeteren van de data flow
User/Editor
using ArcGIS
FME Server
Download MyData
Validate MyData
Upload MyData
Extract & Lock
Upload & Unlock
User uses web interface to
interact with FME
Author using FME Desktop to model
Validated
data
Data
being edited
Data editor environment
FME Author environment
Publish Workbench
to FME Server
Data
to be edited
Data ready
for upload
Database Server
PC
Citrix
Network Disk
Query
Server administrator
monitoring FME server
No
Yes
Log file
AWIS
Informix
Spatial Datablade
Productie
AWIS
Informix
Spatial Datablade
Staging
ET
L
Cancel Download
3333
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Oplossing:
Fase 3: Kwaliteitscontrole en feedback
Rapport (HTML) Shapefiles
3434 Inleiding FME - 2015 - GIM
Voorbeeld:
Een segment mag zichzelf niet snijden
Kwaliteitscontrole van geodata en data flow
3535 Inleiding FME - 2015 - GIM
Voorbeeld:
Een segment mag zichzelf niet snijden
Kwaliteitscontrole van geodata en data flow
3636
Kwaliteitscontrole van geodata en data flow
Inleiding FME - 2015 - GIM
Conclusies:
▶ Behoud de werkende onderdelen uit de bestaande
oplossing:
▶ ArcMap Editeertool
▶ AWIS databank
▶ Bestaande Controletools
▶ Tijdswinst
▶ Dankzij automatische correcties
▶ Onmiddellijke feedback validatie
▶ Intelligent logbestand
▶ Onderhoud
▶ Eigen FME-specialist kan eenvoudig validatieregels toevoegen
of wijzigen
3737
Voorbeeldproject FME
Inleiding FME - 2015 - GIM
Data Integratie
Project AGIV
Aanmaak van het wegenregister
3838
Data integratie: Wegenregister
Inleiding FME - 2015 - GIM
Doelstelling:
▶ Combinatie van 2 data bronnen tot 1 netwerk
▶ GRB (AGIV)
▶ Geometrie: Primaire wegen (auto)
▶ Attributen: straatcode, verharding, morfologische wegklasse
▶ ITGI (NGI)
▶ Geometrie: Primaire en secundaire wegen (fiets- en
wandelwegen)
▶ Attributen: Breedte, aantal rijstroken, wegtype
3939
Data integratie: Wegenregister
Inleiding FME - 2015 - GIM
Resultaat:
4040
Voorbeeldproject FME
Inleiding FME - 2015 - GIM
Data Migratie
Project Brugis
Replicatie van databanken
4141
Replicatie van databanken
Inleiding FME - 2015 - GIM
Context:
▶ Geoportaal voor Brussels Gewest
▶ Referentie data in een Oracle Databank
▶ Geoserver wordt gebruikt om webservices te maken met data in een PostGIS databank
▶ Replicatie: Oracle -> PostGIS (elke nacht)
▶ 104 datalagen
4242
Replicatie van databanken
Inleiding FME - 2015 - GIM
Vraag:
▶ Geen onvolledige data in productieomgeving
▶ Geen onderbreking van bestaande services
▶ Geen FME Server
▶ Data in PostGIS worden gepubliceerd door geoserver
webservices
▶ Data in PostGIS worden geëditeerd in QGIS
4343
Replication.bat
Replicatie van databanken
Inleiding FME - 2015 - GIM
Oplossing:
Replicatie
Windows task schedulerElke nacht
Schema:tmpbrugis
CheckSchema:brugis
Notification:E-mail
4444
Replicatie van databanken
Inleiding FME - 2015 - GIM
Oplossing:
▶ Databank schema werd aangemaakt in PGAdmin
▶ Inclusief PK, FK, Procedures and triggers
▶ FME wordt gebruikt om de data uit PostGIS in te lezen in een
(eerste) tijdelijk schema (garantie continuïteit)
▶ Extra controle met FME:
▶ Controle of de replicatie geen problemen heeft gegeven
• Geen problemen: hernoem schema
• Wel problemen: Replicatie wordt niet uitgevoerd en e-mail wordt
uitgestuurd via een python caller. (FME Desktop)
4545
Voorbeeldproject FME
Inleiding FME - 2015 - GIM
Data Upload
Project SPW
Geoportaal
4646
Opladen van data
Inleiding FME - 2015 - GIM
Context:
▶ Update van het geoportaal ‘WalOnMap’
▶ Verschillende overheidsdiensten zijn verantwoordelijk
voor de inhoud en onderhoud van de data
▶ SPW (Le Service Public de Wallonie) is
verantwoordelijk voor het ter beschikking stellen van
de data
4747
Opladen van data
Inleiding FME - 2015 - GIM
Originele situatie en probleem:
▶ Overheidsdiensten nemen beslissing om data op WalOnMap
te publiceren
▶ Via een voornamelijk manueel proces stelt een operator
deze data te beschikking
▶ Deze data worden ingeladen in InfraSIG (Oracle)
4848
Opladen van data
Inleiding FME - 2015 - GIM
Vraag:
▶ Oplaadproces volledig automatiseren
▶ Geen gedeeltelijk upload toelaten
▶ Generische opladen (gemakkelijk te configureren)
▶ Automatische update van bijhorende metadata
▶ Gestuurd door web applicatie
4949
Opladen van data
Inleiding FME - 2015 - GIM
Resultaat:
Modulaire architectuur
▶ Generisch:
▶ Configuratie Opladen (CT)
▶ Contrôle kwaliteit geometrie (CT)
▶ Organisatie in Staging (WS)
▶ Bijwerken metadata (WS)
▶ Rapportage activiteiten (WS)
▶ Notifications
▶ Specifiek:
▶ Ad hoc data verwerkingen en aanpassingen
FME server beheert WS workflow
5050
Opladen van data
Inleiding FME - 2015 - GIM
Configuratie parameters:
▶ Een bestand met alle configuraties
▶ Wordt gelezen door een custom tranformer
5151
Opladen van data
Inleiding FME - 2015 - GIM
Automatische Kwaliteitscontrole:
▶ Self intersection
▶ Duplicate vertices
▶ Duplicate geometrie
▶ Slivers, slivers donut, point donut
▶ Spikes, donut spikes
▶ Niet gesloten polygonen
▶ Donut holes buiten de geometrie
▶ Snapping, overshoot, undershoot
5252
Opladen van data
Inleiding FME - 2015 - GIM
Updaten van InfraSIG databank:
▶ FULL, UPDATE, APPEND, MIXED
▶ Alles in 1 transactie
▶ Python script stelt dynamisch een SQL statement op
▶ Roll back mogelijkheid in geval van een fout
▶ 100% dans FME
5353
Opladen van data
Inleiding FME - 2015 - GIM
Workspace Manager:
▶ Ontvangt instructies voor een upload
▶ Datasets
▶ Producteur, email
▶ Stelt de parameters samen om deze dataset soepel op te
laden.
5454
GIM en Safe software
Inleiding FME - 2015 - GIM
GIM
▶ VAR-partner sinds 1999 (Value added reseller)
▶ Verdeler en contact binnen België
▶ Onderhoud en 1ste lijn support
▶ Informatie
▶ +- 10 FME gebruikers
▶ 3 FME Certified Professionals
▶ 2 FME Certified Trainers
5555
FME opleidingen bij GIM
Inleiding FME - 2015 - GIM
▶ Opleidingsmateriaal van Safe Software (Engelstalig)
▶ Lesgever = FME Certified Trainer
▶ Open Opleidingen
▶ FME Desktop Basis (2 dagen)
▶ FME Server Basis (2 dagen)
▶ Op aanvraag
▶ Advanced opleidingen
Meer informatie www.gim.be
5656
Belgische FME referenties
Inleiding FME - 2015 - GIM
5757
Samenvatting: Waarom FME?
Inleiding FME - 2015 - GIM
▶ Bespaar tijd en geld
▶ Het verwerken van data wordt kinderspel
▶ Verhoog de productiviteit
▶ Automatiseer processen
▶ Ga snel aan de slag
▶ Intuïtieve interface voor niet-programmeurs
▶ Haal meer uit uw data
▶ Combineer meerdere bronnen tot nieuwe informatie
▶ Verbeter de ETL processen
▶ Naar een performante en elegante datastroom
▶ Automatiseer uw taken
▶ Laat de computer het repetitieve werk doen.