SlideShare a Scribd company logo
1 of 49
Using FME for Topographical
Data Generalization at Natural
Resources Canada
Daniel Pilon
Senior project officer at NRCan
Overview
 Map generalization at NRCan
 Principles of good map generalization
 ETL generalization patterns
Map Generalization
The process of reducing detail on a map
Very complex: manually or automatically
Generalization Paradigm Shift
Art Craft
Process
Commodity
Process
 Manually
 Comply to very strict specifications
 Prepackage products 250K, 1M, 7.5M
 Finality on its own
 Automatically (faster turnaround)
 Less complex specifications
 On demand scale production
 Integrated into other products
Generalization Paradigm Shift
Example WMS
Web Mapping Service
• 1 : 30 000 000
• 1 : 7 500 000
• 1 : 1 000 000
• 1 : 250 000
• 1 : 50 000
Generalization Paradigm Shift
Example WMS
1 : 40 000 000
Generalization Paradigm Shift
Example WMS
1 : 5 000 000
Generalization Paradigm Shift
Example WMS
1 : 1 000 000
Generalization Paradigm Shift
Example WMS
1 : 119 000 (serving 1: 50 000) 1 : 121 000 (serving 1: 250 000)
Threshold: 1: 120 000
FME for Generalization…Why?
 Few generalization solutions
 No complete generalization solution
 Some European solutions
 Very complex software to use…
 Tackle European problems
FME for Generalization…Why?
FME for Generalization…Why?
 Few generalization solutions
 No complete generalization solution
 Some European solutions
 Very complex software to use…
 Tackle European problems
 FME as a generalization tool…
 General purpose spatial manipulation engine
 Reliable and fast
 Easily add extensions (python)
Overview
 Map generalization at NRCan
 Principles of good map generalization
 ETL generalization patterns
The principles of Good
Genralization Automation
 Simple and efficient decomposition of the
tasks performed by the cartographers
 Objective tools to characterize map objects
 Tools to edit modify the spatial objects
 Reactive control on the map object’s state
during the process
 Unambiguous rules in order to guide the
process
Generalization
cases
Measure
Behaviour
pattern
Operator
Constraint
Generalization Case
 It is a formalization of the cartographer’s
knowledge (generalization rules) and a
communication tool between the cartographer
and the software engineer
 Generalization cases do not tell us what
algorithms or what parameters to use
Generalization Case example
 For the Vegetation
 For all the Vegetation which breaks the constraint
Dimension: Minimum area
 If the Vegetation breaks the constraint: Position proximity
 Aggregate the area
 Else
 Eliminate the area
The principles of Good
Genralization Automation
 Simple and efficient decomposition of the
tasks performed by the cartographers
 Objective tools to characterize map objects
 Tools to edit modify the spatial objects
 Reactive control on the map object’s state
during the process
 Unambiguous rules in order to guide the
process
Generalization
cases
Measure
Behaviour
pattern
Operator
Constraint
Measures
 Measures are used:
 To calculate the characteristics of map objects (or
group of map objects )
 Before the generalization: to know how to
generalize
 After the generalization: to assess the success of
the applied generalization operations
Measure Examples
Unary measures
Length Area/Perimeter Circularity ratio
Bounding box
Oriented
Bounding box
Triangulation
Measure Examples
 Binary measures
Spatial relationship Distance Triangulation
Measure Examples
 N-ary mesaures H1
S1
H1
S1
H3
S1
H2
S1
H1
S1
H1
S1
H1
S1
H2
S1
H1
S1
H3
S3
H3
S3
H3
S2
H2
S2
H3
S2
H2
S2
H2
S2
Stream ordering (Strahler or Horton)
The principles of Good
Genralization Automation
 Simple and efficient decomposition of the
tasks performed by the cartographers
 Objective tools to characterize map objects
 Tools to edit the spatial objects
 Reactive control on the map object’s state
during the process
 Unambiguous rules in order to guide the
process
Generalization
cases
Measure
Behaviour
pattern
Operator
Constraint
Generalization Operators
 Generalization operators are typical transformations
applied on spatial objects. They allow the decomposition
of the generalization process into several sub-problems in
order to manage complexity
 Generalization operator are implemented using
different generalization algorithms. Ex.: For line
simplification: Douglas & Peucker, Lang, Sherbend
Generalization Operator
Examples
 Selection
 Simplification
 Smoothing
 Collapse
Generalization Operators
Examples
 Aggregation
 Typification
 Displacement
The principles of Good
Genralization Automation
 Simple and efficient decomposition of the
tasks performed by the cartographers
 Objective tools to characterize map objects
 Tools to edit modify the spatial objects
 Reactive control on the map object’s state
during the process
 Unambiguous rules in order to guide the process
Generalization
cases
Measure
Behaviour
pattern
Operator
Constraint
Constraints
 Constraints are rules applied to data in order to comply
with requirements of the target map specifications (ex:
An area must respect the minimum size threshold)
 Constraint are used:
 To trigger a generalization operation
 To assess the result of a generalization operation
 To achieve generalization, a feature must fulfill several
constraints
The principles of Good
Genralization Automation
 Simple and efficient decomposition of the
tasks performed by the cartographers
 Objective tools to characterize map objects
 Tools to edit modify the spatial objects
 Reactive control on the map object’s state
during the process
 Unambiguous rules in order to guide the
process
Generalization
cases
Measure
Behaviour
pattern
Operator
Constraint
Generalization Behaviour
 Provides the link between constraints, generalization
operator and measures
 Implements mechanism for choosing algorithms and
parameters
 Implements mechanism for choosing alternate
scenarios in case of constraint failure
Generalization Behaviour
Example for Line Simplification
Measures on
the feature
Determine the
algorithm to use
Asses the results
through a set of
constraints
Success
Apply the
algorithm on the
feature
Reset to the original geometry
Determine an alternate
algorithm and/or parameters
Failed
ETL Generalization
Patterns
Overview
 Map generalization at NRCan
 Principles of good map generalization
 ETL generalization patterns
ETL Generalization Patterns
 General and reusable solution to a commonly
occurring problem in generalization when used
in an ETL context
 Three stages pattern
 Meta-algorithm pattern
Three Stages Pattern
 Used when generalization operator(s) are
applied on different part of the same feature
 Solution:
1) Create a pseudo-object representing each
generalization operation to be done on the real
objects
2) Evaluate the constraint against the pseudo-objects
created in 1
3) Apply on the real objects the pseudo-objects that
meet the constraint evaluated in 2
Three Stages Pattern Example
 Example with amalgamator operator
 If you implement a one stage process
Three Stages Pattern Example
 Example with amalgamator operator
 If you implement a three stages process
 First create the amalgamation zones
 Second you remove unwanted zone
 Dissolve the area
Meta-Algorithm Pattern
 Used when it is too complex to program the
behaviour and the constraint in an ETL
 Solution:
1) Select the algorithm(s)
2) Select the constraint(s) to implement
3) Select a behaviour pattern
4) Implement the solution in a high level language
5) Wrap the solution in a transformer
Meta-Algorithm Pattern Example
 Example with Sherbend
 Implementation of the Wang algorithm
Line simplification
Basic generalization
operation
We all thought of the
Douglas-Peucker
algorithm to solve that
problem…
Does it simulate the work
of the cartographer well
enough?
An example with
contours
Meta-Algorithm Pattern Example
Contour line
simplification
Red: Original contours
Black: Contours with DP
50m
Meta-Algorithm Pattern Example
Contour line
simplification
Black: Contours with DP
50m
The results are
unacceptable
Does it simulate the
work of the
cartographer?
No
Douglas-Peucker line
simplification is not doing
a good job of
generalizing natural
features
Meta-Algorithm Pattern Example
Contour line
simplification
Red: Original contours
Black: Contours with
Sherbend algorithm with
a parameter of 150m
The Sherbend algorithm
will remove the bends
below the tolerance and
keep the ones above it
Meta-Algorithm Pattern Example
 Example with Sherbend
 Implementation of the Wang algorithm
 Implementation of constraints
 Self intersection
 Line crossing
 Sidedness
Meta-Algorithm Pattern Example
 Implementation of constraints
 Self intersection
 Line crossing
 Sidedness
Meta-Algorithm Pattern Example
 Example with Sherbend
 Implementation of the Wang algorithm
 Implementation of constraints
 Self intersection
 Line crossing
 Sidedness
 Implementation of a scenario to resolve conflicts
(behaviour pattern)
Meta-Algorithm Pattern Example
 Scenario to resolve conflitcs
 Implementation of an iterative process to
resolve constraints
Meta-Algorithm Pattern Example
 Example with Sherbend
 Implementation of the Wang algorithm
 Implementation of constraints
 Self intersection
 Line crossing
 Sidedness
 Implementation of a scenario to resolve conflicts
(behaviour pattern)
 Creation of a new transformer
Meta-Algorithm Pattern Example
Meta-Alorithm Pattern
 Meta-Algrorithms can be developed by user in FME
 FME Python extension (Python caller)
 Open source libraries
 Shapely for spatial manipulation and spatial
relationship (http://pypi.python.org/pypi/Shapely)
 RTree for spatial indexing (http://pypi.python.org/pypi/Rtree/)
 Already implemented the following meta-algorithms
 Douglas Peucker
 Convex
 Spike
 Smoothing
 Sherbend
Future Works
 Develop new generalization patterns applied to ETL
 Develop new meta-algorithms
 Start the generalization of the hydrographic
network
Thank You!
 Questions?
 For more information:
 Daniel Pilon
 Natural Resources Canada
 dpilon@nrcan.gc.ca
 WWW.GEOGRATIS.GC.CA
 WWW.GEOBASE.CA

More Related Content

What's hot

HPLC - Peak integration for chromatography
HPLC - Peak integration for chromatographyHPLC - Peak integration for chromatography
HPLC - Peak integration for chromatographySathish Vemula
 
A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...
A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...
A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...Jin-Hwa Kim
 
EGUE Technikrom Final_8_12_13
EGUE Technikrom Final_8_12_13EGUE Technikrom Final_8_12_13
EGUE Technikrom Final_8_12_13Paul Brodbeck
 
Lesson 5 arima
Lesson 5 arimaLesson 5 arima
Lesson 5 arimaankit_ppt
 
Robust and efficient nonlinear structural analysis using the central differen...
Robust and efficient nonlinear structural analysis using the central differen...Robust and efficient nonlinear structural analysis using the central differen...
Robust and efficient nonlinear structural analysis using the central differen...openseesdays
 
Arima model
Arima modelArima model
Arima modelJassika
 
Markless registration for scans of free form objects
Markless registration for scans of free form objectsMarkless registration for scans of free form objects
Markless registration for scans of free form objectsArtemis Valanis
 
Isen 614 project presentation
Isen 614 project presentationIsen 614 project presentation
Isen 614 project presentationVanshaj Handoo
 
Value Function Approximation via Low-Rank Models
Value Function Approximation via Low-Rank ModelsValue Function Approximation via Low-Rank Models
Value Function Approximation via Low-Rank ModelsLyft
 
Conducting and reporting the results of a cfd simulation
Conducting and reporting the results of a cfd simulationConducting and reporting the results of a cfd simulation
Conducting and reporting the results of a cfd simulationMalik Abdul Wahab
 
Cross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental DesignCross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental Designdans_salford
 

What's hot (15)

HPLC - Peak integration for chromatography
HPLC - Peak integration for chromatographyHPLC - Peak integration for chromatography
HPLC - Peak integration for chromatography
 
A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...
A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...
A summary of Categorical Reparameterization with Gumbel-Softmax by Jang et al...
 
Time series analysis for sales prediction
Time series analysis for sales predictionTime series analysis for sales prediction
Time series analysis for sales prediction
 
Time series forecasting
Time series forecastingTime series forecasting
Time series forecasting
 
AR model
AR modelAR model
AR model
 
EGUE Technikrom Final_8_12_13
EGUE Technikrom Final_8_12_13EGUE Technikrom Final_8_12_13
EGUE Technikrom Final_8_12_13
 
Lesson 5 arima
Lesson 5 arimaLesson 5 arima
Lesson 5 arima
 
Robust and efficient nonlinear structural analysis using the central differen...
Robust and efficient nonlinear structural analysis using the central differen...Robust and efficient nonlinear structural analysis using the central differen...
Robust and efficient nonlinear structural analysis using the central differen...
 
Arima model
Arima modelArima model
Arima model
 
Markless registration for scans of free form objects
Markless registration for scans of free form objectsMarkless registration for scans of free form objects
Markless registration for scans of free form objects
 
Isen 614 project presentation
Isen 614 project presentationIsen 614 project presentation
Isen 614 project presentation
 
Value Function Approximation via Low-Rank Models
Value Function Approximation via Low-Rank ModelsValue Function Approximation via Low-Rank Models
Value Function Approximation via Low-Rank Models
 
Conducting and reporting the results of a cfd simulation
Conducting and reporting the results of a cfd simulationConducting and reporting the results of a cfd simulation
Conducting and reporting the results of a cfd simulation
 
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
 
Cross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental DesignCross-Validation and Big Data Partitioning Via Experimental Design
Cross-Validation and Big Data Partitioning Via Experimental Design
 

Similar to Using FME for Topographical Data Generalization at Natural Resources Canada

Welch Verolog 2013
Welch Verolog 2013Welch Verolog 2013
Welch Verolog 2013Philip Welch
 
Operation's research models
Operation's research modelsOperation's research models
Operation's research modelsAbhinav Kp
 
SPLT Transformer.pptx
SPLT Transformer.pptxSPLT Transformer.pptx
SPLT Transformer.pptxSeungeon Baek
 
Dimensionality Reduction.pptx
Dimensionality Reduction.pptxDimensionality Reduction.pptx
Dimensionality Reduction.pptxPriyadharshiniG41
 
Object Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online LearningObject Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online LearningJui-Hsin (Larry) Lai
 
Concepts of predictive control
Concepts of predictive controlConcepts of predictive control
Concepts of predictive controlJARossiter
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithmSajid Pareeth
 
Fast optimization intevacoct6_3final
Fast optimization intevacoct6_3finalFast optimization intevacoct6_3final
Fast optimization intevacoct6_3finaleArtius, Inc.
 
Parallel Machine Learning
Parallel Machine LearningParallel Machine Learning
Parallel Machine LearningJanani C
 
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...Dongmin Lee
 
Fluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptxFluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptxLibinAbrahamKonattu
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMGRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMIJCSEA Journal
 
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...Maninda Edirisooriya
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Sunny Mervyne Baa
 
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...Soumya Banerjee
 

Similar to Using FME for Topographical Data Generalization at Natural Resources Canada (20)

Welch Verolog 2013
Welch Verolog 2013Welch Verolog 2013
Welch Verolog 2013
 
Operation's research models
Operation's research modelsOperation's research models
Operation's research models
 
Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...
Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...
Modified Multiphase Level Set Image Segmentation Search for Energy Formulatio...
 
master-thesis
master-thesismaster-thesis
master-thesis
 
SPLT Transformer.pptx
SPLT Transformer.pptxSPLT Transformer.pptx
SPLT Transformer.pptx
 
Dimensionality Reduction.pptx
Dimensionality Reduction.pptxDimensionality Reduction.pptx
Dimensionality Reduction.pptx
 
Object Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online LearningObject Tracking with Instance Matching and Online Learning
Object Tracking with Instance Matching and Online Learning
 
Unit 3 part2
Unit 3 part2Unit 3 part2
Unit 3 part2
 
Concepts of predictive control
Concepts of predictive controlConcepts of predictive control
Concepts of predictive control
 
Unit 3 part2
Unit 3 part2Unit 3 part2
Unit 3 part2
 
Unit 3 part2
Unit 3 part2Unit 3 part2
Unit 3 part2
 
Feature Matching using SIFT algorithm
Feature Matching using SIFT algorithmFeature Matching using SIFT algorithm
Feature Matching using SIFT algorithm
 
Fast optimization intevacoct6_3final
Fast optimization intevacoct6_3finalFast optimization intevacoct6_3final
Fast optimization intevacoct6_3final
 
Parallel Machine Learning
Parallel Machine LearningParallel Machine Learning
Parallel Machine Learning
 
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
 
Fluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptxFluent Introduction - Some Best Practice_._.pptx
Fluent Introduction - Some Best Practice_._.pptx
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEMGRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
 
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
 
Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...Models of Operational research, Advantages & disadvantages of Operational res...
Models of Operational research, Advantages & disadvantages of Operational res...
 
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
 

More from Safe Software

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
The Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemThe Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemSafe Software
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISSafe Software
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriSafe Software
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfSafe Software
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologySafe Software
 
Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Safe Software
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
New Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersNew Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersSafe Software
 
Taking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsTaking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsSafe Software
 
Initiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategySafe Software
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Safe Software
 
Mastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMEMastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMESafe Software
 
Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Safe Software
 
Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework Safe Software
 

More from Safe Software (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
The Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data EcosystemThe Critical Role of Spatial Data in Today's Data Ecosystem
The Critical Role of Spatial Data in Today's Data Ecosystem
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GIS
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & Esri
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI Technology
 
Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...Best Practices to Navigating Data and Application Integration for the Enterpr...
Best Practices to Navigating Data and Application Integration for the Enterpr...
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
New Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s FoundersNew Year's Fireside Chat with Safe Software’s Founders
New Year's Fireside Chat with Safe Software’s Founders
 
Taking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New HeightsTaking Off with FME: Elevating Airport Operations to New Heights
Taking Off with FME: Elevating Airport Operations to New Heights
 
Initiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
 
Mastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FMEMastering DevOps-Driven Data Integration with FME
Mastering DevOps-Driven Data Integration with FME
 
Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...Identification of landscape features eligible for EU subsidy - Analysis of la...
Identification of landscape features eligible for EU subsidy - Analysis of la...
 
Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework Utilizing FME as an API Test Framework
Utilizing FME as an API Test Framework
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Using FME for Topographical Data Generalization at Natural Resources Canada

  • 1. Using FME for Topographical Data Generalization at Natural Resources Canada Daniel Pilon Senior project officer at NRCan
  • 2. Overview  Map generalization at NRCan  Principles of good map generalization  ETL generalization patterns
  • 3. Map Generalization The process of reducing detail on a map Very complex: manually or automatically
  • 4. Generalization Paradigm Shift Art Craft Process Commodity Process  Manually  Comply to very strict specifications  Prepackage products 250K, 1M, 7.5M  Finality on its own  Automatically (faster turnaround)  Less complex specifications  On demand scale production  Integrated into other products
  • 5. Generalization Paradigm Shift Example WMS Web Mapping Service • 1 : 30 000 000 • 1 : 7 500 000 • 1 : 1 000 000 • 1 : 250 000 • 1 : 50 000
  • 9. Generalization Paradigm Shift Example WMS 1 : 119 000 (serving 1: 50 000) 1 : 121 000 (serving 1: 250 000) Threshold: 1: 120 000
  • 10. FME for Generalization…Why?  Few generalization solutions  No complete generalization solution  Some European solutions  Very complex software to use…  Tackle European problems
  • 12. FME for Generalization…Why?  Few generalization solutions  No complete generalization solution  Some European solutions  Very complex software to use…  Tackle European problems  FME as a generalization tool…  General purpose spatial manipulation engine  Reliable and fast  Easily add extensions (python)
  • 13. Overview  Map generalization at NRCan  Principles of good map generalization  ETL generalization patterns
  • 14. The principles of Good Genralization Automation  Simple and efficient decomposition of the tasks performed by the cartographers  Objective tools to characterize map objects  Tools to edit modify the spatial objects  Reactive control on the map object’s state during the process  Unambiguous rules in order to guide the process Generalization cases Measure Behaviour pattern Operator Constraint
  • 15. Generalization Case  It is a formalization of the cartographer’s knowledge (generalization rules) and a communication tool between the cartographer and the software engineer  Generalization cases do not tell us what algorithms or what parameters to use
  • 16. Generalization Case example  For the Vegetation  For all the Vegetation which breaks the constraint Dimension: Minimum area  If the Vegetation breaks the constraint: Position proximity  Aggregate the area  Else  Eliminate the area
  • 17. The principles of Good Genralization Automation  Simple and efficient decomposition of the tasks performed by the cartographers  Objective tools to characterize map objects  Tools to edit modify the spatial objects  Reactive control on the map object’s state during the process  Unambiguous rules in order to guide the process Generalization cases Measure Behaviour pattern Operator Constraint
  • 18. Measures  Measures are used:  To calculate the characteristics of map objects (or group of map objects )  Before the generalization: to know how to generalize  After the generalization: to assess the success of the applied generalization operations
  • 19. Measure Examples Unary measures Length Area/Perimeter Circularity ratio Bounding box Oriented Bounding box Triangulation
  • 20. Measure Examples  Binary measures Spatial relationship Distance Triangulation
  • 21. Measure Examples  N-ary mesaures H1 S1 H1 S1 H3 S1 H2 S1 H1 S1 H1 S1 H1 S1 H2 S1 H1 S1 H3 S3 H3 S3 H3 S2 H2 S2 H3 S2 H2 S2 H2 S2 Stream ordering (Strahler or Horton)
  • 22. The principles of Good Genralization Automation  Simple and efficient decomposition of the tasks performed by the cartographers  Objective tools to characterize map objects  Tools to edit the spatial objects  Reactive control on the map object’s state during the process  Unambiguous rules in order to guide the process Generalization cases Measure Behaviour pattern Operator Constraint
  • 23. Generalization Operators  Generalization operators are typical transformations applied on spatial objects. They allow the decomposition of the generalization process into several sub-problems in order to manage complexity  Generalization operator are implemented using different generalization algorithms. Ex.: For line simplification: Douglas & Peucker, Lang, Sherbend
  • 24. Generalization Operator Examples  Selection  Simplification  Smoothing  Collapse
  • 26. The principles of Good Genralization Automation  Simple and efficient decomposition of the tasks performed by the cartographers  Objective tools to characterize map objects  Tools to edit modify the spatial objects  Reactive control on the map object’s state during the process  Unambiguous rules in order to guide the process Generalization cases Measure Behaviour pattern Operator Constraint
  • 27. Constraints  Constraints are rules applied to data in order to comply with requirements of the target map specifications (ex: An area must respect the minimum size threshold)  Constraint are used:  To trigger a generalization operation  To assess the result of a generalization operation  To achieve generalization, a feature must fulfill several constraints
  • 28. The principles of Good Genralization Automation  Simple and efficient decomposition of the tasks performed by the cartographers  Objective tools to characterize map objects  Tools to edit modify the spatial objects  Reactive control on the map object’s state during the process  Unambiguous rules in order to guide the process Generalization cases Measure Behaviour pattern Operator Constraint
  • 29. Generalization Behaviour  Provides the link between constraints, generalization operator and measures  Implements mechanism for choosing algorithms and parameters  Implements mechanism for choosing alternate scenarios in case of constraint failure
  • 30. Generalization Behaviour Example for Line Simplification Measures on the feature Determine the algorithm to use Asses the results through a set of constraints Success Apply the algorithm on the feature Reset to the original geometry Determine an alternate algorithm and/or parameters Failed ETL Generalization Patterns
  • 31. Overview  Map generalization at NRCan  Principles of good map generalization  ETL generalization patterns
  • 32. ETL Generalization Patterns  General and reusable solution to a commonly occurring problem in generalization when used in an ETL context  Three stages pattern  Meta-algorithm pattern
  • 33. Three Stages Pattern  Used when generalization operator(s) are applied on different part of the same feature  Solution: 1) Create a pseudo-object representing each generalization operation to be done on the real objects 2) Evaluate the constraint against the pseudo-objects created in 1 3) Apply on the real objects the pseudo-objects that meet the constraint evaluated in 2
  • 34. Three Stages Pattern Example  Example with amalgamator operator  If you implement a one stage process
  • 35. Three Stages Pattern Example  Example with amalgamator operator  If you implement a three stages process  First create the amalgamation zones  Second you remove unwanted zone  Dissolve the area
  • 36. Meta-Algorithm Pattern  Used when it is too complex to program the behaviour and the constraint in an ETL  Solution: 1) Select the algorithm(s) 2) Select the constraint(s) to implement 3) Select a behaviour pattern 4) Implement the solution in a high level language 5) Wrap the solution in a transformer
  • 37. Meta-Algorithm Pattern Example  Example with Sherbend  Implementation of the Wang algorithm
  • 38. Line simplification Basic generalization operation We all thought of the Douglas-Peucker algorithm to solve that problem… Does it simulate the work of the cartographer well enough? An example with contours Meta-Algorithm Pattern Example
  • 39. Contour line simplification Red: Original contours Black: Contours with DP 50m Meta-Algorithm Pattern Example
  • 40. Contour line simplification Black: Contours with DP 50m The results are unacceptable Does it simulate the work of the cartographer? No Douglas-Peucker line simplification is not doing a good job of generalizing natural features Meta-Algorithm Pattern Example
  • 41. Contour line simplification Red: Original contours Black: Contours with Sherbend algorithm with a parameter of 150m The Sherbend algorithm will remove the bends below the tolerance and keep the ones above it Meta-Algorithm Pattern Example
  • 42.  Example with Sherbend  Implementation of the Wang algorithm  Implementation of constraints  Self intersection  Line crossing  Sidedness Meta-Algorithm Pattern Example
  • 43.  Implementation of constraints  Self intersection  Line crossing  Sidedness Meta-Algorithm Pattern Example
  • 44.  Example with Sherbend  Implementation of the Wang algorithm  Implementation of constraints  Self intersection  Line crossing  Sidedness  Implementation of a scenario to resolve conflicts (behaviour pattern) Meta-Algorithm Pattern Example
  • 45.  Scenario to resolve conflitcs  Implementation of an iterative process to resolve constraints Meta-Algorithm Pattern Example
  • 46.  Example with Sherbend  Implementation of the Wang algorithm  Implementation of constraints  Self intersection  Line crossing  Sidedness  Implementation of a scenario to resolve conflicts (behaviour pattern)  Creation of a new transformer Meta-Algorithm Pattern Example
  • 47. Meta-Alorithm Pattern  Meta-Algrorithms can be developed by user in FME  FME Python extension (Python caller)  Open source libraries  Shapely for spatial manipulation and spatial relationship (http://pypi.python.org/pypi/Shapely)  RTree for spatial indexing (http://pypi.python.org/pypi/Rtree/)  Already implemented the following meta-algorithms  Douglas Peucker  Convex  Spike  Smoothing  Sherbend
  • 48. Future Works  Develop new generalization patterns applied to ETL  Develop new meta-algorithms  Start the generalization of the hydrographic network
  • 49. Thank You!  Questions?  For more information:  Daniel Pilon  Natural Resources Canada  dpilon@nrcan.gc.ca  WWW.GEOGRATIS.GC.CA  WWW.GEOBASE.CA