SlideShare a Scribd company logo
1 of 28
Download to read offline
Time Machines
and Attribute
Alchemy
Date & Time Attribute Manipulation
Last Year
Attribute Management
Quality Control
Story Time
with the
AttributeManager
Automation:
Loading the National Street Gazetter
(NSG) to support Water Utility
Operations
Mary O’Brien
Goal: To automate and enhance the
content of monthly loads of the new version
(DTF 8.1) of the NSG into a fixed MS SQL
Server schema.
Problem: Source Data Mayhem
● The NSG is a conflated dataset formed from the LSG supplied by Local Authorities,
Network Rail and Highways England.
● Not all of the elements of the ‘standard’ are mandatory.
● Some suppliers contribute a different level of quality of data to others.
● It’s a hierarchical format, with streets being formed of ‘child’ segments.
● Much of the metadata about the geometry e.g. ‘One Way Exemptions’ needs to be
referenced to a geometry segment with a primary key.
● The NSG is supplied as CSV files.
Problem: It’s ALL about Attributes!
● The NSG is supplied as CSV files.
● LG = Street file
● AD = Additional street data
● Every row in each CSV has its own ‘Record Type’, this identifies the content and
means that each row potentially has a different schema to the next row.
Type 11 – Street Record
Type 12 – Street XREF (1:M - child of 11)
Achieving Automation
• Define schema and map to target SQL Server database (17
record types, all different schemas)
• AttributeFilter: Separate data streams for each record type
• VertexCreator and PointConnector: Build the geometry
• AttributeManager: Enhance the schema specific to YW
• Supplied a batch file to run the workspaces in sequence. Can
be scheduled to run monthly when new supply arrives
Achieving Quality
Custom transformer built by 1Spatial – the MessageLogger to alert Yorkshire
Water to specific data anomalies that we could trap:
• Zero length roads: Road segment start and end coordinates in same
location.
• Missing start or end: Street section resolves to a point geometry.
• No coordinates: Street section results in NULL geometry
Achieving a Common Schema
Transform the DTF schema
to conform to Yorkshire
Water’s database:
AttributeManager
Many AttributeManagers to
adjust attributes in each
flow.
Thanks
Thanks to Mark Walpole and Matthew Flynn at Yorkshire Water
1. Dates and times
Royal Canadian Mounted Police
E Division
Heidi Lee | Robert Shultz
Goal: Load GPS records into ArcGIS
Different hardware meant problems:
➔Inconsistent date formats
➔Time zones
➔ Daylight saving
Solution: TCLCaller & some TCL date functions
Dates and times are
complicated.
Formatting?
● YYMMDD, HHMMSS, UTC
● Jun 2016
● ‘on Saturday, Jan 9th 2016, 01:00 am’ & ‘+0530’
● 2016-12-07 12:20:07.785403-05
● 20160313020000.000 (March 13 - Daylight Saving)
● <d v="2016-12-13T00:00:00"/> (Excel)
● YYYY-MM-DD hh:mm:ss[.nnnnnnn] (SQL Server
‘datetime2’ value)
Calculations?
● Date2-Date1 = How many days?
Read
Transform
Parse
Process
Format
Write
Read
Transform
Parse
Process
Format
Write
Over to FME
Attribute Alchemy
Southern Company
Jeff DeWitt
HOK Inc.
David Baldacchino
Goals:
➔ Test for patterns in attribute values
➔ Extract substrings from attribute values
➔ Validate strings
2. Finding patterns
Fisher German
Seb Kingsley
RCMP E Div.
Heidi Lee
Southern Company
Problem: Attribute value cleanup
- MONTANA * or Sales/Other (1)
HOK Inc.
Problem: Extract Sheet numbers from file names
- MyProject - Sheet - A512 - PARTITION TYPES & …
- G001 - GENERAL NOTES, ABBREVIATIONS, SYMBOLS, ...
Fisher German
Problem: Validate address strings and find postcodes
- 14 High Street, Ashby, LE65 2UZ, UK
Postcode Hunting
14 High Street, Ashby, LE652UZ, UK
(GIR 0AA|[A-PR-UWYZ]([0-9][0-9A-HJKS-UW]
?|[A-HK-Y][0-9][0-9ABEHMNPRV-Y]?)[0-9]
[ABD-HJLNP-UW-Z]{2})
Address validation
Rue Achille Masset 52A
^((([a-zA-Z]+) )+)([0-9]+)([a-zA-Z]*)$
Wave the wand of regex
Regex is
awesome!
Over to FME
Regular Expression
Editor…
Making regex
easier since
FME 2016
Alternatively: String functions
Regex vs. String Functions Example
Code ABD3705337067
Regular Expression: ([A-Z]{3})([0-9]+)
String Functions:
Attribute String Function
alpha @Left(@Value(Code),3)
beta @Substring(@Value(Code),3,-1)
Summary
1. Attribute transformation is a major part of ETL
work.
- Data migration relies on it.
- Use it to extract value (like )
2. DateTime transformers and Text Editor functions
help with:
○ Date/time formatting
○ Calculations
3. Regex and string functions help with pattern
matching.
Questions?
Learn more:
Tutorial: Data & Time Attributes
AttributeManager
Documentation
http://rubular.com/
David Eagle
Managing Consultant
FME Certified Professional & Trainer
david.eagle@1spatial.com
Twitter @david_eagle

More Related Content

What's hot

Writing an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on FlinkWriting an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on FlinkEventador
 
BIM-based Enterprise GIS Workflows for Facilities Management with QA/QC
BIM-based Enterprise GIS Workflows for Facilities Management with QA/QCBIM-based Enterprise GIS Workflows for Facilities Management with QA/QC
BIM-based Enterprise GIS Workflows for Facilities Management with QA/QCSafe Software
 
Ca 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood PortfolioCa 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood PortfolioJohn_Buickerood
 
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...Flink Forward
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011Jeff McKenna
 
Streaming sql w kafka and flink
Streaming sql w  kafka and flinkStreaming sql w  kafka and flink
Streaming sql w kafka and flinkKenny Gorman
 
Map reduce presentation
Map reduce presentationMap reduce presentation
Map reduce presentationAhmad El Tawil
 
Powering GIS Operations with ColdFusion
Powering GIS Operations with ColdFusionPowering GIS Operations with ColdFusion
Powering GIS Operations with ColdFusionColdFusionConference
 
OSGeo Conferences Report
OSGeo Conferences ReportOSGeo Conferences Report
OSGeo Conferences ReportJeff McKenna
 
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료BJ Jang
 
Stream Analytics with SQL on Apache Flink - Fabian Hueske
Stream Analytics with SQL on Apache Flink - Fabian HueskeStream Analytics with SQL on Apache Flink - Fabian Hueske
Stream Analytics with SQL on Apache Flink - Fabian HueskeEvention
 
GoFFish - A Sub-graph centric framework for large scale graph analytics
GoFFish - A Sub-graph centric framework for large scale graph analyticsGoFFish - A Sub-graph centric framework for large scale graph analytics
GoFFish - A Sub-graph centric framework for large scale graph analyticscharithwiki
 
MapReduce: Optimizations, Limitations, and Open Issues
MapReduce: Optimizations, Limitations, and Open IssuesMapReduce: Optimizations, Limitations, and Open Issues
MapReduce: Optimizations, Limitations, and Open IssuesVasia Kalavri
 
Maximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your SleepMaximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your SleepSSP Innovations
 
MapServer #ProTips 2015
MapServer #ProTips 2015MapServer #ProTips 2015
MapServer #ProTips 2015Jeff McKenna
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...BJ Jang
 
VENUS: Vertex-Centric Streamlined Graph Computation on a Single PC
VENUS: Vertex-Centric Streamlined Graph Computation on a Single PCVENUS: Vertex-Centric Streamlined Graph Computation on a Single PC
VENUS: Vertex-Centric Streamlined Graph Computation on a Single PCQin Liu
 

What's hot (20)

Writing an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on FlinkWriting an Interactive Interface for SQL on Flink
Writing an Interactive Interface for SQL on Flink
 
BIM-based Enterprise GIS Workflows for Facilities Management with QA/QC
BIM-based Enterprise GIS Workflows for Facilities Management with QA/QCBIM-based Enterprise GIS Workflows for Facilities Management with QA/QC
BIM-based Enterprise GIS Workflows for Facilities Management with QA/QC
 
Ca 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood PortfolioCa 10 G1 John Buickerood Portfolio
Ca 10 G1 John Buickerood Portfolio
 
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011
 
Streaming sql w kafka and flink
Streaming sql w  kafka and flinkStreaming sql w  kafka and flink
Streaming sql w kafka and flink
 
Map reduce presentation
Map reduce presentationMap reduce presentation
Map reduce presentation
 
Whats new in IC 2016?
Whats new in IC 2016?Whats new in IC 2016?
Whats new in IC 2016?
 
Powering GIS Operations with ColdFusion
Powering GIS Operations with ColdFusionPowering GIS Operations with ColdFusion
Powering GIS Operations with ColdFusion
 
OSGeo Conferences Report
OSGeo Conferences ReportOSGeo Conferences Report
OSGeo Conferences Report
 
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
 
What's new in IP 4.4
What's new in IP 4.4What's new in IP 4.4
What's new in IP 4.4
 
Stream Analytics with SQL on Apache Flink - Fabian Hueske
Stream Analytics with SQL on Apache Flink - Fabian HueskeStream Analytics with SQL on Apache Flink - Fabian Hueske
Stream Analytics with SQL on Apache Flink - Fabian Hueske
 
GoFFish - A Sub-graph centric framework for large scale graph analytics
GoFFish - A Sub-graph centric framework for large scale graph analyticsGoFFish - A Sub-graph centric framework for large scale graph analytics
GoFFish - A Sub-graph centric framework for large scale graph analytics
 
MapReduce: Optimizations, Limitations, and Open Issues
MapReduce: Optimizations, Limitations, and Open IssuesMapReduce: Optimizations, Limitations, and Open Issues
MapReduce: Optimizations, Limitations, and Open Issues
 
Maximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your SleepMaximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your Sleep
 
Mapwise in the Field with GPS
Mapwise in the Field with GPSMapwise in the Field with GPS
Mapwise in the Field with GPS
 
MapServer #ProTips 2015
MapServer #ProTips 2015MapServer #ProTips 2015
MapServer #ProTips 2015
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...
 
VENUS: Vertex-Centric Streamlined Graph Computation on a Single PC
VENUS: Vertex-Centric Streamlined Graph Computation on a Single PCVENUS: Vertex-Centric Streamlined Graph Computation on a Single PC
VENUS: Vertex-Centric Streamlined Graph Computation on a Single PC
 

Similar to 1Spatial: Cardiff FME World Tour: Time machines and attribute alchemy

Time Machines and Attribute Alchemy
Time Machines and Attribute AlchemyTime Machines and Attribute Alchemy
Time Machines and Attribute AlchemySafe Software
 
Utilities Industry Success Stories with FME
Utilities Industry Success Stories with FME Utilities Industry Success Stories with FME
Utilities Industry Success Stories with FME Safe Software
 
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...Safe Software
 
Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...True North Geographic Technologies
 
Open Source North - MongoDB Advanced Schema Design Patterns
Open Source North - MongoDB Advanced Schema Design PatternsOpen Source North - MongoDB Advanced Schema Design Patterns
Open Source North - MongoDB Advanced Schema Design PatternsMatthew Kalan
 
Network Mapping - Esri UK Annual Conference 2016
Network Mapping - Esri UK Annual Conference 2016Network Mapping - Esri UK Annual Conference 2016
Network Mapping - Esri UK Annual Conference 2016Esri UK
 
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...Martin Zapletal
 
Bridging Between CAD & GIS: 8 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Your Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Your Data IntegrationSafe Software
 
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...Databricks
 
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationSafe Software
 
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...StreamNative
 
From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...
From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...
From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...confluent
 
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationSafe Software
 
Resume_sukanta_updated
Resume_sukanta_updatedResume_sukanta_updated
Resume_sukanta_updatedSukanta Saha
 
Resume_APRIL_updated
Resume_APRIL_updatedResume_APRIL_updated
Resume_APRIL_updatedSukanta Saha
 
Resume april updated
Resume april updatedResume april updated
Resume april updatedSukanta Saha
 
new_informatica_1
new_informatica_1new_informatica_1
new_informatica_1rao dpr
 

Similar to 1Spatial: Cardiff FME World Tour: Time machines and attribute alchemy (20)

Time Machines and Attribute Alchemy
Time Machines and Attribute AlchemyTime Machines and Attribute Alchemy
Time Machines and Attribute Alchemy
 
Utilities Industry Success Stories with FME
Utilities Industry Success Stories with FME Utilities Industry Success Stories with FME
Utilities Industry Success Stories with FME
 
seminar100326a.pdf
seminar100326a.pdfseminar100326a.pdf
seminar100326a.pdf
 
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
Reporting Summary Information of Spatial Datasets and Non-Compliance Issues U...
 
Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...Strategies for Integrating Utility System Operational Data into ArcGIS Server...
Strategies for Integrating Utility System Operational Data into ArcGIS Server...
 
Open Source North - MongoDB Advanced Schema Design Patterns
Open Source North - MongoDB Advanced Schema Design PatternsOpen Source North - MongoDB Advanced Schema Design Patterns
Open Source North - MongoDB Advanced Schema Design Patterns
 
Network Mapping - Esri UK Annual Conference 2016
Network Mapping - Esri UK Annual Conference 2016Network Mapping - Esri UK Annual Conference 2016
Network Mapping - Esri UK Annual Conference 2016
 
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
Large volume data analysis on the Typesafe Reactive Platform - Big Data Scala...
 
Bridging Between CAD & GIS: 8 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Your Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Your Data Integration
 
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
The Future of Data Science and Machine Learning at Scale: A Look at MLflow, D...
 
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
 
Resume 11 2015
Resume 11 2015Resume 11 2015
Resume 11 2015
 
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
Pulsar in the Lakehouse: Overview of Apache Pulsar and Delta Lake Connector -...
 
From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...
From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...
From Zero to Streaming Healthcare in Production (Alexander Kouznetsov, Invita...
 
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data IntegrationBridging Between CAD & GIS: 8 Ways to Automate Data Integration
Bridging Between CAD & GIS: 8 Ways to Automate Data Integration
 
Resume_sukanta_updated
Resume_sukanta_updatedResume_sukanta_updated
Resume_sukanta_updated
 
Resume_APRIL_updated
Resume_APRIL_updatedResume_APRIL_updated
Resume_APRIL_updated
 
Resume april updated
Resume april updatedResume april updated
Resume april updated
 
Resume
ResumeResume
Resume
 
new_informatica_1
new_informatica_1new_informatica_1
new_informatica_1
 

More from 1Spatial

1Spatial Australia: Batch Data Processing
1Spatial Australia: Batch Data Processing1Spatial Australia: Batch Data Processing
1Spatial Australia: Batch Data Processing1Spatial
 
1Spatial Australia: Dynamic Mapping
1Spatial Australia: Dynamic Mapping1Spatial Australia: Dynamic Mapping
1Spatial Australia: Dynamic Mapping1Spatial
 
1Spatial Australia: Finding FME
1Spatial Australia: Finding FME1Spatial Australia: Finding FME
1Spatial Australia: Finding FME1Spatial
 
1Spatial Australia: Introduction and getting started with fme 2017
1Spatial Australia: Introduction and getting started with fme 20171Spatial Australia: Introduction and getting started with fme 2017
1Spatial Australia: Introduction and getting started with fme 20171Spatial
 
1Spatial Australia: FME Server: Charms in the enterprise
1Spatial Australia: FME Server: Charms in the enterprise1Spatial Australia: FME Server: Charms in the enterprise
1Spatial Australia: FME Server: Charms in the enterprise1Spatial
 
1Spatial Australia: Ultimate real time - monitor anything, update anything
1Spatial Australia: Ultimate real time - monitor anything, update anything1Spatial Australia: Ultimate real time - monitor anything, update anything
1Spatial Australia: Ultimate real time - monitor anything, update anything1Spatial
 
1Spatial Australia: Remote sensing data - instant home delivery
1Spatial Australia: Remote sensing data - instant home delivery1Spatial Australia: Remote sensing data - instant home delivery
1Spatial Australia: Remote sensing data - instant home delivery1Spatial
 
1Spatial Australia: FME workbench performance tips and tricks
1Spatial Australia: FME workbench performance tips and tricks1Spatial Australia: FME workbench performance tips and tricks
1Spatial Australia: FME workbench performance tips and tricks1Spatial
 
1Spatial: FME World Tour London: BIM/GIS Integration
1Spatial: FME World Tour London: BIM/GIS Integration1Spatial: FME World Tour London: BIM/GIS Integration
1Spatial: FME World Tour London: BIM/GIS Integration1Spatial
 
1Spatial: FME World Tour London: Digital surveying with FME
1Spatial: FME World Tour London: Digital surveying with FME1Spatial: FME World Tour London: Digital surveying with FME
1Spatial: FME World Tour London: Digital surveying with FME1Spatial
 
1Spatial: FME World Tour London: Postal address clean-up
1Spatial: FME World Tour London: Postal address clean-up1Spatial: FME World Tour London: Postal address clean-up
1Spatial: FME World Tour London: Postal address clean-up1Spatial
 
1Spatial: FME World Tour London: Modelling the world in Minecraft
1Spatial: FME World Tour London: Modelling the world in Minecraft1Spatial: FME World Tour London: Modelling the world in Minecraft
1Spatial: FME World Tour London: Modelling the world in Minecraft1Spatial
 
1Spatial: Leeds FME World Tour: Extracting value from our FME investment
1Spatial: Leeds FME World Tour: Extracting value from our FME investment1Spatial: Leeds FME World Tour: Extracting value from our FME investment
1Spatial: Leeds FME World Tour: Extracting value from our FME investment1Spatial
 
1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...
1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...
1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...1Spatial
 
1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME
1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME
1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME1Spatial
 
1Spatial: Edinburgh FME World Tour: Performance tips
1Spatial: Edinburgh FME World Tour: Performance tips1Spatial: Edinburgh FME World Tour: Performance tips
1Spatial: Edinburgh FME World Tour: Performance tips1Spatial
 
1Spatial: Edinburgh FME World Tour: Community council information service
1Spatial: Edinburgh FME World Tour: Community council information service1Spatial: Edinburgh FME World Tour: Community council information service
1Spatial: Edinburgh FME World Tour: Community council information service1Spatial
 
1Spatial: Edinburgh FME World Tour: Maintain a national buildings database
1Spatial: Edinburgh FME World Tour: Maintain a national buildings database1Spatial: Edinburgh FME World Tour: Maintain a national buildings database
1Spatial: Edinburgh FME World Tour: Maintain a national buildings database1Spatial
 
1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth
1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth
1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth1Spatial
 
1Spatial: Cardiff FME World Tour: Saving memory, saving time
1Spatial: Cardiff FME World Tour: Saving memory, saving time1Spatial: Cardiff FME World Tour: Saving memory, saving time
1Spatial: Cardiff FME World Tour: Saving memory, saving time1Spatial
 

More from 1Spatial (20)

1Spatial Australia: Batch Data Processing
1Spatial Australia: Batch Data Processing1Spatial Australia: Batch Data Processing
1Spatial Australia: Batch Data Processing
 
1Spatial Australia: Dynamic Mapping
1Spatial Australia: Dynamic Mapping1Spatial Australia: Dynamic Mapping
1Spatial Australia: Dynamic Mapping
 
1Spatial Australia: Finding FME
1Spatial Australia: Finding FME1Spatial Australia: Finding FME
1Spatial Australia: Finding FME
 
1Spatial Australia: Introduction and getting started with fme 2017
1Spatial Australia: Introduction and getting started with fme 20171Spatial Australia: Introduction and getting started with fme 2017
1Spatial Australia: Introduction and getting started with fme 2017
 
1Spatial Australia: FME Server: Charms in the enterprise
1Spatial Australia: FME Server: Charms in the enterprise1Spatial Australia: FME Server: Charms in the enterprise
1Spatial Australia: FME Server: Charms in the enterprise
 
1Spatial Australia: Ultimate real time - monitor anything, update anything
1Spatial Australia: Ultimate real time - monitor anything, update anything1Spatial Australia: Ultimate real time - monitor anything, update anything
1Spatial Australia: Ultimate real time - monitor anything, update anything
 
1Spatial Australia: Remote sensing data - instant home delivery
1Spatial Australia: Remote sensing data - instant home delivery1Spatial Australia: Remote sensing data - instant home delivery
1Spatial Australia: Remote sensing data - instant home delivery
 
1Spatial Australia: FME workbench performance tips and tricks
1Spatial Australia: FME workbench performance tips and tricks1Spatial Australia: FME workbench performance tips and tricks
1Spatial Australia: FME workbench performance tips and tricks
 
1Spatial: FME World Tour London: BIM/GIS Integration
1Spatial: FME World Tour London: BIM/GIS Integration1Spatial: FME World Tour London: BIM/GIS Integration
1Spatial: FME World Tour London: BIM/GIS Integration
 
1Spatial: FME World Tour London: Digital surveying with FME
1Spatial: FME World Tour London: Digital surveying with FME1Spatial: FME World Tour London: Digital surveying with FME
1Spatial: FME World Tour London: Digital surveying with FME
 
1Spatial: FME World Tour London: Postal address clean-up
1Spatial: FME World Tour London: Postal address clean-up1Spatial: FME World Tour London: Postal address clean-up
1Spatial: FME World Tour London: Postal address clean-up
 
1Spatial: FME World Tour London: Modelling the world in Minecraft
1Spatial: FME World Tour London: Modelling the world in Minecraft1Spatial: FME World Tour London: Modelling the world in Minecraft
1Spatial: FME World Tour London: Modelling the world in Minecraft
 
1Spatial: Leeds FME World Tour: Extracting value from our FME investment
1Spatial: Leeds FME World Tour: Extracting value from our FME investment1Spatial: Leeds FME World Tour: Extracting value from our FME investment
1Spatial: Leeds FME World Tour: Extracting value from our FME investment
 
1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...
1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...
1Spatial: Leeds FME World Tour: How FME helps us create & maintain a national...
 
1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME
1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME
1Spatial: Leeds FME World Tour: Improving the flow of asset information with FME
 
1Spatial: Edinburgh FME World Tour: Performance tips
1Spatial: Edinburgh FME World Tour: Performance tips1Spatial: Edinburgh FME World Tour: Performance tips
1Spatial: Edinburgh FME World Tour: Performance tips
 
1Spatial: Edinburgh FME World Tour: Community council information service
1Spatial: Edinburgh FME World Tour: Community council information service1Spatial: Edinburgh FME World Tour: Community council information service
1Spatial: Edinburgh FME World Tour: Community council information service
 
1Spatial: Edinburgh FME World Tour: Maintain a national buildings database
1Spatial: Edinburgh FME World Tour: Maintain a national buildings database1Spatial: Edinburgh FME World Tour: Maintain a national buildings database
1Spatial: Edinburgh FME World Tour: Maintain a national buildings database
 
1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth
1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth
1Spatial: Edinburgh FME World Tour: Property flood risk in Google Earth
 
1Spatial: Cardiff FME World Tour: Saving memory, saving time
1Spatial: Cardiff FME World Tour: Saving memory, saving time1Spatial: Cardiff FME World Tour: Saving memory, saving time
1Spatial: Cardiff FME World Tour: Saving memory, saving time
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
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
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
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
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

1Spatial: Cardiff FME World Tour: Time machines and attribute alchemy

  • 2. Date & Time Attribute Manipulation
  • 5. Automation: Loading the National Street Gazetter (NSG) to support Water Utility Operations Mary O’Brien
  • 6. Goal: To automate and enhance the content of monthly loads of the new version (DTF 8.1) of the NSG into a fixed MS SQL Server schema.
  • 7. Problem: Source Data Mayhem ● The NSG is a conflated dataset formed from the LSG supplied by Local Authorities, Network Rail and Highways England. ● Not all of the elements of the ‘standard’ are mandatory. ● Some suppliers contribute a different level of quality of data to others. ● It’s a hierarchical format, with streets being formed of ‘child’ segments. ● Much of the metadata about the geometry e.g. ‘One Way Exemptions’ needs to be referenced to a geometry segment with a primary key. ● The NSG is supplied as CSV files.
  • 8. Problem: It’s ALL about Attributes! ● The NSG is supplied as CSV files. ● LG = Street file ● AD = Additional street data ● Every row in each CSV has its own ‘Record Type’, this identifies the content and means that each row potentially has a different schema to the next row. Type 11 – Street Record Type 12 – Street XREF (1:M - child of 11)
  • 9. Achieving Automation • Define schema and map to target SQL Server database (17 record types, all different schemas) • AttributeFilter: Separate data streams for each record type • VertexCreator and PointConnector: Build the geometry • AttributeManager: Enhance the schema specific to YW • Supplied a batch file to run the workspaces in sequence. Can be scheduled to run monthly when new supply arrives
  • 10. Achieving Quality Custom transformer built by 1Spatial – the MessageLogger to alert Yorkshire Water to specific data anomalies that we could trap: • Zero length roads: Road segment start and end coordinates in same location. • Missing start or end: Street section resolves to a point geometry. • No coordinates: Street section results in NULL geometry
  • 11. Achieving a Common Schema Transform the DTF schema to conform to Yorkshire Water’s database: AttributeManager Many AttributeManagers to adjust attributes in each flow.
  • 12. Thanks Thanks to Mark Walpole and Matthew Flynn at Yorkshire Water
  • 13. 1. Dates and times
  • 14. Royal Canadian Mounted Police E Division Heidi Lee | Robert Shultz Goal: Load GPS records into ArcGIS Different hardware meant problems: ➔Inconsistent date formats ➔Time zones ➔ Daylight saving Solution: TCLCaller & some TCL date functions Dates and times are complicated.
  • 15. Formatting? ● YYMMDD, HHMMSS, UTC ● Jun 2016 ● ‘on Saturday, Jan 9th 2016, 01:00 am’ & ‘+0530’ ● 2016-12-07 12:20:07.785403-05 ● 20160313020000.000 (March 13 - Daylight Saving) ● <d v="2016-12-13T00:00:00"/> (Excel) ● YYYY-MM-DD hh:mm:ss[.nnnnnnn] (SQL Server ‘datetime2’ value) Calculations? ● Date2-Date1 = How many days?
  • 16.
  • 21. Southern Company Jeff DeWitt HOK Inc. David Baldacchino Goals: ➔ Test for patterns in attribute values ➔ Extract substrings from attribute values ➔ Validate strings 2. Finding patterns Fisher German Seb Kingsley RCMP E Div. Heidi Lee
  • 22. Southern Company Problem: Attribute value cleanup - MONTANA * or Sales/Other (1) HOK Inc. Problem: Extract Sheet numbers from file names - MyProject - Sheet - A512 - PARTITION TYPES & … - G001 - GENERAL NOTES, ABBREVIATIONS, SYMBOLS, ... Fisher German Problem: Validate address strings and find postcodes - 14 High Street, Ashby, LE65 2UZ, UK
  • 23. Postcode Hunting 14 High Street, Ashby, LE652UZ, UK (GIR 0AA|[A-PR-UWYZ]([0-9][0-9A-HJKS-UW] ?|[A-HK-Y][0-9][0-9ABEHMNPRV-Y]?)[0-9] [ABD-HJLNP-UW-Z]{2}) Address validation Rue Achille Masset 52A ^((([a-zA-Z]+) )+)([0-9]+)([a-zA-Z]*)$ Wave the wand of regex Regex is awesome!
  • 24. Over to FME Regular Expression Editor… Making regex easier since FME 2016
  • 26. Regex vs. String Functions Example Code ABD3705337067 Regular Expression: ([A-Z]{3})([0-9]+) String Functions: Attribute String Function alpha @Left(@Value(Code),3) beta @Substring(@Value(Code),3,-1)
  • 27. Summary 1. Attribute transformation is a major part of ETL work. - Data migration relies on it. - Use it to extract value (like ) 2. DateTime transformers and Text Editor functions help with: ○ Date/time formatting ○ Calculations 3. Regex and string functions help with pattern matching.
  • 28. Questions? Learn more: Tutorial: Data & Time Attributes AttributeManager Documentation http://rubular.com/ David Eagle Managing Consultant FME Certified Professional & Trainer david.eagle@1spatial.com Twitter @david_eagle