Skip to main content
Solved

ArcGIS Floor Aware Vertical Order

  • October 3, 2025
  • 2 replies
  • 30 views

deanhowell
Influencer
Forum|alt.badge.img+24

I am trying to automate the conversation of a large series of CAD drawings to save the data to be used in ArcGIS Floor Aware apps.

One of the criteria is to have levels / floors in a building sorted in vertical order, with the ground floor as 0 and increasing by one for each floor above the ground and decrease by one for each floor below the ground.

Unfortunately my data has inconsistent naming for floors. With some having a Lower Ground (LG) and or basement (B). There are also some that have a messanine (M) between Ground (G) and Level 1 (L1). To top it off there is a Roof (R) in some.

So my problem is that I need to sort the list of floors in such a way that I can get the vertical order, both positive and negative,  centred around Ground as 0 where it exists. 

Does anyone have suggestions on how to tackle this?

Here are a couple of examples and the vertical order needed.  

 

B, G, M, L1, L2, R => -1, 0, 1, 2, 3, 4

B, LG, G, L1, L2, L3 => -2, -1, 0, 1, 2, 3

LG, L1, L2, R => -1, 0, 1, 2

Best answer by deanhowell

Thanks all for your assistance.

 

For completeness here is my solution

  1. I added an attribute creator with a number of conditional statements to set a temp vertical order.

 

  1. I turned the levels into a list and sorted them and then defined ground zero with a couple of List searchers

 

  1. Finally, I did a bunche or tests, and sorting positive and negative to get the final vertical order
  2.  

     

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

2 replies

crutledge
Influencer
Forum|alt.badge.img+43
  • Influencer
  • October 3, 2025

Hi ​@deanhowell 

At first glance I would suggest the AttributeValueMapper. I have used this many times to ‘clean’ and ‘normalize’ data. Especially where we have multiple entries that represent the same value.
Hope this helps!

 


deanhowell
Influencer
Forum|alt.badge.img+24
  • Author
  • Influencer
  • Best Answer
  • October 9, 2025

Thanks all for your assistance.

 

For completeness here is my solution

  1. I added an attribute creator with a number of conditional statements to set a temp vertical order.

 

  1. I turned the levels into a list and sorted them and then defined ground zero with a couple of List searchers

 

  1. Finally, I did a bunche or tests, and sorting positive and negative to get the final vertical order
  2.