In the previous lesson, you created 3D buildings with LOD 2 roof forms and identified errors. In this lesson, you'll fix the errors for the building that you reviewed. Then, you'll export the buildings to a 3D multipatch feature class to make the data easier to share. For the sake of time, you'll only edit a single building, even though multiple buildings were flagged as having high RMSE.
Modify building footprint vertices
One of the problems with the building you looked at was that the building footprint was misaligned with the imagery and elevation data. Before you make any other changes, you'll modify the vertices for better alignment.
- If necessary, open your Roof Form Extraction project in ArcGIS Pro and open the Create Level of Detail 2 Buildings task.
- In the Tasks pane, expand the Modify LOD 2 Buildings task group, and double-click the Modify building footprint vertices task.
The task opens and activates the Select tool for the 2D map only, not the 3D scene. You'll select the building footprint you want to edit.
- On the map, click the square building footprint with high RMSE west of the river.
If you need to pan or zoom the map, use the following shortcut keys: C to pan, X to zoom out, and Z to zoom in.
When you select the building, the Edit Vertices editing tool opens in the Tasks pane, and the vertices of the building appear on the map. However, the transparent DSM makes it somewhat difficult to see exactly where the vertices should go.
If you select the wrong feature by mistake, click Change the selection in the Tasks pane.
- Turn off the Portland_DSM_copy layer.
- Drag each of the vertices to align them better with the building's location on the Imagery basemap.
When you drag the vertices, they may snap to existing features. You can temporarily disable this snapping behavior by pressing the spacebar while editing.
- When you're satisfied with the new location of the vertices, return to the Tasks pane and click Finish.
The feature updates with the new vertices.
Split a building into multiple features
When you compared the building footprint to the imagery and the LAS point cloud, you discovered that while the building footprint had one uniform height evenly spread across its area, the actual building had two parts with vastly different heights: the main tower of the building and the parking structure around it. To fix this problem, you'll split the building footprint into two features, one to represent each part of the footprint.
- In the Tasks pane, double-click the Split buildings into multiple features task.
The task opens. Because the building footprint is already selected in the map, the task opens with the Split editing tool. (You can click Change the selection to edit a different feature, if needed.) The Split editing tool allows you to add new vertices within the existing polygon to split it into two distinct features. For this feature, you want to split the gray-roofed building from the surrounding parking structure. You'll get the best results with snapping turned on.
- On the Edit tab, in the Snapping group, click the Snapping menu and turn snapping on if necessary.
- Click the edge of the feature where the building and the parking structure intersect.
The new vertex is connected to the pointer by a line, which will illustrate the shape of your new feature as you add more vertices to create it.
Ensure that a ScreenTip appears next to your pointer to confirm that the vertex will coincide with a Portland_Roof_Forms edge or vertex before you double-click. If your sketch does not intersect the existing footprint exactly, even if it's only a small distance off, the sketch will fail and the feature will not be split.
- Add vertices along the wall of the gray-roofed building.
- Continue adding vertices until you reach the edge of the building footprint again. Double-click to add the final vertex and finish the sketch.
The original building footprint is split in two.
- In the Tasks pane, click Finish.
If you are not satisfied with how your sketch turned out, you can open the Modify building footprint vertices task again and edit the vertices of the new feature. Alternatively, you can click the Edit tab on the ribbon and in the Manage Edits group, click Discard to remove the edits entirely. If you click Discard, you'll also remove the edits you made to align the building footprint with the imagery.
Edit roof form attributes
You've split the feature in two, but now both features have the same attribute information as the original feature. You know that the building feature has the correct building height, but the feature that represents the parking structure has the wrong height. You'll edit the attributes of the Portland_Roof_Forms layer to fix the errors.
- In the Tasks pane, double-click the Edit roof form attributes task.
The task opens and activates the Select tool. Both features that you created are still selected from when you split the building footprint, but you can only edit the attributes of one feature at a time.
- On the map, click the parking structure to select it.
- In the Tasks pane, click Next Step.
The attributes open for the selected feature in the Tasks pane, allowing you to edit them. To determine which attributes to change and how to change them, you'll look at the original LAS point cloud.
- Click the Scene tab to make the Scene view active.
- In the Contents pane, turn off the Portland_Roof_Forms layer.
- On the ribbon, click the Map tab. In the Navigate group, click Explore and navigate the scene to better show the roof form of the building feature.
The height of the parking structure is different than the height of the building. You'll determine the parking structure's height and edit the attributes accordingly.
- Click a yellow point on the top of the parking structure to open its pop-up.
Depending on where you clicked, the parking structure elevation is approximately 75 feet. However, remember that while the LAS points have the true elevation of the point, the BLDGHEIGHT attribute in the roof form features has the maximum height of the building (which excludes the ground elevation). You need to subtract the base elevation of the building from the elevation of the point you clicked to get the elevation for the BLDGHEIGHT attribute.
- Close the pop-up. Make the Map view active by clicking its view tab. In the Tasks pane, locate the BASEELEV attribute.
The base elevation of the building is 35 feet. If the true elevation of the parking structure roof is approximately 75 feet, that means the building height is 40 feet.
- Click the BLDGHEIGHT attribute value to edit it. Change the attribute to 40 and press Enter.
- Click Finish. If you are prompted to apply uncommitted attribute edits, click Yes.
- Make the Scene view active. In the Contents pane, turn off the Portland_LAS.lasd layer and turn on the Portland_Roof_Forms layer.
While not perfect, the 3D feature now much more accurately reflects the shape, height, and roof form of the actual building.
You can repeat the previous three tasks as many times as necessary to modify the remaining building footprints with high RMSE.
Next, you'll save your edits and convert your features to share them with the Portland municipal government. Saving your edits permanently alters the dataset that you edited, so you always want to confirm that your edits are accurate before saving.
- In the Tasks pane, double-click the Save the edits task.
- At the bottom of the Tasks pane, click Finish.
The Save Edits window opens.
- Click Yes to save your edits.
Create a multipatch feature class
The Portland_Roof_Forms dataset is a 2D feature class symbolized to look 3D. If you shared this feature class with the Portland municipal government, it would have to be symbolized again to appear in 3D. Additionally, it could only maintain its 3D form with the exact symbology specifications of the layer file that you used. Therefore, you'll convert the dataset to a 3D multipatch feature class that maintains the 3D shape of features.
- In the Tasks pane, expand the Create LOD 2 Buildings (2) task group, and double-click the Create a multipatch feature class task.
The task opens the Features from CityEngine Rules tool, which converts a feature class into a multipatch feature class using a rule package.
- If necessary, make the Scene view active.
- For Input Features, choose Portland_Roof_Forms.
- For Rule Package, click the Browse button. Browse to the Layer_Files folder in your project and double-click the LOD2_Buildings_(Feet).rpk file.
- For Output Features, confirm that the output location is the City_Data geodatabase and change the output name to Portland_Multipatch.
- Click Run.
The multipatch feature class is added to the scene.
- Click Finish. Save the project.
The 3D buildings are now saved as a multipatch feature class that you can share with the Portland municipal government. You created these buildings by deriving elevation layers from lidar data and using those elevation layers to extract LOD 2 roof forms from building footprints. You symbolized the footprints in 3D and edited features with high error. In addition to zoning, development, and city planning, these more realistic roof forms can be used in 3D solar and shade analysis.
You can use the tasks, tools, and layer files in this project with your own data. As long as you have building footprints and lidar data of a location, you can create LOD 2 roof forms. This ArcGIS Pro task is designed to quickly replicate the workflow described by these lessons.
For more lessons, see the Learn ArcGIS gallery.