From RhinoCapture to RhinoCity : produce buildings

<< Click to Display Table of Contents >>

Navigation:  RhinoCapture > How to... >

From RhinoCapture to RhinoCity : produce buildings

 

Here is how to produce 3D buildings with RhinoCityTM after having digitized roofs with RhinoCaptureTM .

 

Using RhinoCaptureTM, you have digitized coplanar roofs like below.

 

figure 1 : roof prints digitized

figure 1 : roof prints digitized

 

 

To produce 3D buildings, you need to obtain the "FootPrint" of those buildings.

 

To do this, you can use 2 methods :

method #1 : with this method, you will dissolve roof prints to compute the building foot prints and then produce the 2 features classes "Building" and "RoofPrint" the modeler needs.

method #2 : with this method, you will group roofs by proximity and use the resulting groups to produce the 2 features classes "Building" and "RoofPrint" the modeler needs.

 

By using one of this methods, your goal still remains the same :

- for the feature classes "Building" and "Roofprint", fill in the value of the "BUILDINGID" attribute

- for the feature class "Building", fill in the value of the "ZMIN" attribute

- for the feature class "Roofprint", fill in the value of the "CONSTRID" attribute

When this is done, you can use the "modeler" to produce the 3D model !

 

 

Method #1

 

According to you RhinoCaptureTM settings, the roofs you digitized are saved in a simple layer or already in a layer associated to a feature class "RoofPrint".

In this case, you should have too a layer associated to a feature class "Building" : make this layer current.

Otherwise, create a layer "Building" and make it the current one : building foot prints produced will be created in this layer.

 

Dissolve roofs to produce buildings foot prints

Use the command "RcGeometryDissolvePolygons" to produce the buildings foot prints by "dissolving" the adjoining roofs.

 

figure 2 : buildgins foot prints getting from "dissolve" 

figure 2 : buildgins foot prints getting from "dissolve"

 

Now that you have both the roofs polygons and the buildings polygons, we have to add the attributes needed by the modeler, according specifications.

 

As said before, if you already have the feature classes "Building" and 'RoofPrint" defined, you just have to edit attributes (go directly below) .

 

If not, import those 2 feature classes. For this, use the command "RhinoDBFeatureClassDefFileImport" to import their definition.

Select file "RhinoCity_FeatureClasses_ModelerV2.ini", choose the feature class name prefix (eg. "TEST_") and hit [return].

 

After this operation, yours layers should be :

figure 3 : layers / feature classes

figure 3 : layers / feature classes

 

 

The layer/feature "TEST_BuildingPart" class won't be used : you can delete it.

Select your roofs polygons and put them in the layer/feature class "TEST_Roofprint"

Select your buildings polygons and put them in the layer/feature class "TEST_Building"

After that, you can delete layers "RoofPrint" and "Building".

 

 

Edit attributes

 

Using the panel "Attributes", edit the "Buildings" attributes to give them 2 differents ID.

 

figure4 : editing "Buildings" attributes

figure4 : editing "Buildings" attributes

 

Now, edit the "Roofprints" to give them the building ID their belong to.

 

figure 5 : editing "Roofprints" attributes

figure 5 : editing "Roofprints" attributes

 

/!\ as an alternative, you could export the 2 feature classes "Building" and "Roofprint" as ShapeFiles (described here), edit attributes values (eg. by using FME) and the re-import those 2 feature classes with the attributes filled.

 

 

Compute "CONSTRID" attribute

 

Use the command "RcBuildingModelerComputeConstructionId" to automatically compute the attribute CONSTRID (feature class "Roofprint").

 

Next step : compute or edit "ZMIN" (below).

 

 

Method #2

 

With this method, we will group the roofs by proximity. Then we'll produce automatically the feature classes "Building" and "Roofprint".

Those feature classes will have their "BUILDINGID" attribute automatically filled, and the "CONSTRID" (feature class "Footprint") will be filled too.

 

We'll only need to compute or edit the "ZMIN" attribute.

 

According to you RhinoCaptureTM settings, if the roofs you digitized are already saved in a layer associated to a feature class "RoofPrint", you have to delete this feature class.

As said before, this feature class will be automatically re-created latter. For this, use the command "RhinoDBFeatureClassRemove" to only keep roofs geometries.

In the same time, delete the empty "Building" layer.

 

Start the command "RcBuildingGroupPolygonByProximity".

Select the roofs polygons, choose a group name prefix (eg. "BLD_") and press [enter].

As a result, 2 groups have been created corresponding to building #1 and building #2.

 

Now start the command "RcConvertBuildingGroupToShapefile"

In the command line to the invite "ClassName", enter the feature classes prefix you need (eg. "TEST"). Press [Return].

Now, feature classes "TEST_Building" and "TEST_Roofprint" have been created.

 

If you use the panel attribute, you'll see that for both feature classes, attributes have been filled.

The BUILDINGID attribute has been filled by the group name created previously (starting from 0, increased 1 by 1).

And the CONSTRID attribute has been computed too.

 

Next step : compute or edit "ZMIN" (below).

 

 

 

Compute or edit "ZMIN"

 

If you have the terrain (DTM), use the command "RcBuildingZMinV2" to automatically compute the buildings attribute ZMIN (feature class "Building" ).

 

If you don't have the DTM, using the panel attribute, edit manually the ZMIN value.

 

 

 

Compute the 3D model

 

Start the command "RcBuildingModeler".

 

Using the command options in the command line, click "Building" to select the layer containing the building footprints. Press [Return].

 

At the end of the process, the 3D buildings are created, as shown below in the "render" mode.

 

figure 6 : 3D model (shaded mode)

figure 6 : 3D model (shaded mode)