tryBufferGeodetic

fun tryBufferGeodetic(geometries: Iterable<Geometry>, distances: Iterable<Double>, distanceUnit: LinearUnit?, maxDeviation: Double, curveType: GeodeticCurveType, unionResult: Boolean): List<Polygon>

Creates and returns a geodetic buffer or buffers relative to the given collection of geometries. Geodetic buffers account for the actual shape of the earth. Distances are calculated between points on a curved surface (the geoid) as opposed to points on a flat surface (the Cartesian plane).

Negative distance can be used to create buffers inside polygons. Using a negative buffer distance shrinks the polygons' boundaries by the distance specified. Note that if the negative buffer distance is large enough, polygons may collapse to empty geometries.

Return

A collection of polygon geometries that represent a geodetic buffer at the desired distance(s) relative to the given geometries. If 'unionResult' is true, the resulting collection contains a single polygon. Returns an empty list in the following circumstances: geometries is empty; the geometries do not have equivalent spatial references.

Since

200.1.0

Parameters

geometries

A collection of geometries.

distances

The distance to buffer each geometry, expressed as a MutableList of double. If the size of the distances array is less than the number of geometries, the last distance value is used for the rest of geometries.

distanceUnit

The unit of measure for the distance.

maxDeviation

The maximum deviation between points. If NaN then a maximum deviation of up to 0.2% of the buffer distance, with a maximum of 0.01 meters, aiming to give an output geometry with a smooth boundary.

curveType

The GeodeticCurveType used to calculate the buffer.

unionResult

Return a single geometry that buffers all the geometries (true), or one buffer for each in the given collection (false).