The JCS Conflation Suite
Download
Report
Transcript The JCS Conflation Suite
Automated
and Human-Assisted Conflation
Using the JCS Conflation Suite
Presented at GeoTec 2003
Vancouver, BC
Martin Davis, Technical Architect
[email protected]
Conflation with JCS
Overview of Conflation
• “Conflation” is a very broad term
• Conflation problems need to be precisely
defined in order to be automated
• Conflation algorithms difficult to generalize
• Still awaiting “Grand Unifying Theory” of
conflation
Conflation with JCS
Overview of Conflation
Terminology
• Matching – identifying features or data elements
which represent the same real-world entity
• Alignment – whether two features or data
elements have coincident geometry
• Adjustment – altering geometry or attributes of
matched features to make them align
• Reference –dataset to be conflated to
(usually of greater spatial accuracy)
• Subject – dataset to be matched or adjusted
Conflation with JCS
Overview of Conflation
Problem Categorization
• Horizontal – conflation between
adjacent datasets
e.g. Boundary Alignment
• Vertical – conflation between
datasets covering the same area
e.g. Coverage Alignment, Road Network Matching
• Internal – conflation between items
in a single dataset
e.g. Coverage Cleaning
Conflation with JCS
Overview of Conflation
Automated VS Human-Assisted
• Automated
uses algorithm(s) to match and adjust features
automatically.
May not be able to fix 100% of problems
• Human-Assisted
use manual editing tools to adjust features
Assisted by automated tools to detect
problems, perform precise adjustment
Conflation with JCS
Overview of Conflation
Workflow
•
•
•
•
•
Acquire Datasets
Data Preparation & Validation (QA)
Problem Detection and Visualization
Automated Conflation
Human-assisted Conflation (if
necessary)
• Persist Updated Data
Conflation with JCS
The JCS Conflation Suite Project
• Project sponsor:
Dr. Mark Sondheim - Base Mapping and
Geomatic Services Branch, MSRM
• With support from:
GeoConnections
Ministry of Sustainable Resource
Management, Province of BC
• Project Timeline
Initiated: March 2002
Finish: ~March 2003
Conflation with JCS
The JCS Conflation Suite
• Goals:
Address real-world conflation problems
Leverage existing spatial tools and modern
software development techniques
Open development philosophy
Build toolbox for performing conflation
• JCS written in 100% pure Java
• JCS is Open Source (GPL license)
Conflation with JCS
JCS Architecture
• JCS provides:
API
GUI
• Built using:
Java Topology Suite (JTS)
Unified Mapping Platform (JUMP)
Conflation with JCS
JTS Topology Suite
• Implementation of OpenGIS Consortium Simple
Features Specification
• Open-Source, 100% Java
• Goals:
Fast, production quality
Robust
Explicit precision model
Conflation with JCS
JTS Topology Suite
Geometry Model and Operations
• Geometry model: Points, LineStrings, Polygons, collections
• Spatial predicates (using Dimensionally Extended 9-Intersection
Model)
• Boolean operations, buffer, convex hull, centroid, etc.
Conflation with JCS
JUMP Unified Mapping Platform
• 100% pure Java
• Open Source (GPL license)
• Both API and GUI
• Goals:
Rich GUI environment for developing spatial algorithms,
visualizing data and output
Interactive environment for supporting human-assisted spatial
processes
Leverage capabilities of Java platform for spatial processing
Easily extensible
Conflation with JCS
JUMP - API
• Features with attributes and geometry
• Feature Collections
• Spatial Access Methods
Quadtree, STR-Tree, Binary Interval Tree
• Warping
Affine Transform
Bilateral Interpolated Triangulation
• Dataset I/O
Well Known Text, GML, ESRI Shapefile
Conflation with JCS
JUMP Workbench
• Multi-Window GUI
• Supports multiple layers of spatial data; rich styling
options
• Provides GUI for JUMP API functions
• Geometry & Attribute editing
• Easily extensible via Plugin framework
Conflation with JCS
Conflation in JCS
Overview
• Provides tools for:
Dataset QA
Problem detection
Automated Conflation
Human-assisted conflation (manual edits)
• Kinds of conflation algorithms
Coverage Alignment
Road Network Matching
Conflation with JCS
Coverage Alignment
Problem Subtypes
• Boundary Alignment
e.g. Municipal Parcels
“Horizontal Conflation”
• Coverage Cleaning
“Internal Conflation”
• General Coverage Alignment
e.g. aligning suburb boundaries to
parcels
“Vertical Conflation”
Conflation with JCS
Coverage Alignment
Algorithm
• Key idea: Lines that are
“close” should be identical
• Match Line segments
Hausdorff distance < tolerance
Relative angle < tolerance
• Adjust Vertices
Snap close vertices
Add or merge vertices if necessary
• Heuristics:
Do not break topology
Minimize change to existing vertices
Conflation with JCS
Coverage Cleaning
Error Detection
Conflation with JCS
Coverage Cleaning
Automated Alignment
Conflation with JCS
Coverage Cleaning
QA of Automated Process
Conflation with JCS
Coverage Cleaning
Manual Tools – Vertex Snapping
Conflation with JCS
Boundary Alignment
Error Detection
Conflation with JCS
Boundary Alignment
Automated Conflation
Conflation with JCS
General Coverage Alignment
Error Detection
Conflation with JCS
General Coverage Alignment
Automated Conflation
Conflation with JCS
Road Network Matching
Problem Example
Conflation with JCS
Road Network Matching
Algorithm
• Match Nodes and Edges based on
weighting
• Node Match weight
Distance between nodes
Topology match between incident edges
• Edge Match weight
Hausdorff distance between edges
Relative length of edges
For “straight edges”, relative angle
Conflation with JCS
Road Network Matching
Matching & Visualization
Conflation with JCS
Road Network Matching
Warping based on Matching
Conflation with JCS
Further Development
• New / improved conflation algorithms
Complete Road Network Matching tools
Improve Coverage Alignment algorithm
Alignment to natural boundaries
E.g. Admin Boundary / Heights-of-land
Stream Network matching (Refractions Research)
• Additional JUMP functionality
Colour-theming by attribute
More flexible GML support
• JTS improvements
Robustness of spatial functions, buffer
Conflation with JCS