1 / 30

Maintaining Connectivity in Dynamic Multimodal Network Models Project Thunderball

Maintaining Connectivity in Dynamic Multimodal Network Models Project Thunderball. Outline. Review of network dataset model Full build algorithm Incremental build algorithm Exceptional cases Versioning Assorted demos. Network Model: Definition.

vilmos
Download Presentation

Maintaining Connectivity in Dynamic Multimodal Network Models Project Thunderball

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maintaining Connectivity in Dynamic Multimodal Network ModelsProject Thunderball

  2. Outline • Review of network dataset model • Full build algorithm • Incremental build algorithm • Exceptional cases • Versioning • Assorted demos

  3. Network Model: Definition • A mechanism for defining and managing a connectivity information for features, objects and relationships in a geodatabase. • Feature is graphic representation of a real-world object • Line (e.g. freeways and railways) • Point (e.g. railway stations)

  4. The Underlying Logical Network • The Network Model is explicitly represented with network elements that are found in a single associated logical network (graph). • Three types of network elements • Junctions • Edges • Turns

  5. Line Feature Point Feature * FID * FID * Geometry * Geometry 1 1 * * Edge Junction * ID * ID 0..n 2 * Attributes * (x,y) Turn 1..n 1..n 0..n * * ID * Attributes Network Elements The Underlying Logical Network

  6. Maintaining Network Connectivity • As edits are made to the features in a network model, the logical network becomes stale. • Re-establishes connectivity (active behavior) • Borrow the dirty area management concept provided by topology. • When a feature is modified it creates dirty area • Complete correctness is only guaranteed when the network has been rebuilt over all the dirty areas.

  7. j7 j8 e4 I1 S2 e6 j6 P1 j2 j1 j3=P1 j4 S1 e1 e2 e3 e5 I2 j5 Example P1 j7 j8 e4 I1 S2 e6 j6 j2 j1 j3=P1 j4 S1 e1 e2 e3 e5 S3 I2 j5

  8. Rebuild Algorithms • Initial build of a logical network • Simply a special case of a rebuild over a dirty region that encompasses the entire network • Existing logical network is empty. • Incremental Rebuilding • Rebuilding region is a subset of the dirty region. • When we rebuild the entire dirty region, the resulting logical network is completely correct.

  9. line endpoint mid-span vertex I3 P1 Connectivity Nodes B1 S4 I1 (0,0) I2 (X,Y) Point FCID, FID Line FCIDs, FIDs, %'s along (-1,1) I3/0% interstates T1 interstate Interstate group: connect (0,1) S1/0% connects to interstate S1 street (-1,0) I1/0%; I3/100% (indivisble) (0,0) T1 I1/100%; I2/0% interstate tunnel (0,0) B1 S1/33% S2 (1,0) P1 I2/100%; S4/0% Street group: streets (2,0) S4/100% street connect (divisible) (-1,-1) S2/0% street bridge (0,-1) S2/50%; S1/67% (1,-1) S2/100% S3 Interstate--Street interconnect: (-1,-2) S3/0% streets (0,-2) S3/50%; S1/100% transition point connect (1,-2) S3/100% Initial build Algorithm: Input • The set of connectivity nodes for the entire network. • Extracted through connectivity analysis

  10. Connectivity Analysis • Extract the geometry of all features in the network dataset. • 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 Note: the associated feature geometries are not updated – there is no topological integration (cracking and clustering) being done

  11. Initial build Algorithm: Step1 • 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

  12. Initial build Algorithm: Step1 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 Interstate I3 0% j1 (0,-2) S3/50%; S1/100% 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

  13. Initial build Algorithm: Step2 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

  14. Initial build Algorithm: Step2 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 j3 j4=T1 j6=P1 j7 e9 e10 Streets S1 100% j12 e8 Streets S2 0% j8 j5=B1 Streets S2 50% j9 Streets S2 100% j10 Streets S3 0% j11 e2 Streets S3 50% j12 Streets S3 100% j13 Streets S4 0% j6 j8 j9 e4 e5 Streets S4 100% j7 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

  15. Incremental rebuild: The idea • We can regard the logical network as containing historical connectivity information • The goal of the rebuild algorithm is to replace that historical information with current information • Done by rebuilds of dirty areas.

  16. Incremental Rebuilding • In general case the rebuilding region is only part of the dirty region • The part of the dirty region that lies outside the rebuilding region as the gray region.

  17. Incremental rebuild: input The algorithm requires the following inputs: • the set of connectivity nodes in the rebuilding region, • the set of line features that intersect the rebuilding region, and • a way to test if some (x, y) coordinate falls in the dirty/gray region.

  18. P1 I1 S2 S1 P2 I2 Connectivity Nodes (X,Y) Point FCID, FID Line FCIDs, FIDs, %'s along (1,1) P2 S1/33%; I1/100%; I2/0% (2,1.5) P1 S1/67% (3,1.5) S2/50%; S1/100% (3,1) S2/100% Incremental rebuild: Example

  19. Incremental rebuild: Step 1 • For each line feature in the rebuilding region, remove the edge elements associated with the lines inside the dirty area. • For the junction elements connected to those edge elements, try to save them for reuse in a vertex information table. • Saved junctions • not in the dirty region • associated with a point feature • has connected edge elements in the logical network

  20. j7 j8 j1 j3=P1 j5 Saved Vertex Information Table Line FCID Line FID Relative Position Junction EID Streets S1 0% j1 Interstate I2 100% j5 Interstate I1 0% j7 Streets S2 0% j8 Incremental rebuild: Step 1 j7 j8 e4 e6 j6 j2 j1 j3=P1 j4 e1 e2 e3 e5 j5

  21. Incremental rebuild: Step 2 • For each connectivity node in the rebuilding region, create a logical junction element if necessary and add information to a new vertex information table. • If the connectivity node contains a point feature and the point feature does not have an associated logical junction element – create one. Otherwise update the x and y coordinates.

  22. Incremental rebuild: Step 2 j7 j8 Connectivity Nodes j3=P1 j10 (X,Y) Point FCID, FID Line FCIDs, FIDs, %'s along (1,1) P2 S1/33%; I1/100%; I2/0% j1 j11 (2,1.5) P1 S1/67% j9=P2 j3=P1 (3,1.5) S2/50%; S1/100% (3,1) S2/100% j5 New Vertex Information Table Line FCID Line FID Relative Position Junction EID Streets S1 33% j9 Interstate I1 100% j9 Interstate I2 0% j9 Streets S1 67% j3 Streets S2 50% j10 Streets S1 100% j10 Streets S2 100% j11

  23. Incremental rebuild: Step 3 • Create edge elements by processing the two vertex information tables • The two tables are merged and sorted • For each adjacent pair of records in the sorted table if it involves vertexes from the same feature we create edge.

  24. Vertex Information Table Line FCID Line FID Relative Position Junction EID Streets S1 0% j1 Streets S1 33% j9 Saved Vertex Information Table Streets S1 67% j3 Line FCID Line FID Relative Position Junction EID Streets S1 100% j10 Streets S1 0% j1 Streets S2 0% j8 Interstate I2 100% j5 Streets S2 50% j10 Interstate I1 0% j7 Streets S2 100% j11 Streets S2 0% j8 Interstate I1 0% j7 Interstate I1 100% j9 Interstate I2 0% j9 Interstate I2 100% j5 New Vertex Information Table Line FCID Line FID Relative Position Junction EID Streets S1 33% j9 Interstate I1 100% j9 Interstate I2 0% j9 Streets S1 67% j3 Streets S2 50% j10 Streets S1 100% j10 Streets S2 100% j11 Incremental rebuild: Step 3 + =

  25. Incremental rebuild: Step 3 Vertex Information Table j7 j8 Line FCID Line FID Relative Position Junction EID Streets S1 0% j1 e10 Streets S1 33% j9 j3=P1 j10 e9 Streets S1 67% j3 e12 Streets S1 100% j10 e8 e11 Streets S2 0% j8 j1 j11 e7 Streets S2 50% j10 j9=P2 Streets S2 100% j11 Interstate I1 0% j7 e13 Interstate I1 100% j9 Interstate I2 0% j9 j5 Interstate I2 100% j5

  26. Partial Incremental Rebuilds • Here we have “partial” line features, i.e., line features that intersect both the rebuilding region and the gray region. • For each line feature that intersects the rebuilding region, information about its endpoints in the gray region is added to the set of input connectivity nodes. S1 Logical network S1 e1 j1 j2 Logical network

  27. Rebuilding Turn Features • Problem: Turn features have optional geometry. It is difficult to determine if a turn feature is inside the rebuild region or not. • Solution: Introduce the notion for dirty object and use it for the turn features • Dirty object: object whose modification has not been propagated to the logical network

  28. Dirty Objects Dirty Object Table tf1 Obj id Classid Rec id Subid tc1 tf1 0 1 S1 S2 Logical Turn Table • When a feature is modified his classID and objectID are stored in Dirty Feature Table. • During the rebuild process all objects inside the Dirty Feature Table are recreated in the Logical Network e4 e3 Edge id Jnct. id Turn id Edge id j1 j1 e4 e2 t1 e2 e1 Logical network Dirty Object Table tf1 Obj id Classid Rec id Subid tc1 tf1 0 1 S1 S2 Logical Turn Table e4 e3 Edge id Jnct. id Turn id Edge id j1 j1 e4 e2 e3 t1 e2 e1 Logical network

  29. Rebuilding Turn Features • Marking turn as a dirty • When the turn feature is directly modified (Insert, Update, Delete) • When the associated line features are modified (Update, Delete) • When the associated logical turn element is deleted (This happens during the rebuild process) • Rebuilding the dirty turn features: Every time when the Network Dataset is rebuild there is attempt to rebuild all turn features

  30. Questions?

More Related