Import Building data with use-of-floor and color-code each floor in ArcGIS Urban

606
4
10-10-2023 01:24 AM
TakaYoshi3
New Contributor

I have a building polygon data (shapefile) with use-of-floor attributes.
How could I import it into Urban and how could I color-code each floor according to its use-of-floor?


Data image:

Building ID | use of 1st Floor | use of 2nd Floor | ...
=========================
1 | Shop | Residential | ...
2 | Retail | Retail | ...

4 Replies
JasonKarian2
New Contributor II

Hey TakaYoshi,

Great question. For what you're asking, just to confirm you're saying the feature layer has each individual floor, and each floor feature layer has an attribute tied to its use?

If so, I just ran a test to confirm this workflow. First off, we do have the "Spaces" import in Plans, under our Development tab. This allows you to bring in building footprints of new potential developments into the model. However, this only works for one floorplate, aka the bottom floor, as you can choose the building type that applies to said building footprints you upload. Also to note as well, you can only choose one building type for all of the footprints to upload to Urban.

With your question, loading in different floors, I tried running two floors (Floor 1 and Floor 2) to see what would happen, and both building types were located on the ground, intersecting with each other, so that wouldn't be a recommended workflow. 

However, there is something you could do here, albeit a bit of work. If in your feature layer of all the buildings, you have exactly similar buildings (i.e. you have buildings that go 1st floor retail, 2nd floor office, 3rd floor office), you can select those in ArcGIS Pro and separate them as their own feature layer, then only upload the bottom floor to ArcGIS Online. Then, in Urban, create a Building Type based off of whatever the building is, choose the feature layer you uploaded and choose your personalized Building Type.

To be fair too, that could be a bit of work. I would also recommend bringing in the feature layer as a Context Scene, or a layer that can be used to help derive more context to your study area. The feature layer you have would be perfect to trace out in Urban, and also know how tall each floor would be, what the use will be, etc. Then, when you're done with all of the building, you can remove the context scene from your Plan!

MaximeDemers
Occasional Contributor III

Hi,

I am interested in doing something similar. We have the buildings footprints and the information about the building height, number of floors and the spaces types (housing, commercial, industry, office, other, etc...)  for each floors. We would like to integrate this data into plans in order to model the actual state of the city and be able to play with different scenarios for futur development and see the impact on metrics.


I am not sure what is the best workflow to integrate this data in batch ideally in an automatic way. We have CityEngine and we are able to use the Urban API also.

Is it possible to generate 3D buildings with floors automatically in batch using the footprints? Can this be done with CityEngine rules and then exported in plans into Urbans?

Do we have to create building types for each building as the mix of space uses can vary a lot between buildings? Is it possible to generate the building types automatically via the API?

Any suggestions?

Thank you!


I am looking for a workflow that will generate something like this automatically from our data

1550600845070.png

0 Kudos
Till_Schmid
Esri Contributor

Hi @MaximeDemers 

Thanks for your question. Out-of-the box, ArcGIS Urban doesn't support importing existing buildings with space-use information yet. I suggest to add this feature request as an idea to the Urban Ideas page, since it is a very interesting use case.

With more advanced methods, I can think of the following options to achieve your goal:

  1. Generate buildings from building footprints, as suggested by @JasonKarian2
    This can be a bit tedious if the space use mix differs a lot between buildings. See our documentation to learn more about this option.
  2. Import the floors using the Urban API.
    The operation to add spaces (floors) to a plan scenario is called mutation.createSpaces. You need at least the geometry (polygon), space use type, and height of each floor. You also need additional information, such as the ID of the parcel the space is belonging to and the floor number of the space. Depending on your data, this might need some preparation work, but it seems like this is definitely feasible. See the ArcGIS Urban API documentation to learn more or try it yourself in the Urban API GraphQL Playground

The approach via CityEngine might be tedious, since CityEngines Urban integration doesn't support writing spaces/floors to Urban that haven't been generated with the so-called "Urban rule". This means, that you would still have to create a building type for each space-use mix, and apply this to each parcel (which would be the building footprint, in your case). 

Depending on your data, you could consider using CityEngine as a data preparation tool. In this case, you can create a custom rule that creates floorplate polygons form your data. In the next step, you would still have to send these floorplates to Urban via the Urban API as described in option 2 above.

I didn't think this through in detail yet, but the way I see it, option 2 should work to achieve your goal. I hope that this information helps to get you started! Please let me know in case you have questions.

MaximeDemers
Occasional Contributor III

@Till_Schmid thank you very much for your suggestions. It helps a lot!