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

In This Topic
    ReplaceNaNZs Method (GeometryEngine)
    In This Topic
    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
    public Geometry ReplaceNaNZs( 
       Geometry geometry,
       double zValue
    )
    Public Function ReplaceNaNZs( _
       ByVal geometry As Geometry, _
       ByVal zValue As Double _
    ) As Geometry

    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 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