canyon

Geometric functions, polygon operators canyon

syntax

  • canyon(point, z, sequence_rel, segm_start, segm_end, arcs, arc_height, minHeight, maxCanyonDist)

definition

canyon computes street-canyon indicators for a set of (road) points: for each point the right and left canyon contribution (sub items rrc and lrc) given the surrounding line segments (e.g. building facades) with their heights. Segments lower than minHeight or further away than maxCanyonDist do not contribute.

sequence_rel relates each point to the street segment it belongs to: its values unit is the segment entity, the domain of segm_start and segm_end. Since GeoDMS 20.23.1 a value of sequence_rel is taken as a value of that entity, so a segment entity whose range does not start at 0, such as range(uint32, 1, 2), is read correctly, and a point whose sequence_rel is null or outside that range (an unmatched Rlookup, for instance) gets no street: a null location and a zero contribution, as a null point does. Before, such a relation was used as an index into the segments directly, which read the wrong segment or beyond the end of the segment arguments. Also since that version sequence_rel, segm_start and segm_end are read correctly when they are tiled or calculated; before, such an argument could be read from memory that had already been released.

On each side, rrc and lrc are the highest height difference over distance of the facades along the sight axis, perpendicular to the street; RLoc and LLoc are the location of that facade on the sight axis, and of facades with an equal ratio the nearest one. Since GeoDMS 20.23.1 the nearest one is the rule (#1289); before, RLoc and LLoc were the location of the first of those facades in the order in which the spatial index found the buildings, which followed from how that index was built. The ratios themselves did not depend on that order.

This operator is exercised in the GeoDMS-Test operator test (Sequence/UnTiled/canyon), which can serve as a working example configuration.

This page is an initial stub generated from the operator test; please extend with the exact result definition.