Building a city model
If you have an ESRI shapefile, you'll know that they are a collection of polygons, often representing building footprints in a city. Each polygon has a height value that denotes the height of the building. It is possible to build a simple hexahedral model using various operators in VisIt.
Make the following expression in VisIt, taking care to use the proper mesh and height variable names:
building = if(lt(recenter(coord(<mesh>)), <height>), 1, 0)
We'll use the above expression in VisIt to evaluate a field on a resampled 3D mesh so that the cells under the elevated building heights will be marked as part of the building while other cells will not.
- Add a Pseudocolor plot of building
- Add a Resample operator. You can often resample the entire extents but be sure to crank up the number of samples in X and Y.
- Add an Extrude operator. Set the Extrusion axis to 0 0 1 and set the length to the largest height in your model.
- Add a DeferExpression operator. Make the building variable be deferred.
- Add a Threshold operator. Set the min to 0.5
- Draw the plots
- If the model looks okay to you then Export Database to a file format like VTK or Silo. If the model does not look okay then adjust the number of samples in the Resample operation or adjust the bounds of the resampling.