bp_buffer_linestring - ObjectVision/GeoDMS GitHub Wiki

Geometric functions > bp_buffer_linestring

syntax

  • bp_buffer_linestring(arc_data_item, buffer_distance, nrPointsInCircle)

description

bp_buffer_linestring(arc_data_item, buffer_distance, nrPointsInCircle) creates a buffer polygon around each arc (linestring) in the arc_data_item. The result is a polygon data item with the same domain as the arc_data_item.

The buffer_distance is a value that specifies the width of the buffer (on each side of the line) in the units of the coordinate system.

The nrPointsInCircle is a UInt8 value that specifies the number of points used to approximate rounded end-caps and corner joins. A higher value results in a smoother buffer but increases computation time. The minimum value is 3.

The bp_ prefix of the function name indicates that the implementation of the operator uses the Boost Polygon library, which requires integer coordinates.

applies to

conditions

  1. The composition type of the arc_data_item needs to be arc.
  2. The data item must have a point value type with integer coordinates (ipoint or spoint).
  3. buffer_distance must be a positive value.
  4. nrPointsInCircle must be at least 3.

This function results in problems for (integer) coordinates larger than 2^25 (after translation where the first point is moved to (0, 0)). If your integer coordinates, for instance, represent mm, 2^25[mm] = about 33 [km]. We advise you to keep the size of your integer coordinates for polygons limited.

since version

15.6.0

example

attribute<ipoint> buffer_geometry (polygon, road) := bp_buffer_linestring(road/geometry, 25i, 8b);

see also

⚠️ **GitHub.com Fallback** ⚠️