Fast Transportation Network Traversal with Hyperedges

Slides:



Advertisements
Similar presentations
Geometric Networks in ArcGIS
Advertisements

Problem solving with graph search
Network Analyst Lecture 4. What is network? A network is a system of interconnected elements, such as edges (lines) and connecting junctions (points),
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Esri International User Conference | San Diego, CA Technical Workshops | Understanding Geometric Networks Craig Gillgrass Erik Hoel.
Junction Trees: Motivation Standard algorithms (e.g., variable elimination) are inefficient if the undirected graph underlying the Bayes Net contains cycles.
Geometric Networks Francisco Olivera, Ph.D., P.E. Srikanth Koka Department of Civil Engineering Texas A&M University.
Geographic Information Systems
Map Analysis with Networks Francisco Olivera, Ph.D., P.E. Department of Civil Engineering Texas A&M University Some of the figures included in this presentation.
Spatial data Visualization spatial data Ruslan Bobov
Advanced Editing: Rules-Based Topology in ArcEditor.
CHAMELEON : A Hierarchical Clustering Algorithm Using Dynamic Modeling
Parcel Data Models for the Geodatabase
Multimodal Analysis Using Network Analyst. Outline Summarizing accessibility Summarizing accessibility Adding transportation modes to a network Adding.
Introduction to Data Structures. Definition Data structure is representation of the logical relationship existing between individual elements of data.
8. Geographic Data Modeling. Outline Definitions Data models / modeling GIS data models – Topology.
Querying Structured Text in an XML Database By Xuemei Luo.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Network Analyst Creating Network Datasets Colin Childs Alan Hatakeyama.
Union-find Algorithm Presented by Michael Cassarino.
Advanced Editing: Rules-Based Topology in ArcEditor
1.5 Graph Theory. Graph Theory The Branch of mathematics in which graphs and networks are used to solve problems.
UML and Object Modeling Elements
Network Analyst Creating Network Datasets
Multimodal Analysis Using Network Analyst. Outline Summarizing accessibility Summarizing accessibility Adding transportation modes to a network Adding.
Time Dependent Transportation Network Models Petko Bakalov, Erik Hoel, Wee-Liang Heng # Environmental Systems Research Institute (ESRI)
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
Geodatabase Topology Editing Sherry Fu CE697v Final project Dec. 08, 2006.
1/16/20161 Introduction to Graphs Advanced Programming Concepts/Data Structures Ananda Gunawardena.
ESRI Education User Conference – July 6-8, 2001 ESRI Education User Conference – July 6-8, 2001 Introducing ArcCatalog: Tools for Metadata and Data Management.
Graphs Upon completion you will be able to:
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
URBDP 422 Urban and Regional Geo-Spatial Analysis Network Analysis Team Work Time VIII February 25, 2014.
GTECH 361 Lecture 09 Features in the Geodatabase.
Introduction to Geodatabases
Physical Structure of GDB
Network Analyst. Network A network is a system of linear features that has the appropriate attributes for the flow of objects. A network is typically.
Maintaining Connectivity in Dynamic Multimodal Network Models Project Thunderball.
Relationship Class What is a Relationship Class (3)
Chapter 13 Editing and Topology.
Chapter 9 Network Analysis.
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
Edge and Face Meshing.
Physical Structure of GDB
Lecture 11 Graph Algorithms
Physical Structure of GDB
Minimum Spanning Trees
Physical Structure of GDB
Physical Structure of GDB
Graph theory Definitions Trees, cycles, directed graphs.
Graphs ORD SFO LAX DFW Graphs Graphs
Geographic Information Systems
3.1 Clustering Finding a good clustering of the points is a fundamental issue in computing a representative simplicial complex. Mapper does not place any.
A Network Model for the Utility Domain
High Performance Multimodal Networks
Cartographic and GIS Data Structures
Geographic Information Systems
Graphs Chapter 11 Objectives Upon completion you will be able to:
Introduction to Data Structures
Katz Centrality (directed graphs).
ArcCatalog and Geodatabases
Introduction to Data Structures
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
Lecture 10 Graph Algorithms
Chapter 9 Graph algorithms
ArcCatalog and Geodatabases
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Geographic Information Systems
Presentation transcript:

Fast Transportation Network Traversal with Hyperedges Petko Bakalov, Erik Hoel, Wee-Liang Heng Esri

The problem The goal: Improve the performance of the point to point hierarchical solve algorithms The problem: the granularity of the high level edge elements – very high cardinalities The requirement: Preserve the multi- user editing capability of the network data

Outline Overview of the network model Nature of commercial data Hyperedges Incorporating hyperedges into the network model Internal representation Build process Experimental results

Network Model definition A mechanism for defining and managing connectivity information between features in a geodatabase A feature is graphic representation of a real- world object Lines (e.g., streets, highways, subways, and railways) Points (e.g., railway, bus, and subway stations)

Feature Sources Network Index (Graph) Point Features Line Features Attributes Line Features Attributes Table Sources Turns Metadata Connectivity Model Attribute Model Historical Traffic

Network Index The connectivity information is explicitly represented with network elements that are found in an associated network index (graph) Three types of network elements in the network index: Junctions Edges Turn restrictions and maneuveurs

Network Index Feature space – stores features which have geometry Line Feature Point Feature Feature space – stores features which have geometry Network index – contains connectivity information about the features in the feature space as well as turn restrictions and maneuveurs * FID * FID * Geometry * Attributes * Geometry * Attributes 1 1 Network Index 1 .. * 1 .. * Edge Junction * NID * NID 0..n 2 * Attributes * Attributes Turn 1..n 1..n 0 .. n * NID 0 .. n * Attributes

Network Model definition Network attributes are properties of the network elements that control traversability Cost. Certain attributes are used to measure and model impedances, such as travel time Descriptors. Those are attributes that describe characteristics of the network or its elements.

Network Index Maintaining Build – the process of discovering geographic coincidence between features that are persisted as junction and edges in the network index As edits are made to the features, the network index becomes stale We keep track of the modified features Employ the dirty area concept (an envelope encompassing the edited feature) When a feature is modified, a dirty area is created The build process incrementally maintains the network index based upon the present dirty areas

Build Algorithm Initial build of the network index Simply a special case of a rebuild over a dirty region that encompasses the entire network Network index is empty prior to the initial build Incremental (re)builds Rebuilt region corresponds to the dirty regions When we rebuild the dirty regions, the resulting network index is completely correct

Build Algorithm Step 1: Connectivity Analysis Extract the geometry of all features in the network model. Sort the vertex information in the table by coordinate values so that the coincident vertexes are grouped together Analyze each group of coincident vertexes according to the connectivity model

Build Algorithm Connectivity Nodes (X,Y) Point FCID, FID line endpoint interstate (indivisble) street (divisible) mid-span vertex interstate tunnel street bridge Interstate group: Street group: Interstate--Street interconnect: transition point streets connect interstates I1 I2 S1 B1 T1 (0,0) I3 S2 S3 S4 P1 connects to Connectivity Nodes (X,Y) Point FCID, FID Line FCIDs, FIDs, %'s along (0,0) T1 I1/100%; I2/0% B1 S1/33% (1,0) P1 I2/100%; S4/0% (2,0) S4/100% (-1,0) I1/0%; I3/100% (-1,1) I3/0% (0,1) S1/0% (-1,-1) S2/0% (0,-1) S2/50%; S1/67% (1,-1) S2/100% (-1,-2) S3/0% (0,-2) S3/50%; S1/100% (1,-2) S3/100%

Build Algorithm Step 2: Junction creation Create junction elements and populate vertex information table from the extracted connectivity nodes For each connectivity node Create a logical junction element and set its x and y coordinate weight values If there is a point feature participating in the connectivity node Associate the junction element with the point feature For each line vertex participating in the connectivity node Add a record to the vertex information table, tagged with the junction element

Build Algorithm Example j1 j2 j4=T1 j3 j6=P1 j7 Connectivity Nodes j5=B1 (X,Y) Point FCID, FID Line FCIDs, FIDs, %'s along (-1,1) I3/0% (0,1) S1/0% (-1,0) I1/0%; I3/100% j8 j9 j10 (0,0) T1 I1/100%; I2/0% (0,0) B1 S1/33% (1,0) P1 I2/100%; S4/0% (2,0) S4/100% (-1,-1) S2/0% j11 j12 j13 (0,-1) S2/50%; S1/67% (1,-1) S2/100% Vertex Information Table (-1,-2) S3/0% Line FCID Line FID Relative Position Junction EID (0,-2) S3/50%; S1/100% Interstate I3 0% j1 Streets S1 0% j2 (1,-2) S3/100% Interstate I1 0% j3 Interstate I3 100% j3 Interstate I1 100% j4 Interstate I2 0% j4 Streets S1 33% j5 Interstate I2 100% j6 Streets S4 0% j6 Streets S4 100% j7 Streets S2 0% j8 Streets S2 50% j9 Streets S1 67% j9 Streets S2 100% j10 Streets S3 0% j11 Streets S3 50% j12 Streets S1 100% j12 Streets S3 100% j13

Build Algorithm Step 3: Edge creation Create edge elements from vertex information table Sort the vertex information table using the line FCID as primary key, line FID as secondary key, and relative position as tertiary key For each adjacent pair of records in the sorted table If the pair involves the same line feature Create a logical edge element between the junction elements specified by the two records

Build Algorithm Example j1 j2 Sorted Vertex Information Table Line FCID Line FID Relative Position Junction EID e11 e1 Streets S1 0% j2 Streets S1 33% j5 Streets S1 67% j9 j4=T1 j3 j6=P1 j7 Streets S1 100% j12 e9 e10 e8 Streets S2 0% j8 Streets S2 50% j9 j5=B1 Streets S2 100% j10 Streets S3 0% j11 e2 Streets S3 50% j12 Streets S3 100% j13 Streets S4 0% j6 j8 j9 Streets S4 100% j7 e4 e5 j10 Interstate I1 0% j3 Interstate I1 100% j4 Interstate I2 0% j4 Interstate I2 100% j6 e3 Interstate I3 0% j1 Interstate I3 100% j3 j11 j12 e6 e7 j13

Outline Overview of the network model Nature of commercial data Hyperedges Incorporating hyperedges into the network model Internal representation Build process Experimental results

Commercial Data Planar Planar: Commercial street data is based on a planar model (originating from the TIGER model) where line geometries are split whenever they cross Hierarchical: The number of hierarchical levels is a parameter of the model and can be adjusted accordingly E.g., highway overpasses and underpasses Non Planar

Commercial Data

Outline Overview of the network model Nature of commercial data Hyperedges Incorporating hyperedges into the network model Internal representation Build process Experimental results

Hyperedges A hyperedge is an edge element that spans on top of regular edge elements and has hierarchical rank higher or equal to the hierarchical rank of the feature it models Hyperedges have all the cost and restriction attributes of the network Cost attributes will be summed Restriction attributes will be copied

Hyperedges Example

Outline Overview of the network model Nature of commercial data Hyperedges Incorporating hyperedges into the network model Internal representation Build process Experimental results

Hyperedge build We augment the connectivity analysis (step 1) by assigning a hierarchy rank to the junctions a junction is given rank r where r is the highest rank such that there is a point or line vertex with rank r We then generate edge elements (step 3) connecting adjacent vertices of the line, and if necessary, hyperedge elements spanning those edges This is accomplished by keeping a stack of related junction elements in rank order

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4 Stack J1

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4 Stack J2 J1

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4 Stack J3 J2 J1

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4 Stack Stack J3 J2 J1

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4 Stack J2 J1

Hyperedge build Rank 1 Rank 2 Rank 3 J1 J2 J3 J4 Stack J1

Outline Overview of the network model Nature of commercial data Hyperedge extension Incorporating hyperedges into the network model Internal representation Build process Experimental results

Experimental Results test datasets   Edges Junctions Size North America 73.5 million 27.2 million 23.7 GB Europe 141.5 million 55.5 million 51.8 GB Latin America 25.1 million 8.4 million 6.9 GB

Experimental Results hyperedge percentages for the different datasets   Level 3 Level 2 Level 1 North America 4.8% 0.9% 0.05% Paris Metro 2.9% 0.7% 0.03% Online Data 2.3% 0.5% >0.01%   Solve time (with hyperedges) Solve time (without hyperedges) ArcGIS Online Data ≈ 0.05 sec ≈ 0.07 sec Paris Metro ≈ 0.12 sec ≈ 0.69 sec United States ≈ 1 sec ≈ 5.3 sec

Experimental Results conclusion Even though the number of hyper edges in the network model is relatively small (around 7% for our largest dataset) they have huge impact on the solve time. Traversal operations on large operations are sometimes 5 times faster!! The hyperedge are added as a standard element in our network model and are created for all hierarchical models from release 10.1 onwards