How Skyline Barrier (3D Analyst) works
Skyline Barrier generates height control surfaces from skylines. They are defined between observation points and the skylines associated with these points. The barriers are useful for urban planning scenarios because they can be used to identify whether a proposed building will impact a skyline. They can also be used to test the proximity of features to the horizon.
The tool can also generate a shadow volume, which can in turn be used to determine whether features are shaded or hidden by the feature used to generate the skyline from which the barrier was created.
Another means of generating shadow volumes is by extruding silhouettes generated by the Skyline tool. See below for a description of this approach.
The barrier control surfaces are captured as multipatch features. They are not traditional raster- or TIN-based surfaces. Rather, each is a set of faces made by constructing what looks like a triangle fan between an observation point and the vertices of a skyline that corresponds to that point.
The workflow to generate barriers is to first run the Skyline tool and take the output from that tool and use it as the input line feature source to the Skyline Barrier tool. Points are matched to the proper lines through the use of attribute values representing FIDs that were written to the skyline feature class by the Skyline tool.
The minimum and maximum radius options are used to control the size of the output barriers. By default, each barrier only goes out as far as its corresponding skyline, but you can project it out to ensure that it goes at least as far as the minimum radius but no farther than the maximum.
The skyline barrier could be used, in conjunction with another tool—for example, Select Layer By Location, found in Data Management under Layers and Table Views—to determine whether features (such as multipatches representing buildings) violate the barrier by protruding up through it. The barrier could also be used to determine whether a feature is visible: if it's farther than the skyline and below it, it is not visible from the observer point.
The skyline barrier is always created as a multipatch. If you choose to close the multipatch, a skirt and base are added. The skirt consists of triangles that drop down (or rise up) from the perimeter of the skyline barrier to the base elevation you provide; the base is a horizontal ring. If the base elevation is below both the lowest vertex in the skyline barrier and the observer point, or if it is above both the highest vertex in the skyline barrier and the observer point, the resulting closed multipatch is treated as closed by the Is Closed 3D tool. This closed multipatch can then participate in some 3D solid operations, such as Intersect 3D and Union 3D.
If you choose to close the multipatch, the base elevation should be set to either below the observer point and below the lowest vertex on the skyline or above the observer point and above the highest vertex (or more extreme if a minimum radius is set and causes the skyline barrier to extend outside the vertical extent of the skyline polyline). If this base elevation is set to above the skyline barrier, it is in essence a ceiling rather than a base.
Other than the vertex common to most of the triangles of the skyline barrier (that is, the observer point), the vertices of the triangles are derived from the vertices of the input line. If you choose to close the multipatch, the vertices of the skyline are duplicated, in a sense, and their z-values are set to the base elevation you provide.
Shadow volume analysis
The Skyline Barrier tool can be used to generate shadow volumes and to perform other related tasks.
If Project to Plane is checked, then the two values Minimum Radius and Maximum Radius will take on different meanings: the Minimum Radius will be used as the distance from the observer point towards the skyline at which to begin the barrier (zero or greater); the Maximum Radius will be used as the distance from the observer point towards the skyline at which to end the barrier. The Maximum Radius should be greater than the Minimum Radius. For shadow volumes, the Minimum Radius is typically set so that the near (front) end of the barrier is located near the skyline, while the Maximum Radius is usually far enough away so that if the observer is above the skyline (as if it were the sun), then the barrier ends under the surface.
If the values for both Minimum Radius and Maximum Radius, as well as for the Base Elevation, are 0 (zero), the default, and the Project to Plane check box is checked, then the tool will automatically calculate values for those three parameters.
Checking the Project to Plane check box will cause the front and back faces of a closed multipatch to be vertical planes, where the skyline is projected onto the vertical plane.
A closed skyline barrier can serve as a shadow volume. Other features, such as points representing windows on buildings, can be tested as to whether they are inside or outside the closed multipatch, which is synonymous with being inside or outside the shadow.
The skyline barrier typically consists of many slender triangles. If the observer is very far away, then these triangles become extremely thin slivers, especially near the observer point. If the barrier is then closed, the resulting multipatch might not be perfectly closed. This can be overcome by using the Project to Plane option (the last parameter) and setting the distances so that the closed multipatch is not very long.
Furthermore, without checking Project to Plane, if the Minimum Radius and Maximum Radius values are both set to zero, then the barrier will run exactly until the skyline. That typically is an intricate path, with many sections running from or towards the observer. That leads to a complex collection of triangles, which in turn makes the proper closing of the multipatch less likely if you choose to close it. With Project to Plane checked, the triangles along the top of the barrier form a triangle strip (or a triangle fan if the Minimum Radius is set to zero). If the barrier is closed, then the front vertical face and the back vertical face will each be a ring.
To create a separate barrier (or shadow volume) for each building, it is typically advisable to check the Segment Skyline check box in the Skyline tool before creating the skyline. Each polyline in the skyline has a FEATURE_ID parameter. A value of zero or greater indicates that polyline runs along a feature with that FID, while a value of -1 indicates that the polyline runs along the surface (e.g., the terrain). A value of -2 represents a transition segment, which runs along an imaginary radial from the observer, meaning that it appears as a point to the observer. Usually you would ignore polylines with an attribute of less than 0 if you want to create a barrier (especially a shadow volume) based on a feature.
The observer is considered to be a point. That means that the rays emanating from it are diverging. If the observer is far away, then the rays are close to being parallel.
Silhouettes and shadow volume analysis
The Skyline tool can be used to generate silhouettes of features, and these silhouettes can be used by the Skyline Barrier tool to generate shadow volumes. Silhouettes are another approach to creating shadow volumes; as described above, skylines can also be used.
The Skyline Barrier tool will sense if you have specified a multipatch feature class for the Input Features (in_features) parameter. If you provided multipatches, then this tool will behave differently than if you had provided lines. The following description assumes that you have provided multipatches.
The Minimum Radius (min_radius_value_or_field) parameter is the horizontal distance from the center point of the input multipatch to the desired beginning of the shadow volume. The positive direction is away from the observer. Entering a sufficiently large negative value will cause the shadow volume to begin within or even before the original feature (building).
The Maximum Radius (max_radius_value_or_field) parameter is the horizontal distance from the center point of the input multipatch to the desired end of the shadow volume. The positive direction is away from the observer. The Maximum Radius should be larger than the Minimum Radius.
The Closed (closed) parameter value is ignored.
The Base Elevation (base_elevation) parameter value is ignored.
The Project to Plane (project_to_plane) parameter value is ignored.
If you leave all three of the numeric parameters (Minimum Radius, Maximum Radius, and Base Elevation) at their default values of 0 (zero), then the tool will decide where the shadow volume should begin and end. In this case, the shadow will begin just behind the feature represented by the silhouette, and will typically end far enough away so that the end is below ground (assuming that the observer is above the silhouette).
The shadow volume will be a closed multipatch.
The output multipatch feature class will contain the following fields:
- OID: The FID of the multipatch.
- Shape: The multipatch shape.
- OBSV_PT_ID: The FID of the observer point used to create the skyline which in turn was used to create this skyline barrier multipatch.
- ORIGFTR_ID: The FID of the original feature, such as a building, represented by the skyline segment or silhouette which was used to create this shadow volume.
- SILHOUE_ID: The FID of the multipatch feature (silhouette) used to create this shadow volume (for silhouettes only).