This presentation discusses using FME to create a new road network dataset by combining and transforming data from two existing sources. Key steps included preprocessing the data, matching and linking geometries between the sources, performing geometric manipulations, creating lookup tables to link original and final geometries, and calculating attributes. Automated validation rules helped identify potential errors. While most processing was automated in FME, some manual corrections were still needed. The cloner transformer was highlighted as a performance improvement over nested looping approaches for attribute calculation.
2. 2
Who am I?
Bruno De Lat GIM
FME Certified Professionel
FME Certified Trainer
GIS Project Manager
VAR partner (Gold Value)
Belgium
40 employees
GIS
GEO-ICT
Earth Observation
Geomarketing
3. 3
Presentation
1. MRB Road project
1. Goal
2. 2 data sources
3. Simplified Data Specs
2. Solutions
1. FME production
2. FME validation
3. manual corrections
5. 5
Goal MRB roads
! Create new authentic road network
! Flanders + Brussels + Buffer 50 km
6. 6
Presentation
1. MRB Road project
1. Goal
2. 2 data sources
3. Simplified Data Specs
2. Solutions
1. FME production
2. FME validation
3. manual corrections
7. 7
2 data sources
GRB (red) ITGI (yellow)
Owner AGIV NGI
Available layers Wegverbinding (wvb)
Wegknopen (wkn)
RO_RoadSegmentWithStreetname
RO_PathSegment
RO_DirtRoadSegment
Coverage Flanders Belgium
Content Street axis Streets (cars)
Bike paths
Walking paths
Attributes Streetcode CRAB
Paved/unpaved
Road type
Road Width
Paved/unpaved
Number of lanes
Road Type
2-lane road
Street name
8. 8
Presentation
1. MRB Road project
1. Goal
2. 2 data sources
3. Simplified Data Specs
2. Solutions
1. FME production
2. FME validation
3. manual corrections
10. 10
Simplified Data specs
! Geometry
! Exceptions
! Keep red if yellow is not present
(bikes, walking paths)
! Keep red if red is 2-lane-structure
11. 11
Simplified Data specs
! Attributes
! Road type: yellow or red
! Street code: yellow (or red)
! Number of lanes: red
! Paved/unpaved: yellow or red
! Road width: red
! Original id’s: red and yellow
17. 17
! Buffers:
! 1m, 5m, 10m,
! VORONOI-principle
! Around yellow segments
! Use:
! Red is located inside X
number of yellow
buffers
! Y% of red is inside a
yellow buffer
(1) Preprocessing Buffers en
Brunnels
20. 20
(2) Recuperation Geometry
! LINK yellow to red if they represent the same
road
! No corrections, just linking original geometries
! Importance:
! Determine which geometry will be kept/removed.
! Determine from which original segment the
resulting geometry needs to get attribute-
information.
22. 22
(2) Recuperation Geometry
2 data sources:
GRB
ITGI
2 data sources:
GRB
ITGI
Difficulties:
(1) Different digitalisations of crossings.
(2) 1-0, 0-1, 1-1, 1-n, n-1, n-n
0-1
1-0
1-1
2-1
1-2
23. 23
(2) Recuperation Geometry
2 data sources:
GRB
ITGI
2 data sources:
GRB
ITGI
Solution: Waterfall matching
Start with segments which are easy
to match and put them away.
Continue with the unmatched
records. Match again but with
less restrictions… continue..
24. 24
(2) Recuperation Geometry
2 data sources:
GRB
ITGI
2 data sources:
GRB
ITGI
Example: Step 2: 0-1
red segments which are completely
outside a 10 m buffer of yellow.
25. 25
(2) Recuperation Geometry
2 data sources:
GRB
ITGI
2 data sources:
GRB
ITGI
Example: Step 4: Parameters 1-1
- At least 70% red needs to be
inside 1 5-m-buffer of yellow
- Length red is 80%-120% of
length yellow
- Maximum average azimuth
difference between yellow and
red is 15°
- Street name must match.
- Distance between both
centroids is maximum 20m
26. 26
(2) Recuperation Geometry
2 data sources:
GRB
ITGI
2 data sources:
GRB
ITGI
Example: Step 6: 1 - n
All red segments completely inside
1m GRB buffer
Sum of segment lengths red is
90%-110% of length yellow
29. 29
Waterfall matching approach
! Advantages:
! Full control
! Re-usable custom transformers
! Disadvantages:
! Weakest spot of the solution
! Parameters can be successful for some situations,
but can introduce bad matches on others..
(Emperical values)
39. 39
! For each final segment
! Loop over (1 or more) Geometry_id
! Loop over (1 or more) original red segments
! Calculate from-pos and to-pos (“Project” original
geometry on road segment)
! Use necessary attributes
! Loop over (1 or more) original GRB-segments
! Calculate from-pos and to-pos
! Use necessary attributes
! After calculation a cleaning operation is necessary
if values are equal.
(5) Calculate attributes
40. 40
(5) Calculate Attributes
! First solution: Algorithm with a loop inside a loop:
! Works fine when 1 records enters, but can work
incorrectly from the moment more than 1 records
come in.
! Must be executed with workspacerunners to avoid
interaction in second loop.
! Workspace runners slows down the solution (FME
needs to start each time)
! Looking for an alternative…
41. 41
The alternative!
! Cloner!
! Clone each original segment X
times, with X = number of
times it is used by new
segment
! Give ID and proces frompos
topos algortihm with group
by-options.
! Performance benefit?
Area size Double loop Cloner
5km x 5km 1h30 1m30
20km x 50 km 3 days 10 minutes
42. 42
Presentation
1. MRB Road project
1. Goal
2. 2 data sources
3. Simplified Data Specs
2. Solutions
1. FME production
2. FME validation
3. manual corrections
43. 43
Automated Validation
! 51 Validation Rules
! Buffer-shapefiles around potentional errors and
situations
! Manual corrections possible
! Statistics
47. 47
FME Conclusions
! Keep pre-processing steps (buffers + brunnels)
separated from different models
! Avoid a double list, use cloner-solution if possible
48. Thank You!
! Questions?
! For more information:
! Bruno De Lat
! GIM (Belgium)
! www.gim.be
! bruno.delat@gim.be
CONNECT. TRANSFORM. AUTOMATE.