High Performance Multimodal Networks Authors, Erik G.Hoel, Wee-Liang Heng, Dale Honeycutt Presented By, Gautham Mani
Agenda Introduction Logical Model Requirements for robust model Existing approaches Access Model New Physical Representation Future Work Summary & Conclusion
Introduction Networks are mainly used in spatial databases to support rapid navigation Networks data models have been widely used for geographical data representation Network data models are usually represented as a small collection of tables Advances in this field have not been able to meet requirements of multimodal transportation systems Turns and maneuvers modelling are met but at a very high cost New design for modelling multimodal networks Design supports sophisticated network models Multiple network analysis algorithms, such as shortest path finding, travelling salesman problems are supported and analysis of linearly connected data such as that found in transportation networks junction table and an edge table transportation networks where two or more different transportation modes are linked – e.g., roads and rail In this paper, we describe a design for modeling multimodal networks that are persisted in relational databases The network engine used in this paper can support Multiple network analysis algorithms, such as shortest path finding, travelling salesman problems
Logical Model Basic Definitions Network : A connectivity graph of junctions and their connecting edges Network Element : Collection of junctions and edges comprising of the network Network Attributes : A set of numeric properties that all network elements have Network Building : A process in which connectivity graph of a network is derived from the source data Turns : A turn element models entering a junction from an edge and exiting from another
Logical Model Primary requirements for any robust implementation of network data models Multimodal models : A model in which two or more types of transportation modes are modeled Hierarchical models : Hierarchy is used within network models to further control flow within the network Turns and maneuvers : Two part turns and multi-part turns(maneuvers) for accurately modeling networks Fast network navigation : The persisted representation must support fast retrieval of connectivity information Within transportation networks, interstate highways are commonly associated with the highest level of the hierarchy, state highways A turn is not simply one restriction or penalty; instead it should be regarded as a first-class entity with attribution. use within network analysis algorithms
Logical Model Primary requirements for any robust implementation of network data models (cont) Z Elevations : Refine network connectivity with planar network datasets logical z-values are supplied Rich attribution of network elements : Model that supports multiple attributes on a network element Uniform attribute access model : Models should be insulted from details of attribute origin To capture real-world constraints, such as one-way travel restrictions, height/weight limits, and time-of-day travel times In each case, client applications should be able to retrieve attribute values without knowledge of the underlying storage
Connectivity Model Connectivity in a network is generally based upon spatial coincidence of endpoints of line features and other point features Works for planar datasets In case of non planar network connectivity can partway along a linear feature. This is termed as mid-span connectivity Thus, 1-1 mapping is generalized into 1-many mapping This leads to a 1:1 mapping between features participating in a network and the network elements used to represent the network connectivity. This approach works reasonably well for simpler planar network datasets
Multimodal Models A line class participates in one group Line features of one group is not connected to those of other connectivity groups To establish connectivity point features are allowed in one or more groups Thus, a point feature that is coincident with a road feature in one group and a subway feature in a second group will connect the two groups together in its role as a junction element A point feature class, containing point feature p1, participates in both connectivity groups. On the right side of Fig. 2, the resulting connectivity is shown. Note that l1 (edges e11 and e12) and l2 (edges e21 and e22) are connected at point p1 (junction j3). There is no connectivity between line l1 and line l3 as they are in different groups and there is no point feature where they intersect.
Z-Elevation Also referred to as “z-levs” Component used for modeling overpass, underpass, etc with planar datasets. The elevation information is logical and is not related to geographic elevation For example, the endpoints of line features representing roads that comprise an underpass may have a z elevation value of 0, while the lines representing the overpass roads may have a value of 1. This logical vertical ordering can extend to support very complex highway interchanges.
Turns & Maneuvers Most network models face problem due to Turn restrictions and impedances A turn table is a common method used in networks to model turns Turn table can be augmented to add the impedance attribute Transition matrix is an alternative approach Issue : Performance overhead to access tables disjoint from network connectivity tables Solution : Imbed turns within network connectivity information The presence of turns can greatly impact the movement through a network When traversing the network, the turn table is queried as necessary An alternative approach is to employ a transition matrix that represents possible transitions at an intersection [10]. The matrix can be encoded into a bitmap for a smaller physical representation.
Existing Approaches Graph Modification – Node Expansion Each junction is expanded where edges are used to represent turns Advantage : Turns are represented within connectivity graph of the network Disadvantage: For n edges there are n2 possible turns
Leads to incorrect traversal in the subgraph Algorithmic issues are also introduced by traversing edges in the new expanded subgraph Leads to incorrect traversal in the subgraph This highlights the fundamental problem with this approach, namely, the significant bloating of the network storage requirements. This adversely impacts both storage costs and traversal performance
Existing Approaches Graph Modification – Line Graphs Transformation of the original(or primal) graph, junction replaced with line Advantage : Turns are represented within connectivity graph of the network Disadvantage: Requires primal graph to be retained to perform certain operations
Maneuver A turn that spans three or more edges is known as maneuver Maneuvers can get complicated and difficult to handle Adapting graph modification techniques is not advicable
Network Attributes Numeric properties of network elements used to define the navigational context during an analysis Examples: Travel time, one way restriction Various types of attributes: Cost Descriptor Restriction Hierarchy Network attributes are persisted along with the network elements Reduces number of tables queried during network analysis, improves performance The network attributes often are mapped to attributes found in the associated feature; during the process of building the network and establishing network connectivity, attribute values are read from the features and persisted into the network
Access Model Multiple approaches exist for building, maintaining and navigating elements within a network Approach 1 The overhead is placed on the client application The client application is responsible for determining connectivity Appropriately set foreign keys used to specify connectivity in persisted representation Approach 2 Systems have mechanisms to perform geometric analysis Automatically find connectivity and persist information User workflow is used to choose when to establish or update persisted connectivity information The network attributes often are mapped to attributes found in the associated feature; during the process of building the network and establishing network connectivity, attribute values are read from the features and persisted into the network the network is built immediately following network definition and creation. If the user chooses to edit the features in the network, the entire network will have to be rebuilt in order to guarantee correctness of the connectivity used during network analysis.
Workflow Class Type 1 Users Class Type 2 Users Purchases network data Infrequently edits or modifies data Only build process support is required to complete all analysis and persistence Actively edit and maintain their data Usually hugh organizations such as government, companies Build process is viable if done periodically Subset of users where only edited features is rebuilt using user-initiated builds If the organization is editing smaller datasets, the build operation can be staged on a more frequent basis The need for incremental builds during frequent editing can be obviated if network connectivity is “live”, i.e., network connectivity is automatically re-generated after individual edits to the source data
Connectivity Queries Standard SQL queries are employed for normalized relational representation Middleware libraries are used for analysis Drawback, analysis functionality development not possible at high level navigation explicit representation of network primitives and connectivity using primary and foreign keys
Connectivity Queries Alternate approach involves using forward star adjacency query Returns elements that are immediately reachable from another element in a network Constrained by a set of restrictions that controls which elements are traversed Preferred method for querying network connectivity due to performance reasons In this example, there is a turn restriction at junction j0 when moving from edge e2 to edge e1. This is shown on the left side of the figure. A forward star query at junction j0 from edge e2 will result in two edge-junction pairs being returned; namely (e3, j3), and (e4, j4). The edge-junction pair (e1, j1) is not returned as it is not traversable from edge e2 at junction j0 because of the turn restriction
New Physical Model Standard Physical Implementation Network topology can be implemented for relational database as normalized relational model If network tables do not contain geometry, they are called logical networks If network tables do not contain geometry, they are called spatial networks Foreign keys are used in the edge table to represent network connectivity Expensive in terms of server loading and performance overhead Middleware based solutions have been proposed A fundamental implementation choice is whether or not the tables representing the network elements (junctions and edges) contain any associated geometry
Example of Edge & Junction Table
Alternative Object Model & Physical Implementation Network is central component to the system Allows client to build connectivity Persisted Network Representation using geometric analysis of features present in FeatureClass NetworkElement provides an API that allows the direct navigation to other immediately traversable NetworkElements Forward Star Queries can be issued by clients via Network component ForwardStarCursor component is returned which can be used to index or iterate through returned traversable NetworkElements that cache network connectivity information on the client (or application server) and provide access to the information through a conventional API It additionally provides a general method for accessing the values of the associated network attributes.
Storage Representation The network contains collection of tables within the database The network contains metadata, junction, edges, turn elements, connectivity relation b/w them and necessary attributes
Junction& Edge Table Connectivity is represented as a set of foreign key tuples Representation is navigation based Designed for common adjacency query during network analysis Records are serialized, compressed and stored in BLOB tables
Turn Table Graph modification techniques have not been employed Effectively generalized to support maneuvers and forward star queries Associates each junction with a turn Turn table is queried with specified junction and edge Last edge information in the turn entry allows the pairing of the turn with correct outgoing edge which is to find the edges and junctions connected to a given junction
Network Building Algorithm Extract the geometries of the features in the source data. The extracted coordinates and their feature parentage are stored in a vertex information table Sort the vertex information table by coordinate values, so that coincident vertices are grouped together Analyze each group of coincident vertices according to the connectivity model, and generate the appropriate junction elements. During this analysis, vertices that do not connect to other vertices are discarded, while the remaining vertices may be further partitioned into disjoint subsets Re-sort the vertex information table by vertex, so that vertices from each line feature are re-grouped together Scan the vertex information table, and generate edge elements connecting adjacent vertices on each line Analyze turn features and generate associated turn elements Populate the attribute values of the generated network elements
Implementation Results The build times include geometric analysis of feature geometry to establish connectivity Typical case geometry and connectivity analysis took 45% Creation of persistent network elements took 30% Population of network attribute took 25%
Future Work Extending the network for dirty area support Incorporating incremental build algorithm for frequent edits Support current network model in distributed database environment Make other performance improvements
Summary & Conclusion Brief overview of logical model and several extensions to standard model Reviewed a common physical database implementation that uses conventional notions Issues with the approach were discussed New Physical Implementation was introduced and its various features Efficient and flexible mechanisms for navigating the network connectivity Design is currently used in implementation of transportation networks in the ArcGIS