ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / IGeometryEngine Interface / ReplaceNaNZs Method
The geometry to replace non simple Zs.
The Z-value to assign.
Example Version

ReplaceNaNZs Method (IGeometryEngine)
Replaces each non-simple (NaN) Z-value on the geometry with the specified Z-value. All other simple (non-NaN) Z-values are unchanged.
Syntax

Parameters

geometry
The geometry to replace non simple Zs.
zValue
The Z-value to assign.

Return Value

A geometry in which each coordinate has a simple (non-NaN) Z-value. If the input geometry is empty, then it is returned unchanged.
Exceptions
ExceptionDescription
Geometry is null.
The method is not implemented for GeometryBag.
This geometry is not Z-Aware.
Remarks
Use this function in conjunction with GeometryEngine.IsSimpleAsFeature prior to saving a geometry to a geodatabase.
Example
Replace NaN Zs in a polygon
List<Coordinate3D> coordsZ = new List<Coordinate3D>()
{
  new Coordinate3D(1, 2, double.NaN),
  new Coordinate3D(4, 5, 3),
  new Coordinate3D(7, 8, double.NaN)
};

Polygon polygon = PolygonBuilderEx.CreatePolygon(coordsZ);
// polygon.HasZ = true

Polygon polygonZReplaced = GeometryEngine.Instance.ReplaceNaNZs(polygon, -1) as Polygon;

// polygonZReplaced.Points[0].Z = -1
// polygonZReplaced.Points[1].Z = 3
// polygonZReplaced.Points[2].Z = -1
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also