Monday, February 17, 2014

Network Analysis in CityEngine!

OK, actually its network analysis in ArcScene...and viewing it in CityEngine :D

The aim of this task was to create a 3D routing workflow to calculate the route to the closest emergency assembly point from anywhere within a building.

I started with the floor layout of a building (which have been captured from CAD data). The floor layout polygons are z-enabled and the stairs have been included. As seen below in ArcScene.



Using the rooms, corridors and stairs as a guide, I proceeded to capture Z-enabled emergency evacuation routes for each floor. After a frustrating route capturing session the emergency routes were created.


The next step was to create a network dataset from my assembly points and emergency routes.It is vital that the emergency routes are split at each and every intersection, as well as to make sure that each assembly point is snapped (in 2D and 3D) to the endpoint of an emergency route.

Using Model Builder in ArcGIS, I developed a model which calculates the shortest route from a specified point to the nearest Assembly Point according to the network dataset in 3D.


The model does the following:

  1. Takes the Network Dataset and creates an empty Closest Facility layer
  2. It then takes the z-enabled assembly points and loads it into the Closest Facility as the facilities
  3. It then takes the user-specified points (interactively pointed on map - see image below) and loads it as the incidents features of the Closest Facility layer. To read more about Network Analyst's Closest Facility Layers click here.
  4. The model makes copies of both the incidents and the facilities and outputs it to a specified FGDB.
  5. Finally Model Builder uses the Solve tool to perform the analysis and determine the shortest route.
  6. Next step is to apply a pre-defined symbology layer to the resulting Closest facility route layer
  7. The final step consists of utilizing the Select Data tool to select the Route layer (line with 3D symbology applied) to export it to both a line and multipatch feature using the "Feature class to Feature class" and "3D layer to feature class" tools, respectively.
The Red flag represents the starting point, while the Green flags represent the Emergency assembly points
In this example, CityEngine was used minimally. It was used to create some of the walls around the rooms ans well as the steps for some of the staircases. The final ArcScene document was saved and exported to a web scene using the "Export to 3D Web Scene" tool (the next step will to include this tool in the model builder, creating a "one-click" solution from model builder to web scene.



View the 3D web scene here.

6 comments:

  1. Hi Carl,
    this work is very interesting, well done for the excellent results! i am interested in performing network analysis in ArcScene myself and i would like to ask you a question about the whole 3D editing process of stairs. 3D editing is indeed frustrating. The floor networks have been edited in ArcMap but they are z-enabled.when i try to connect the stairs from the first floor to the second floor, it seems that the 3d editor only recognizes the first floor thus the program provides snapping options for this floor.. i have tried to edit the stairs via x,y,z and it seems to be working but i'd like to ask you since you've done this before successfully, if there is another more correct way, or i'm missing something...
    thank you for your time!

    ReplyDelete
  2. Hi,

    In this example I also used the Sketch Properties in ArcMap to create the stairs. It gives you access to the X, Y and Z values of each vertex.

    An alternative is to create stairs using procedurally using CityEngine.

    You can also set the Snapping options in ArcScene when editing. Here you can specify the layers and features that are used when snapping. You can find the options in the 3D Editing toolbar > Snapping > Spanning window.

    Hope this helps,
    Carl

    ReplyDelete
  3. Thank you Carl,
    That was indeed very helpful! Again congrats on the excellent job!!

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. Very informative and impressive post you have written, this is quite interesting and i have went through it completely, an upgraded information is shared, keep sharing such valuable information.
    get more: Network Analysis and Synthesis

    ReplyDelete