ArcGIS Pro 2.8 API Reference Guide
Generalize3D Method (GeometryEngine)
Example 

ArcGIS.Core.Geometry Namespace > GeometryEngine Class : Generalize3D Method
The geometry to be generalized.
The maximum distance in meters that the output geometry can deviate from the input geometry.
Performs the generalize operation on the geometry.
Syntax
public Geometry Generalize3D( 
   Geometry geometry,
   double maxDeviation
)
Public Function Generalize3D( _
   ByVal geometry As Geometry, _
   ByVal maxDeviation As Double _
) As Geometry

Parameters

geometry
The geometry to be generalized.
maxDeviation
The maximum distance in meters that the output geometry can deviate from the input geometry.

Return Value

The generalized geometry.
Exceptions
ExceptionDescription
Geometry is null or empty.
The method is not implemented for GeometryBag or Multipatch.
This geometry is not Z-Aware.
The geomtry is of an incorrect type. (i.e. a point or multipoint).
Cannot do 3D operations on curve segments.
Remarks
Generalize3D performs a Douglas-Peucker Generalization algorithm, extended to operate in 3D space, with a specified maximum offset tolerance, given in 3D, as input. For line segments, the generalized output is a subset of the original input vertices. For non-linear segments, the generalized output contains points along all parts of the curve, not necessarily only the vertices. GeometryEngine Generalize3D
Example
Polyline generalizedPolyline = GeometryEngine.Instance.Generalize(polylineWithZ, 200) as Polyline;
// generalizedPolyline.HasZ = true

Polygon generalized3DPolyline = GeometryEngine.Instance.Generalize3D(polylineWithZ, 200) as Polygon;
// generalized3DPolyline.HasZ = true

// note that generalized3DPolyline and generalizedPolyline will have different definitions
//  ie generalizedPolyline.IsEqual(generalized3DPolyline) = false
Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

GeometryEngine Class
GeometryEngine Members