Show / Hide Table of Contents

Method BufferGeodetic

BufferGeodetic(Geometry, Double, LinearUnit, Double, GeodeticCurveType)

Calculates the geodesic buffer of a given geometry.

Declaration
public static Geometry BufferGeodetic(this Geometry geometry, double distance, LinearUnit unit, double maxDeviation = NaN, GeodeticCurveType geodeticCurveType = GeodeticCurveType.Geodesic)
Parameters
Type Name Description
Geometry geometry

The geometry to buffer. A non-null spatial reference is required.

Double distance

The distance to buffer.

LinearUnit unit

The unit of measure for the distance.

Double maxDeviation

The maximum deviation between points.

GeodeticCurveType geodeticCurveType

The curve type to calculate.

Returns
Type Description
Geometry

The Polygon that represents the buffered area.

Remarks

Geodesic buffers account for the actual shape of the Earth. Distances are calculated between two points on a curved surface (the geoid) as opposed to two points on a flat surface (the Cartesian plane).

Negative distance can be used to create buffers inside a Polygon or an Envelope. Using a negative buffer distance shrinks the geometry's boundary by the distance specified. Note that if the negative buffer distance is large enough, the geometry may collapse to an empty polygon.

Applies to

Platforms and versions
TargetVersions
.NET Standard 2.0100.3 - 200.2
.NET 6.0100.13 - 200.2
.NET 6.0 Windows100.13 - 200.2
.NET 6.0 Android200.0 - 200.2
.NET 6.0 iOS200.0 - 200.2
.NET Framework100.0 - 200.2
.NET 5100.10 - 100.12
.NET Core 3.1100.7 - 100.12
Android100.0 - 100.15
iOS100.0 - 100.15
UWP100.0 - 200.2
Relevant samples
Buffer: Create a buffer around a map point and display the results as a `Graphic`
Route around barriers: Find a route that reaches all stops without crossing any barriers.

BufferGeodetic(IEnumerable<Geometry>, IEnumerable<Double>, LinearUnit, Double, GeodeticCurveType, Boolean)

Calculates the geodesic buffer of the geometries in a given collection.

Declaration
public static IEnumerable<Geometry> BufferGeodetic(IEnumerable<Geometry> geometries, IEnumerable<double> distances, LinearUnit distanceUnit, double maxDeviation = NaN, GeodeticCurveType curveType = GeodeticCurveType.Geodesic, bool unionResult = false)
Parameters
Type Name Description
IEnumerable<Geometry> geometries

A collection of geometries.

IEnumerable<Double> distances

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

LinearUnit distanceUnit

The unit of measure for the distance.

Double maxDeviation

The maximum deviation between points.

GeodeticCurveType curveType

The curve type to calculate.

Boolean unionResult

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

Returns
Type Description
IEnumerable<Geometry>

A collection of polygon geometries that represent a geodesic buffer at the desired distance(s) relative to the given geometries. If unionResult is true, the resulting collection contains a single polygon. If geometries is empty, returns an empty array.

Remarks

The geometries must have consistent, non-null spatial references.

Geodesic buffers account for the actual shape of the Earth. Distances are calculated between two points on a curved surface (the geoid) as opposed to two points on a flat surface (the Cartesian plane).

Negative distances 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.

Applies to

Platforms and versions
TargetVersions
.NET Standard 2.0100.3 - 200.2
.NET 6.0100.13 - 200.2
.NET 6.0 Windows100.13 - 200.2
.NET 6.0 Android200.2
.NET 6.0 iOS200.0 - 200.2
.NET Framework100.1 - 200.2
.NET 5100.10 - 100.12
.NET Core 3.1100.7 - 100.12
Android100.1 - 100.14
iOS100.1 - 100.15
UWP100.1 - 200.2
In This Article
Back to top Copyright © 2022 Esri.