NA Campus directions questions.

3352
8
Jump to solution
01-24-2013 08:23 AM
EricStipe
New Contributor III
I've noticed that the resources.xml file has maneuver commands for Hallways, Doors, Buildings. I was wondering if there was some sort of "RoadClass" equivalent for the walking directions that needs to be put in the attribute table to be able to utlize these? I tried adding a point class to the network dataset for "Doors" to see if that would trigger something, but no luck. Any suggestions?


Thanks,

Eric
Tags (2)
0 Kudos
1 Solution

Accepted Solutions
RobertGarrity
Esri Contributor
Hello Eric,

After a couple of days of looking into this when I could, here is what I can report???
As you know, you need a RoadClass field on your lines. Your basic pedestrian paths will have a Road class value of 10. ???Arc-like Connectors???, as I???ll call them, are edges that connect basic paths to other basic paths at intersections or connect basic paths to doors. (Please see the attached graphic. The dashed lines are connectors and the solid black lines are basic paths.) I call them ???arc-like??? because 3D network datasets don???t handle true curves???just straight lines. Any curve needs to be generalized into straight lines. But you can keep the curved look by generalizing them into many short, straight lines. These connectors are often created so the routes solved on the network look more natural and less rectilinear. That aside, the main point here is the arc-like connectors need a RoadClass value of 11.

There are four other road class values you can use for directions:

  • 12-Stairs

  • 13-Escalators

  • 14-Elevators

  • 15-Pedestrian ramps

Adding a Name field to your features is probably the most useful thing you can add to your network for directions. All point and line source feature classes can have names. Doors can have names to help specify which door a person should use to get into a large room, for instance. Hallways can have names. But named hallways, with visible names, are rare in the real world.

Adding an AdminArea field is helpful too. This can store your building name information or names of outdoor areas on line source feature classes, not point sources.

Adding FromFloor and ToFloor fields to line feature classes representing floor transitions like stairs, escalators, and elevators will make it so directions say what floor to go to. These are text fields that store the name of the floor, which might be a number or text. You???ll need to supplement these fields with two other Long Integer fields: FromLevel and ToLevel. Make sure they are Long Integer fields, not short ints. Shorts ints should work, but they won???t until the next service pack/release. Assign floor numbers to these fields even if the floors have a non-numeric name. Use ???1??? for the first floor, ???2??? for the second floor, and so on. You can use negative numbers for underground floors.

Once you have the extra fields added, you need to configure the network dataset and its directions settings.  Add a RoadClass network attribute and configure its evaluators to get values from the RoadClass fields you added to your source features.

In the Network Directions Properties dialog box, on the General tab, under Street Name Fields, flip through the different network sources and set Name to the name fields you created on your source features.

On the Road Detail tab, set the Road Class Attribute to the RoadClass network attribute you just created. In the Field Mappings section, flip through the sources and set the field mappings below. For floor transitions, make sure you set the Level, FromFloorName, and ToFloorName properties.

I hope this is helpful.

Robert[ATTACH=CONFIG]21279[/ATTACH]

View solution in original post

0 Kudos
8 Replies
RobertGarrity
Esri Contributor
Hello, Eric. The way to use NA Campus directions is through the Directions GP tool; then set the StyleName parameter to NA Campus.

Robert
0 Kudos
EricStipe
New Contributor III
Robert,

Thank you for your response. I am aware of how to get the directions to supposedly return in a pedestrian style by using the GP tool. My question is more about how to get the supposed NA Campus directions to output actual pedestrian directions. i.e. is a field with some sort of class attribute necessary to indicate a path is a hallway, so that the "hallway maneuver" is used. Does a point class with doors need to be a part of the network dataset so that it knows when to use the "through door" or "enter building".

The problem is this functionality supposedly exists, but I cannot find anything aside from simply setting the style to NA Campus that indicates how to actually make it useful and work properly.
0 Kudos
EricStipe
New Contributor III
if it helps clarify my question, i want to know how to use direction manuevers such as these:

<String id="campusManeuverEnter">{Go inside and continue forward} @campusThroughNames</String>

<String id="campusManeuverTakeDoor">@campusManeuverDoor ({ on the } #DoorSide)</String>

<String id="campusManeuverTakeDoorToHallway">@campusManeuverDoor ({ on the } #DoorSide) { and } #GoDirection @campusThroughNames @campusDestination</String>



the same way that these are used (regular directions for the first, setting a RoadClass attribute for the second):

<String id="ManeuverDepart">{Depart} ({ } #StopName)</String>

<String id="ManeuverFerry">{Take} (@FerryName) { ferry}</String>
0 Kudos
RobertGarrity
Esri Contributor
Eric,

Just to let you know, I haven't forgotten about you. I'm still looking into this issue, so this isn't a definitive answer. But what I know so far is that you need a RoadClass network attribute, and it should have values of 10 for lines representing normal hallways and values of 11 for lines representing connectors between hallways or between hallways and doors. So...

  1. Add a RoadClass field to your line feature classes.

  2. For the lines that represent most hallways, assign a RoadClass value of 10. For connectors, assign a value of 11.

  3. Add a network attribute called RoadClass. Its evaluator should reference the RoadClass field from your hallway features.


You'll also need to indicate name fields of your source features for directions.

  1. Open the Properties for the network dataset.

  2. Go to the Directions tab, click Directions.

  3. On the General tab of the Network Directions Properties dialog box, choose your network sources in the Street Name Fields section and, under the Name column, choose a name for each source. This name will appear in the directions. So if you want a name for the door, make sure your point feature class has a name field assigned.

  4. While you're here, click the Road Detail tab and choose the RoadClass network attribute.

  5. You can also set up Administrative Areas (think building names, as in "Enter Building A"). Are you working with multi-story buildings? If you are, we can look into setting Levels (floors) and the from- and to-floors for staircases and elevators.

I'm not sure this produces the results you want, but I'll look into it some more and try to provide a definitive answer soon.

Robert
0 Kudos
EricStipe
New Contributor III
Robert,

Thank you very much this is a great start. I am indeed working with multi-story buildings and have a separate feature class that contains all of the "transfer lines" (ie. the stairs and elevators between floors).

I will work on using the RoadClass 10 and 11 to get those maneuvers to work, do you know if a point class could be set with a RoadClass attribute? Say, having doors as points rather than lines? It seems from the second half of your post that this is possible, but the first half indicates just lines.

Thanks again for continuing to work on this, I appreciate it.

Eric

EDIT: I've also noticed that the distance instruction under each step (using NA Campus, distance set to feet) still instructs "Drive: 20 ft". Only at the end does it have the cumulative "Walking Distance". Any thoughts on this??
0 Kudos
MelindaMorang
Esri Regular Contributor
Hi Eric.  We are aware of the issue with NACampus Directions you mentioned where each step generates walking directions and then summarizes them with "Drive X mi."  We're working to get it fixed, but I'm not sure of the current status of this issue.  For now, please accept our apologies for this problem, and good luck with your project.
0 Kudos
RobertGarrity
Esri Contributor
Hello Eric,

After a couple of days of looking into this when I could, here is what I can report???
As you know, you need a RoadClass field on your lines. Your basic pedestrian paths will have a Road class value of 10. ???Arc-like Connectors???, as I???ll call them, are edges that connect basic paths to other basic paths at intersections or connect basic paths to doors. (Please see the attached graphic. The dashed lines are connectors and the solid black lines are basic paths.) I call them ???arc-like??? because 3D network datasets don???t handle true curves???just straight lines. Any curve needs to be generalized into straight lines. But you can keep the curved look by generalizing them into many short, straight lines. These connectors are often created so the routes solved on the network look more natural and less rectilinear. That aside, the main point here is the arc-like connectors need a RoadClass value of 11.

There are four other road class values you can use for directions:

  • 12-Stairs

  • 13-Escalators

  • 14-Elevators

  • 15-Pedestrian ramps

Adding a Name field to your features is probably the most useful thing you can add to your network for directions. All point and line source feature classes can have names. Doors can have names to help specify which door a person should use to get into a large room, for instance. Hallways can have names. But named hallways, with visible names, are rare in the real world.

Adding an AdminArea field is helpful too. This can store your building name information or names of outdoor areas on line source feature classes, not point sources.

Adding FromFloor and ToFloor fields to line feature classes representing floor transitions like stairs, escalators, and elevators will make it so directions say what floor to go to. These are text fields that store the name of the floor, which might be a number or text. You???ll need to supplement these fields with two other Long Integer fields: FromLevel and ToLevel. Make sure they are Long Integer fields, not short ints. Shorts ints should work, but they won???t until the next service pack/release. Assign floor numbers to these fields even if the floors have a non-numeric name. Use ???1??? for the first floor, ???2??? for the second floor, and so on. You can use negative numbers for underground floors.

Once you have the extra fields added, you need to configure the network dataset and its directions settings.  Add a RoadClass network attribute and configure its evaluators to get values from the RoadClass fields you added to your source features.

In the Network Directions Properties dialog box, on the General tab, under Street Name Fields, flip through the different network sources and set Name to the name fields you created on your source features.

On the Road Detail tab, set the Road Class Attribute to the RoadClass network attribute you just created. In the Field Mappings section, flip through the sources and set the field mappings below. For floor transitions, make sure you set the Level, FromFloorName, and ToFloorName properties.

I hope this is helpful.

Robert[ATTACH=CONFIG]21279[/ATTACH]
0 Kudos
EricStipe
New Contributor III
Robert,

This was incredibly helpful, and what I was looking for. This makes it easier to understand which attributes are necessary to get the NA Campus style to work as it appears it should from the resources.xml file. I'm going to try out these suggestions and hope it all works! Out of curiosity, is there a reason that this information isn't in the resource center or some other place?

Thanks again,

Eric
0 Kudos