LoS Tools

QGIS plugin to create and analyze lines-of-sight. It also provides a set of supporting tools. The plugin focuses on point-to-point visibility, in contrast to classic viewshed analysis, which is point-to-area. Additionally, it provides tools for identifying horizon points (on LoS), horizon lines (from a set of LoS), and other useful tools related to visibility analysis.

The plugin is available here: https://plugins.qgis.org/plugins/los_tools/

Important Terms

Line-of-Sight (LoS)

A line from a specific observer point (observer) to or through a specific target point. This plugin defines three types of LoS: local, global, and without target.

Local and global LoS are used to describe the visibility of a specific target (e.g., the highest point of a building, the top of a hill) from observing points. Local LoS is strictly between the observer and the target and does not allow for the assessment of visibility behind the target. Global LoS extends from the observer through the target and continues behind it as far as the underlying elevation raster allows. Global LoS allows for the assessment of the visibility of the target with respect to the surface located behind it.

LoS without target is a special case of LoS where the target point serves only as a descriptor of direction and is not used to evaluate visibility at all. The target points for this can be generated by the tools Create Points Around and Create Points in Direction. Sets of LoS generated using these tools can be used to identify horizon lines.

Horizons

Generally, a horizon is a point on LoS that is visible and is immediately followed by an invisible point. There are several types of horizons mentioned in the plugin's tools, mainly local and global horizons and horizon lines.

A global horizon is the highest point on the LoS and, if the surface raster extent is sufficient, it should be the point where the LoS meets the sky. Each LoS has just one global horizon.

A local horizon is any horizon on the LoS that is not global. There may be multiple local horizons on an LoS. Among these local horizons, the highest local horizon can be useful for some analyses. The maximal local horizon is the highest horizon that is not global.

DEM Use in the Plugin

Most tools in the plugin allow you to use more than one DEM raster. The rasters are ordered from the smallest cell size to the largest. The cell size of each raster must be unique to form a complete ordering of rasters. Elevation is always obtained from the raster with the smallest cell size that has a valid elevation value (no data is not considered a valid value). This allows the utilization of DEMs with large cells in addition to DEMs with smaller cells. For example, a DEM with a cell size of 1 meter can be used within a city for areas close to observers, and SRTM data (30 meter cell size) can be used in areas around the city, far from the observer.

LoS Sampling Strategy

For tools Create Global LoS, Create Local LoS, and Create No Target LoS, the LoS is determined by sampling distance, which specifies how often a point is placed on the LoS, and optionally by maximal LoS length.

The tool Create No Target LoS V2 parametrizes LoS by a so-called Sampling distance - distance table. This approach is significantly more flexible, as it allows the sampling distance to change based on the distance from the observer. The table is the output of the tools Calculate Object Distances and Calculate Object Sizes. Each row specifies the distance from which a specific sampling size should be used. For example, a row with column values of Distance (meters) 1000 and Size of object (meters) 1.754 specifies that a sampling distance of 1.754 meters should be used on the LoS when the length exceeds 1000 meters. The maximal length of the LoS is given by the maximal value of Distance (meters).

There can be two special rows in the table with values of Distance (meters) 0 and -1. A row with a value of 0 specifies the sampling distance for distances smaller than the smallest provided distance (default value is 1). A row with a value of -1 means that there is no maximal LoS length and that the limit is provided by the raster data extent.

Citation

The citation for the plugin should be:

Jan Caha (2023). LoS Tools. QGIS Plugin version 1.0. https://jancaha.github.io/qgis_los_tools/
@Manual{,
  title = {LoS Tools}. QGIS Plugin version 1.0,
  author = {Jan Caha},
  year = {2023},
  url = {https://jancaha.github.io/qgis_los_tools/}
}