### Description

This tool defines the area that is visible from a source point given a set of barriers (polygons) that block the line of sight. The outer limits of the visible area are defined by a radius the user specifies. If multiple viewpoints are specified, then the output can be specified as independent polygons, the union of these polygons, or the intersection of these polygons. This facilitates answering questions such as ‘What area can be seen from any viewpoint?’ and ‘What area can be seen from all viewpoints simultaneously?’.

This is a two dimensional vector model of visibility in contrast to the three dimensional raster DEM based model of visibility. There are advantages and disadvantages to both approaches. The advantage of this 2D vector model is that it may be more precise (often the horizontal extent of objects is mapped more precisely than the vertical dimension). The disadvantage is that it does not account for elevation, rather it assumes that all barriers block visibility.

### Syntax

lineofsight2d(poly, radius, out, [pnt], [source], [independent], [union], [intersect], [where]);

poly | the barrier polygon data source | |

radius | the maximum radius around source points out to which the visibility polygons is calculated | |

out | the output polygon data source | |

[pnt] | input point data source representing the locations from which visibility polygons are calculated (see the ‘source’ option as an alternative to this parameter) | |

[source] | the coordinates of the location from which the visibility polygon is calculated specified using the c(x, y) syntax (see the ‘pnt’ for an alternative way of specifying this location | |

[independent] | (TRUE/FALSE) if true, one polygon is produced for each input point regardless (polygons are independent of one another and may overlap) (default=TRUE) | |

[union] | (TRUE/FALSE) if true, one polygon is produced as output by unioning all the visibility polygons, thereby representing all areas that can be seen from at least one source point (default=FALSE) | |

[intersect] | (TRUE/FALSE) if true, one polygon is produced as output by intersecting all the visibility polygons, thereby representing the areas that can be seen from all source points (default=FALSE) | |

[where] | the filter/selection statement that will be applied to the input polygon data source to identify a subset of features to process |

### Example

lineofsight2d(poly=”C:dataislands.shp”, radius=20000, out=”C:datavisible.shp”, pnt=”C:dataobservers.shp”, union=TRUE);

lineofsight2d(poly=”C:dataobstacles.shp”, radius=1000, out=”C:datavisible.shp”, source=c(123456.1,9876543.9));

lineofsight2d(poly=”C:databarriers.shp”, radius=50000, out=”C:datavisible.shp”, pnt=”C:datatargets.shp”, intersect=TRUE);