First you need to prepare your geometry in Rhino. If you don’t already have 3D geometry of the area you will analyze in Rhino, one way to acquire 3d urban geometry is to import it from GIS files using a plugin such as Heron or BearGIS (both available from the Rhino Package Manager).
In the near future the Solid Voids Toolset will import shapefiles directly for analysis. For now please use the import_shapefile.gh grasshopper code we provide along with the toolset as described below.
2. Buildings and walls.
Simply select your shapefile on the left and turn the toggle to ‘True’. The Elevation Index value should correspond to the column number where height information for the building polygons are located (this can be seen in the ‘flds’ panel). At the end of the process, you may bake the buildings. For walls, the process is the same, but take care to alternate the ‘C’ switch of the Polyline component between ‘open’ and ‘closed’ depending on whether the wall geometries are open linestrings or closed polygons.
2. Topography and terrain.
Simply select your shapefile on the left and turn the toggle to ‘True’. As before, the Elevation Index value should correspond to the column number where height information for the topography points are located (this can be seen in the ‘flds’ panel). If you wish to experiment with the mesh smoothing values, you may use the ‘Contour’ component in the ‘Visualise’ group (next image) to more effectively check the effects on the terrain. At the end of the process, you may bake the terrain.
3. Interpolated topography points.
This group subdivides the mesh into equal squares. Simply choose the degree of interpolation in the ‘Size’ component. Once you are happy with the level of detail, you may bake the interpolated points.
4. Error checks.
The above process will allow you to input most geometry for analysis with little adaptation. Once imported however, it is necessary to check the geometry within the Rhino canvas window to confirm that all buildings are of sufficient height and above the terrain. When this is not the case, you will need to correct either the building height or the terrain. All analysis (including QGIS algorithms) uses the 3D geometry in Rhino – there is no need to correct the original shapefiles unless you wish to.
Below we list the necessary geometry and what you need to pay attention to while creating it:
- Buildings: these need to be extrusions of flat polygons on the XY plane. Their base should not sit on top of the topography mesh, but the XY plane, at Z=0.
- Walls: these are boundaries that you usually have to model manually, unless you already have a detailed GIS file or a 3d model. The walls should be extrusions of line geometry sitting on the XY plane, and not the topography mesh, just like the building geometry. This is why, all boundaries will essentially be modeled like walls, may they be hedges, fences, gates, removable parking barriers or in some cases, parking lots. You should decide if the urban space they separate is accessible or not, and accordingly model the barrier or not. Below are several cases of boundaries that may be modeled as walls.
- The topography mesh: the code only requires topography points (located at their correct elevations). Nevertheless, it is advisable to first create a delaunay mesh and make sure that the top-most vertices of the walls and building geometry remain above the mesh geometry (avoid the case in the image below). Otherwise, the QGIS code will give you an error. If the topography points are not dense enough, you may also get an error in the 3rd QGIS code you are going to run in the next step. If that happens, extrapolate a denser set of topography points. For this, you can project a 10m x 10m grid of points on the delaunay mesh.