SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Under the hood of the
Altalis Platform
Janet Khuu
Silvacom Ltd.
2020
Agenda
1. Introduction
2. Architecture
3. Altalis Products
a. Cadastral
b. Urban and Rural
c. Area of Interest
d. DIDs/DIDs+
4. QC/Testing
5. Maintenance
Data Detox
About me
● GIS Specialist at Silvacom for ~5 years
● GIS field for ~8 years
● FME Certified Professional
About Altalis
● Part of The Silvacom Group
● Trusted distributor of spatial data since 1998
● In 2015, Altalis initiated a major refresh of their webstore
platform
● Webstore enables customers to explore, view, and acquire
spatial data products both paid and open data with the click of a
button
Technologies in use
● Apache Tomcat
● Angular Javascript, Java
● PostgreSQL and PostGIS
● GeoServer, GeoWebCache, GeoTools
And of course…
FME Workbench and FME Server (2016)
Altogether:
● 3 x application, 2 x FME Server, 2 x GeoServer
FME Server
● 2 engines x 2 hosts
● Scheduled jobs
● REST API
● Tagged jobs for products to run on
dedicated engines
Reader and Writer formats
● CAD
○ Microstation DGN
○ AutoCAD DWG
● GIS
○ Shapefile
○ FileGDB (API and ArcObjects)
○ GeoJSON
● Databases
○ Access MDB
○ PostGIS/PostgreSQL
Order data
https://www.altalis.com/map
Workspace parameters
● workspaceStream
● action
● deliveryType
● aoi | areaList
● orderId
● packageId
● resourceDbLocation
● sourceFormat
● sourcePath
● sourceProjection
● outputFormat
● outputPath
● outputProjection
Chained workspaces
Go through your proof points.
A.
B.
C.
A screenshot can go here.
Or delete this box and use the text box beneath.
Chained workspaces
Go through your proof points.
A.
B.
C.
FME Server (Cadastral)
Repository files:
● cadastral.fmw
○ cadastral_to_postgis
○ cadastral_to_pricing
○ cadastral_to_dates
○ cadastral_to_preview
○ cadastral_to_cad
○ cadastral_to_gdb
○ cadastral_to_gdb_update
Cadastral
FME workspace for CAD formats:
Urban and Rural Cadastral
Urban and Rural
Cadastral
Product preview
Urban and Rural
Cadastral
Product preview
with
RuralUrban selection grid
Urban and Rural Cadastral
Tile selection to file selection
1. areaList = lacombe;426040
2.
3. File list for DGN Reader
- sourcePath/lacombe.10t
- sourcePath/426040.10t
Urban and Rural Cadastral: Issue
● Read from all source files, then write
○ All collected in memory
Urban and Rural Cadastral: Optimized
● Use batch processing: Read from one, write out one
○ sourcePath/lacombe.10t → outputPath/lacombe.dwg
○ sourcePath/426040.10t → outputPath/426040.dwg
● Custom embedded transformers:
Area of Interest Cadastral
Export merged (AOI) Cadastral file:
DIDs/DIDs+
DIDs
● Shapefiles
○ AB_APPL
○ AB_HIST
○ AB_LCON
● Discrepancy_report.mdb
○ Discrepancy_Report
○ ATS_Township
○ Dispositions_Not_Mapped
DIDs+
● Shapefiles
○ DAB_APPL
○ AB_HIST
○ AB_LCON
● Discrepancy_report.mdb
○ Discrepancy_Report
○ ATS_Township
○ Dispositions_Not_Mapped
● Access database
○ ACTIVITIES
○ ADDRESSES
○ CLIENTS
○ COMMENTS
DIDs/DIDs+: Issues
● Differences between DIDs and DIDs+
● Multiple spatial and attribute tables
● Table joins
● Performance querying with complex AOIs
DIDs/DIDs+
FME workspace for data requests:
DIDs/DIDs+
DIDs/DIDs+
Discrepancy Report:
DIDs/DIDs+
Spatial data:
DIDs/DIDs+
DIDs+ tables:
Clipping with AOI
● Select, draw or upload
shape on map
● GeoJSON format
{
"type": "Polygon",
"coordinates": [
[-115.1276447834104, 53.28148915782895],
[-115.12698179182546, 53.05749057020401],
[-114.27640940758613, 53.05535810617569],
[-114.27263182150816, 53.27933935656844],
[-115.1276447834104, 53.28148915782895]]
...
]
}
DIDs+ database querying
● AOI overlay with DAB_APPL
WITH aoi AS ( --temp table of AOI geometry
SELECT ST_Subdivide(ST_GeomFromGeoJSON(shape),10000) AS aoi_geom
FROM Grid_Schema."AOI_Lookup"
WHERE id=AOI
)
SELECT string_agg(disp_num,',') AS disp_num
FROM (
SELECT concat(E''',"DISP_NUM",E''') AS disp_num
FROM (
SELECT DISTINCT "DISP_NUM"
FROM sourcePath."DAB_APPL"
INNER JOIN aoi
ON ST_Intersects(aoi_geom, geom)
) AS intersected
GROUP BY disp_num
ORDER BY disp_num
) AS d;
DIDs/DIDs+
In summary
● Get list of all possible tables, apply flags
● Use Common Table Expressions (CTE)
and subqueries
● AOI
○ Store in database lookup table
○ Read GeoJSON string in SQL as a
temporary table
○ Simplify and break apart the AOI
with PostGIS functions
Quality check methods
1. Automated count checks
2. Unit testing overlays
3. Error codes
QC: Deleting by grid tile
Recall from the RuralUrban grid for Cadastral…
QC: Deleting by grid tile
Compare count from before and after deletion:
QC: Updating by grid tile
Compare count between database and product delivery:
QC: Unit testing overlays
Overlaying with AOIs can be very complex.
An AOI can be…
● Single polygon feature
● Multipart polygon feature
● Multipart polygon with donut holes feature
Overlaying against product data…
● Product data features that are also complex features
● Data precision vs expected output
QC: Unit testing overlays
Interject test values into workspace parameters:
QC: Unit testing overlays
Switch workflow to use test values:
Error codes
Error code system:
Example: ALTERR-0111: Count mismatch with Cadastral.
ALTERR- 0|1 0|1 0|1 0|1
FME workspace Data
store
Data
product format
QC
activity
Quality
Checking
In summary
● Lots of count checks
● Testing method must be as optimal as
the feature function
● Narrow fault points with error codes
Maintenance
● Gathering metrics
● ArcGIS license heartbeat
Comparing data volume vs runtime
Pre-processed Cadastral FileGDB:
Thank you!
janet.khuu@silvacom.com

Weitere ähnliche Inhalte

Was ist angesagt?

Rapid Product Prototyping In Ordnance Survey
Rapid Product Prototyping In Ordnance SurveyRapid Product Prototyping In Ordnance Survey
Rapid Product Prototyping In Ordnance SurveySafe Software
 
FME Applications in New York City GIS
FME Applications in New York City GISFME Applications in New York City GIS
FME Applications in New York City GISSafe Software
 
Hydraulic Modelling with GIS Data
Hydraulic Modelling with GIS DataHydraulic Modelling with GIS Data
Hydraulic Modelling with GIS DataSafe Software
 
Data Integration Solutions for Airports
Data Integration Solutions for AirportsData Integration Solutions for Airports
Data Integration Solutions for AirportsSafe Software
 
Using FME for the City of Palo Alto Topobase Implentation
Using FME for the City of Palo Alto Topobase ImplentationUsing FME for the City of Palo Alto Topobase Implentation
Using FME for the City of Palo Alto Topobase ImplentationSafe Software
 
Blending Enterprise Data with FME Server
Blending Enterprise Data with FME ServerBlending Enterprise Data with FME Server
Blending Enterprise Data with FME ServerSafe Software
 
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
 
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
 
1Spatial: Cardiff FME World Tour: Spinning Web and Business Data into Gold
1Spatial: Cardiff FME World Tour:  Spinning Web and Business Data into Gold1Spatial: Cardiff FME World Tour:  Spinning Web and Business Data into Gold
1Spatial: Cardiff FME World Tour: Spinning Web and Business Data into Gold1Spatial
 
Real Property Management at DND using FME
Real Property Management at DND using FMEReal Property Management at DND using FME
Real Property Management at DND using FMESafe Software
 
Bridging the Gap Between Unequal Partners
Bridging the Gap Between Unequal PartnersBridging the Gap Between Unequal Partners
Bridging the Gap Between Unequal PartnersSafe Software
 
4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fmeDaniela Perri
 
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMSafe Software
 
How to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationHow to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationSafe Software
 
YVR and the Indoor Mapping Experience
YVR and the Indoor Mapping ExperienceYVR and the Indoor Mapping Experience
YVR and the Indoor Mapping ExperienceSafe Software
 
Galil activex catalog
Galil activex catalogGalil activex catalog
Galil activex catalogElectromate
 
Advanced Data Interoperability: LiDAR, 3D, and BIM - Esri UC 2015
Advanced Data Interoperability:LiDAR, 3D, and BIM - Esri UC 2015Advanced Data Interoperability:LiDAR, 3D, and BIM - Esri UC 2015
Advanced Data Interoperability: LiDAR, 3D, and BIM - Esri UC 2015Safe Software
 
GIS - CAD Data Integration
GIS - CAD Data Integration GIS - CAD Data Integration
GIS - CAD Data Integration Safe Software
 
GIS/CAD workflows with FME
GIS/CAD workflows with FMEGIS/CAD workflows with FME
GIS/CAD workflows with FMESafe Software
 

Was ist angesagt? (20)

Rapid Product Prototyping In Ordnance Survey
Rapid Product Prototyping In Ordnance SurveyRapid Product Prototyping In Ordnance Survey
Rapid Product Prototyping In Ordnance Survey
 
FME Applications in New York City GIS
FME Applications in New York City GISFME Applications in New York City GIS
FME Applications in New York City GIS
 
Hydraulic Modelling with GIS Data
Hydraulic Modelling with GIS DataHydraulic Modelling with GIS Data
Hydraulic Modelling with GIS Data
 
Data Integration Solutions for Airports
Data Integration Solutions for AirportsData Integration Solutions for Airports
Data Integration Solutions for Airports
 
FME & Governement
FME & GovernementFME & Governement
FME & Governement
 
Using FME for the City of Palo Alto Topobase Implentation
Using FME for the City of Palo Alto Topobase ImplentationUsing FME for the City of Palo Alto Topobase Implentation
Using FME for the City of Palo Alto Topobase Implentation
 
Blending Enterprise Data with FME Server
Blending Enterprise Data with FME ServerBlending Enterprise Data with FME Server
Blending Enterprise Data with FME Server
 
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
 
Utilities Industry Success Stories with FME
Utilities Industry Success Stories with FME Utilities Industry Success Stories with FME
Utilities Industry Success Stories with FME
 
1Spatial: Cardiff FME World Tour: Spinning Web and Business Data into Gold
1Spatial: Cardiff FME World Tour:  Spinning Web and Business Data into Gold1Spatial: Cardiff FME World Tour:  Spinning Web and Business Data into Gold
1Spatial: Cardiff FME World Tour: Spinning Web and Business Data into Gold
 
Real Property Management at DND using FME
Real Property Management at DND using FMEReal Property Management at DND using FME
Real Property Management at DND using FME
 
Bridging the Gap Between Unequal Partners
Bridging the Gap Between Unequal PartnersBridging the Gap Between Unequal Partners
Bridging the Gap Between Unequal Partners
 
4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme
 
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIMArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
ArcGIS Data Interoperability: Tips for LiDAR, 3D, and BIM
 
How to Automate CAD & GIS Integration
How to Automate CAD & GIS IntegrationHow to Automate CAD & GIS Integration
How to Automate CAD & GIS Integration
 
YVR and the Indoor Mapping Experience
YVR and the Indoor Mapping ExperienceYVR and the Indoor Mapping Experience
YVR and the Indoor Mapping Experience
 
Galil activex catalog
Galil activex catalogGalil activex catalog
Galil activex catalog
 
Advanced Data Interoperability: LiDAR, 3D, and BIM - Esri UC 2015
Advanced Data Interoperability:LiDAR, 3D, and BIM - Esri UC 2015Advanced Data Interoperability:LiDAR, 3D, and BIM - Esri UC 2015
Advanced Data Interoperability: LiDAR, 3D, and BIM - Esri UC 2015
 
GIS - CAD Data Integration
GIS - CAD Data Integration GIS - CAD Data Integration
GIS - CAD Data Integration
 
GIS/CAD workflows with FME
GIS/CAD workflows with FMEGIS/CAD workflows with FME
GIS/CAD workflows with FME
 

Ähnlich wie Under the hood of the Altalis Platform

How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...InfluxData
 
CartoDB Inside Out
CartoDB Inside OutCartoDB Inside Out
CartoDB Inside OutJorge Sanz
 
Lisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & VisualizationLisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & VisualizationSteve Michael Fernandes
 
Test strategies for data processing pipelines
Test strategies for data processing pipelinesTest strategies for data processing pipelines
Test strategies for data processing pipelinesLars Albertsson
 
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle ContestDA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle ContestBerker Kozan
 
Sprint 44 review
Sprint 44 reviewSprint 44 review
Sprint 44 reviewManageIQ
 
Leveraging Collector & UtiliSync to Manage Utilities
Leveraging Collector & UtiliSync to Manage UtilitiesLeveraging Collector & UtiliSync to Manage Utilities
Leveraging Collector & UtiliSync to Manage UtilitiesMatthew Stayner
 
Upcoming features in Airflow 2
Upcoming features in Airflow 2Upcoming features in Airflow 2
Upcoming features in Airflow 2Kaxil Naik
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...HostedbyConfluent
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
What’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStoreWhat’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStoreMariaDB plc
 
November 2013 HUG: Compute Capacity Calculator
November 2013 HUG: Compute Capacity CalculatorNovember 2013 HUG: Compute Capacity Calculator
November 2013 HUG: Compute Capacity CalculatorYahoo Developer Network
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...NETWAYS
 
b04-DataflowArchitecture.pdf
b04-DataflowArchitecture.pdfb04-DataflowArchitecture.pdf
b04-DataflowArchitecture.pdfRAJA RAY
 
Smallworld Data Check-Out to Microstation
Smallworld Data Check-Out to MicrostationSmallworld Data Check-Out to Microstation
Smallworld Data Check-Out to MicrostationSafe Software
 
Sprint 40 review
Sprint 40 reviewSprint 40 review
Sprint 40 reviewManageIQ
 

Ähnlich wie Under the hood of the Altalis Platform (20)

How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
How to Store and Visualize CAN Bus Telematic Data with InfluxDB Cloud and Gra...
 
CartoDB Inside Out
CartoDB Inside OutCartoDB Inside Out
CartoDB Inside Out
 
Sprint 81
Sprint 81Sprint 81
Sprint 81
 
Lisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & VisualizationLisbon Mulesoft Meetup - Logging Aggregation & Visualization
Lisbon Mulesoft Meetup - Logging Aggregation & Visualization
 
Test strategies for data processing pipelines
Test strategies for data processing pipelinesTest strategies for data processing pipelines
Test strategies for data processing pipelines
 
Sprint 59
Sprint 59Sprint 59
Sprint 59
 
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle ContestDA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
DA 592 - Term Project Presentation - Berker Kozan Can Koklu - Kaggle Contest
 
Sprint 44 review
Sprint 44 reviewSprint 44 review
Sprint 44 review
 
Leveraging Collector & UtiliSync to Manage Utilities
Leveraging Collector & UtiliSync to Manage UtilitiesLeveraging Collector & UtiliSync to Manage Utilities
Leveraging Collector & UtiliSync to Manage Utilities
 
Upcoming features in Airflow 2
Upcoming features in Airflow 2Upcoming features in Airflow 2
Upcoming features in Airflow 2
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
What’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStoreWhat’s new in MariaDB ColumnStore
What’s new in MariaDB ColumnStore
 
November 2013 HUG: Compute Capacity Calculator
November 2013 HUG: Compute Capacity CalculatorNovember 2013 HUG: Compute Capacity Calculator
November 2013 HUG: Compute Capacity Calculator
 
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
OSMC 2023 | What’s new with Grafana Labs’s Open Source Observability stack by...
 
b04-DataflowArchitecture.pdf
b04-DataflowArchitecture.pdfb04-DataflowArchitecture.pdf
b04-DataflowArchitecture.pdf
 
Smallworld Data Check-Out to Microstation
Smallworld Data Check-Out to MicrostationSmallworld Data Check-Out to Microstation
Smallworld Data Check-Out to Microstation
 
Sprint 53
Sprint 53Sprint 53
Sprint 53
 
Sprint 40 review
Sprint 40 reviewSprint 40 review
Sprint 40 review
 
Sprint 77
Sprint 77Sprint 77
Sprint 77
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSINGmarianagonzalez07
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 
NLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptx
NLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptxNLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptx
NLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptxBoston Institute of Analytics
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.natarajan8993
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceSapana Sha
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...limedy534
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)jennyeacort
 
While-For-loop in python used in college
While-For-loop in python used in collegeWhile-For-loop in python used in college
While-For-loop in python used in collegessuser7a7cd61
 
Biometric Authentication: The Evolution, Applications, Benefits and Challenge...
Biometric Authentication: The Evolution, Applications, Benefits and Challenge...Biometric Authentication: The Evolution, Applications, Benefits and Challenge...
Biometric Authentication: The Evolution, Applications, Benefits and Challenge...GQ Research
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfchwongval
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfBoston Institute of Analytics
 

Kürzlich hochgeladen (20)

Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
2006_GasProcessing_HB (1).pdf HYDROCARBON PROCESSING
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 
NLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptx
NLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptxNLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptx
NLP Project PPT: Flipkart Product Reviews through NLP Data Science.pptx
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Call Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts ServiceCall Girls In Dwarka 9654467111 Escorts Service
Call Girls In Dwarka 9654467111 Escorts Service
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
Call Us ➥97111√47426🤳Call Girls in Aerocity (Delhi NCR)
 
While-For-loop in python used in college
While-For-loop in python used in collegeWhile-For-loop in python used in college
While-For-loop in python used in college
 
Biometric Authentication: The Evolution, Applications, Benefits and Challenge...
Biometric Authentication: The Evolution, Applications, Benefits and Challenge...Biometric Authentication: The Evolution, Applications, Benefits and Challenge...
Biometric Authentication: The Evolution, Applications, Benefits and Challenge...
 
Multiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdfMultiple time frame trading analysis -brianshannon.pdf
Multiple time frame trading analysis -brianshannon.pdf
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
 

Under the hood of the Altalis Platform

  • 1. Under the hood of the Altalis Platform Janet Khuu Silvacom Ltd. 2020
  • 2. Agenda 1. Introduction 2. Architecture 3. Altalis Products a. Cadastral b. Urban and Rural c. Area of Interest d. DIDs/DIDs+ 4. QC/Testing 5. Maintenance Data Detox
  • 3. About me ● GIS Specialist at Silvacom for ~5 years ● GIS field for ~8 years ● FME Certified Professional
  • 4. About Altalis ● Part of The Silvacom Group ● Trusted distributor of spatial data since 1998 ● In 2015, Altalis initiated a major refresh of their webstore platform ● Webstore enables customers to explore, view, and acquire spatial data products both paid and open data with the click of a button
  • 5. Technologies in use ● Apache Tomcat ● Angular Javascript, Java ● PostgreSQL and PostGIS ● GeoServer, GeoWebCache, GeoTools And of course… FME Workbench and FME Server (2016) Altogether: ● 3 x application, 2 x FME Server, 2 x GeoServer
  • 6. FME Server ● 2 engines x 2 hosts ● Scheduled jobs ● REST API ● Tagged jobs for products to run on dedicated engines
  • 7. Reader and Writer formats ● CAD ○ Microstation DGN ○ AutoCAD DWG ● GIS ○ Shapefile ○ FileGDB (API and ArcObjects) ○ GeoJSON ● Databases ○ Access MDB ○ PostGIS/PostgreSQL
  • 9. Workspace parameters ● workspaceStream ● action ● deliveryType ● aoi | areaList ● orderId ● packageId ● resourceDbLocation ● sourceFormat ● sourcePath ● sourceProjection ● outputFormat ● outputPath ● outputProjection
  • 10. Chained workspaces Go through your proof points. A. B. C. A screenshot can go here. Or delete this box and use the text box beneath.
  • 11. Chained workspaces Go through your proof points. A. B. C.
  • 12. FME Server (Cadastral) Repository files: ● cadastral.fmw ○ cadastral_to_postgis ○ cadastral_to_pricing ○ cadastral_to_dates ○ cadastral_to_preview ○ cadastral_to_cad ○ cadastral_to_gdb ○ cadastral_to_gdb_update
  • 14. Urban and Rural Cadastral
  • 16. Urban and Rural Cadastral Product preview with RuralUrban selection grid
  • 17. Urban and Rural Cadastral Tile selection to file selection 1. areaList = lacombe;426040 2. 3. File list for DGN Reader - sourcePath/lacombe.10t - sourcePath/426040.10t
  • 18. Urban and Rural Cadastral: Issue ● Read from all source files, then write ○ All collected in memory
  • 19. Urban and Rural Cadastral: Optimized ● Use batch processing: Read from one, write out one ○ sourcePath/lacombe.10t → outputPath/lacombe.dwg ○ sourcePath/426040.10t → outputPath/426040.dwg ● Custom embedded transformers:
  • 20. Area of Interest Cadastral Export merged (AOI) Cadastral file:
  • 21. DIDs/DIDs+ DIDs ● Shapefiles ○ AB_APPL ○ AB_HIST ○ AB_LCON ● Discrepancy_report.mdb ○ Discrepancy_Report ○ ATS_Township ○ Dispositions_Not_Mapped DIDs+ ● Shapefiles ○ DAB_APPL ○ AB_HIST ○ AB_LCON ● Discrepancy_report.mdb ○ Discrepancy_Report ○ ATS_Township ○ Dispositions_Not_Mapped ● Access database ○ ACTIVITIES ○ ADDRESSES ○ CLIENTS ○ COMMENTS
  • 22. DIDs/DIDs+: Issues ● Differences between DIDs and DIDs+ ● Multiple spatial and attribute tables ● Table joins ● Performance querying with complex AOIs
  • 28. Clipping with AOI ● Select, draw or upload shape on map ● GeoJSON format { "type": "Polygon", "coordinates": [ [-115.1276447834104, 53.28148915782895], [-115.12698179182546, 53.05749057020401], [-114.27640940758613, 53.05535810617569], [-114.27263182150816, 53.27933935656844], [-115.1276447834104, 53.28148915782895]] ... ] }
  • 29. DIDs+ database querying ● AOI overlay with DAB_APPL WITH aoi AS ( --temp table of AOI geometry SELECT ST_Subdivide(ST_GeomFromGeoJSON(shape),10000) AS aoi_geom FROM Grid_Schema."AOI_Lookup" WHERE id=AOI ) SELECT string_agg(disp_num,',') AS disp_num FROM ( SELECT concat(E''',"DISP_NUM",E''') AS disp_num FROM ( SELECT DISTINCT "DISP_NUM" FROM sourcePath."DAB_APPL" INNER JOIN aoi ON ST_Intersects(aoi_geom, geom) ) AS intersected GROUP BY disp_num ORDER BY disp_num ) AS d;
  • 30. DIDs/DIDs+ In summary ● Get list of all possible tables, apply flags ● Use Common Table Expressions (CTE) and subqueries ● AOI ○ Store in database lookup table ○ Read GeoJSON string in SQL as a temporary table ○ Simplify and break apart the AOI with PostGIS functions
  • 31. Quality check methods 1. Automated count checks 2. Unit testing overlays 3. Error codes
  • 32. QC: Deleting by grid tile Recall from the RuralUrban grid for Cadastral…
  • 33. QC: Deleting by grid tile Compare count from before and after deletion:
  • 34. QC: Updating by grid tile Compare count between database and product delivery:
  • 35. QC: Unit testing overlays Overlaying with AOIs can be very complex. An AOI can be… ● Single polygon feature ● Multipart polygon feature ● Multipart polygon with donut holes feature Overlaying against product data… ● Product data features that are also complex features ● Data precision vs expected output
  • 36. QC: Unit testing overlays Interject test values into workspace parameters:
  • 37. QC: Unit testing overlays Switch workflow to use test values:
  • 38. Error codes Error code system: Example: ALTERR-0111: Count mismatch with Cadastral. ALTERR- 0|1 0|1 0|1 0|1 FME workspace Data store Data product format QC activity
  • 39. Quality Checking In summary ● Lots of count checks ● Testing method must be as optimal as the feature function ● Narrow fault points with error codes
  • 40. Maintenance ● Gathering metrics ● ArcGIS license heartbeat
  • 41. Comparing data volume vs runtime Pre-processed Cadastral FileGDB:

Hinweis der Redaktion

  1. So a little bit about me. I’ve been a GIS Specialist at Silvacom for about 5 years, in the GIS field for about 8 years. And thanks to all the work put into this platform, I became an FME Certified Professional.
  2. Now about Altalis. They are part of the Silvacom group of companies. … We’re based in Edmonton, Alberta, Canada. Altalis’s products serve mostly the province of Alberta, but also Canada.
  3. With the technology refresh, these are what’s in use. The web server is Apache Tomcat. Front end language is Angular/Javascript with GeoTools and backend language is Java. Database storage is PostgreSQL with the PostGIS extension The platform app has a major web mapping component, and that’s served by GeoServer with GeoWebCache extension. Lastly, we have FME Workbench and FME Server – note that they are 2016 versions. Altogether, for the purpose of load balancing, there are 3 application servers, 2 FME Servers, and 2 GeoServers.
  4. For FME Server in detail, There are 2 engines each for 2 hosts. There are scheduled jobs. The application makes use of the REST API to submit and check on jobs. And there’s certain types of jobs that are tagged for products to run on dedicated engines.
  5. GeoJSON serves multiple purposes for the Altalis platform It works on the website’s web map to track customer areas of interest. FME and PostGIS perform overlays with it depending on the translation.
  6. So I’m at the new site. This is where I order data. How does FME process order requests?
  7. The app sends a request of values to the following standardized parameters via FME Server with the FME REST API. I’ve grouped together some of those parameters. First group is workspaceStream, action, deliveryType, and aoi OR areaList. These tell FME what kind of translation it is Is it a delivery of data to the client or update to our database? Is there clipping to the product to just an area of interest? 2nd group helps us track orders and package files between FME and the app, while resourceDbLocation points to the central repository of asset files and custom transformers for FME to find. Last sets of groups define the data inputs and outputs of the translation.
  8. Pretty diagram of the trail of translations implemented in ATR. The main task of the master controller is to parse workspaceStream param to product-specific controllers.
  9. This is the main workspace the application calls via the API call, also called master controller. It’s called master because it controls the flow of translation requests.
  10. Let’s have an indepth look at all the translation files for the Cadastral product. In blue are all the translations that feed into our database, which stores the data and also auxiliary data for the webmap so that customers can interact with the product’s information. In purple are all translations to deliver in data formats for the customer.
  11. I’ll go over the workspace for Cadastral CAD products. Since the workspace is in 2016, I can’t collapse bookmarks, so I had to make a simplified diagram.
  12. There’s several parts to this translation First, the workspace reads in relevant job parameters and prepares global values for the workspace to use. With the is-AOI condition, it’s essentially checking for which Cadastral product it is. Here, we’re focused on the False state. Which leads us to the is-valid-areaList condition to create file paths. I’ll go indepth to this part in a bit. At this point, all the source data is known to the workspace to perform the translation. All it needs to determine next is the format output – Microstation or AutoCAD – and format layers accordingly. Now back to the valid-areaList check…
  13. Taking a step back, I want to show you what data and coverage we’re dealing with for the Urban and Rural Cadastral product. This is what it looks like – covering the full province of Alberta.
  14. Data is actually made up of 6000+ files. Each file coverage is represented by this selection grid.
  15. So through the web map interface, a customer can select from this grid of tiles of their interest. How do these tiles translate to how the workspace will fetch the right files? In this example, the customer selected Lacombe and township 426040. The app prepares this list of tiles as a delimited string for the areaList parameter. The workspace breaks apart this string to individual records that represent a tile. The name of the tile is the same as the filename of the DGN file it needs to read. Concatenate the filename with the sourcePath parameter – which should point to the storage folder directory – and DGN Reader can read in the data.
  16. Now what happens where there’s lots of tiles requested? FME would be reading all the source files before it writes anything out. All this data is stored in memory, or worse, onto hard disk.
  17. Use batch processing in the form of custom transformers. Read one file in, write it out, read the next one in, write that one out. What happens in these custom transformers? They run through similar processing as for the (Merged AOI) Cadastral product <next slide>
  18. Here’s the other Cadastral product served by the same workspace, where instead of selecting from a tile grid, the customer can request data based on their own area of interest polygon. If they had requested DGN format, set lineweight, seed file, cell file. If they had requested DWG format, set... Now for the AOI=all condition, sources are read in two ways for performance: For full province, just read in all the 6000+ files. For clipping, for each file read in, pass it through the clipper.
  19. For each table found, apply a flag indicators: Is it part of a discrepancy report db? Is it a DIDs or DIDs+ product?
  20. From DAB_APPL, get a list of disposition numbers Use the list in where-clause for each attribute table From each attribute table, get IDs found List of IDs to retrieve records
  21. An example with DIDs product showing clipping with an AOI. On the webmap, the customer creates the AOI, which is in the GeoJSON format. GeoJSON string is stored in a lookup table, with an ID. This ID is what’s passed in the AOI parameter.
  22. Overlay is done over SQL with PostGIS functions. AOI is brought into the overlay in a CTE expression – keeps AOI geometry in memory AOI geom is overlayed with DIDs geometry From the overlay, retrieve all the unique disp numbers of the disp polygons Format the list into a compact string that will fit into a where-clause for another SQL to query DIDs+ tables Essentially all querying is done by Postgres/PostGIS, not FME.
  23. Get the areaList into individual records Get a count of the tiles: count-before Get FeatureWriter to delete from the FileGDB by tile. Output summary stats as count-after Use FeatureMerger to match count-before and -after. Continue onward with insertion of new records.
  24. That was for updating data into our database. This QC is for deliverying data from our database. It again uses areaList… Formulate a SQL string to query the product’s database tables for a count. At the same time, get the summary output from FeatureWriter. Use FeatureMerger to match the count values of the processed output and stored data.
  25. Toggle the connections FeatureReader reads from the qc_aois table with an AOI ID lookup as a text file. Text string is converted to a SQL where-clause string. Wehere-clause is inserted into AttributeCreator. Why text string? A complicated AOI shape greatly reduces performance and increase runtime. Better to treat it as a string and let one system handle the geometry and overlay – PostGIS.
  26. ALTERR-0111 indicates there is no fault with the workspace. This is a failure by QC which, if not caught, would have allowed for a successful job. Check database data against the product data for possible resolution. No error code indicates there’s an exceptional use case.
  27. Hint at how you are going to prove your message, by telling the audience how your info will flow.
  28. Orange line: tile count Blue line: runtime