Tuesday, March 10, 2026

007] Global Mapper - Viewshed Analysis Including Buildings (Obstructions from Vector Data)

Today, we will explore how to conduct a Viewshed Analysis that accounts for buildings as obstructions.

To follow along, please open the Workspace we worked on in the previous session and add the following file to your layers. You can simply download it and drag it into the main screen.

Attachment: Cur_BD.zip (This is a safe proprietary data file for Global Mapper.)

Once loaded, you will see the buildings displayed on your screen as shown below.

Buildings displayed on the Global Mapper main screen over the terrain



Preparing Vector Data for Analysis

In order to include vector data in a viewshed analysis, the vector features must possess a height value assigned to an attribute named "height".

When you download continuous digital maps or NGI maps from national geographic information portals, you can usually obtain SHP files that include the number of floors for each building.

To get the actual height, we can find the floor count attribute and multiply it by 3 (assuming 3 meters per floor) to create a new attribute.

First, let's identify which attribute contains the floor count in our Cur_BD layer. For clarity, turn off all other layers except for the DEM (Digital Elevation Model).

Control Center showing the building SHP layer selected among other layers



Identifying the Floor Count Attribute

Let's check the information for a specific building. Select the Digitizer Tool icon, then double-click a building on the main screen to view its attributes.

In the continuous digital topographic maps downloaded from the Korean National Information Map service, the NMLY attribute typically represents the floor count information.

The Modify Feature Info window showing the NMLY attribute indicating the floor count



Calculating the "height" Attribute

Now that we know NMLY holds the floor count, we need to create a new attribute called height and populate it with the value of NMLY * 3.

Go to the top menu bar and select Layer -> Calculate/Copy Attribute Value(s). As the name suggests, this menu is used for copying or performing calculations on attribute values.

Accessing the Calculate/Copy Attribute Value(s) option in the Layer menu


After selecting the menu, a window will appear to choose the target layer. Since we are performing the calculation on the buildings in Cur_BD, select Cur_BD.shp and click OK.

Selecting the building SHP layer in the Select Layers dialog


The Attribute Calculation Setup window will appear. Configure it as follows:

  • Configuring the Attribute Calculation Setup window with the height formula
    Attribute to Assign: Type height
  • Source Attribute: Select NMLY
  • Operation: Select Multiply
  • Use Fixed Value: Enter 3

This tells the software: "Create a 'height' attribute and fill it with the value of NMLY multiplied by 3."

Note: By selecting "Use Formula Calculation," you can perform even more complex operations using conditional expressions. Click OK after entering the values.




Verifying the Results

Once the calculation is complete, a confirmation window will appear.

Notification window stating that attributes for 11,344 features have been modified

Click "OK" and then "Close" on the Attribute Calculation Setup window. If you double-click a building again to check its info, you will see that the height attribute and its calculated value have been successfully added.

Modified Feature Info window showing the newly added 'height' attribute



Performing the Viewshed Analysis with Obstructions

Now that both the DEM and the building data with height values are ready, let's perform the Viewshed Analysis.

Select the Create Viewshed tool from the icon toolbar and click near the area indicated at the bottom of the screen.

Selecting the Create Viewshed tool and designating the observer location on the map

The Viewshed Setup window will open. Enter the following parameters:Configuring Viewshed Setup parameters including Vector Obstruction settings
  • Layer Name: Viewshed Analysis
  • Transmitter (Observer) Elevation: 1.6m above Ground
  • Receiver Elevation: 0m above Ground
  • View Angle: Start Angle 270 (West), Swept Angle 90 (Counter-clockwise)
  • View Radius: 5km
  • Sample Spacing: 10x10m
  • Obstructions from Vector Data: Check "Use Vector Features with Heights" and ensure Cur_BD.shp is selected.



Click OK, and the result will appear as follows.

Result of the Viewshed Analysis including buildings as obstructions



Comparison: Terrain Only vs. Terrain + Buildings

Currently, it might be difficult to distinguish the visible areas clearly because the building layer is still on. Let's turn off the building layer to see the results better.

Viewshed result displayed only over the terrain model


Now, let's compare this with an analysis that only considers the terrain. Select the newly created Viewshed layer, right-click, and choose Edit Viewshed Parameters and Recalculate.

Selecting the option to edit and recalculate the viewshed


The Viewshed Setup window will reappear. Since we have hidden the vector layers, the "Use Vector Features with Heights" section will be empty or disabled. Just click OK to run the analysis based on terrain only.

Recalculated viewshed result based solely on terrain without building obstructions



Conclusion

This is the process of conducting a Viewshed Analysis in Global Mapper that incorporates building data as obstructions. Taking screenshots and explaining each step takes quite a bit of time—I started right after lunch and two hours have already flown by!

That's all for today. Happy mapping!

No comments:

Post a Comment