ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Geometry Namespace / SpatialReference Class / GetConvergenceAngle Method
The point
Example

In This Topic
    GetConvergenceAngle Method
    In This Topic
    Gets the grid convergence for this spatial reference at the given point.
    Syntax
    public double GetConvergenceAngle( 
       Coordinate2D coordinate
    )
    Public Function GetConvergenceAngle( _
       ByVal coordinate As Coordinate2D _
    ) As Double

    Parameters

    coordinate
    The point

    Return Value

    The grid convergence in radians. Returns 0 if the spatial reference is a geographic coordinate system. Returns NaN if the point is outside the projection's horizon or on error.
    Remarks
    The grid convergence is the angle between True North and Grid North at a point on the map. The grid convergence can be used to convert a horizontal direction expressed as an aziumth in a geographic coordinate system (relative to True North) to a direction expressed as a bearing in a projected coordinate system (relative to Grid North) and vice versa.

    The formula to obtain a bearing, b, from an azimuth, a, using the grid convergence, c, returned from this is b = a - c.

    The grid convergence returned by this method is positive when Grid North lies east of True North. This sign convention is sometimes named the Gauss-Bomford convention.

    Example
    Determine grid convergence for a SpatialReference at a given point
    Coordinate2D coordinate = new Coordinate2D(10, 30);
    double angle = SpatialReferences.WGS84.GetConvergenceAngle(coordinate);
    // angle = 0
    
    SpatialReference srUTM30N = SpatialReferenceBuilder.CreateSpatialReference(32630);
    coordinate.X = 500000;
    coordinate.Y = 550000;
    angle = srUTM30N.GetConvergenceAngle(coordinate);
    // angle = 0
    
    MapPoint pointWGS84 = MapPointBuilderEx.CreateMapPoint(10, 50, SpatialReferences.WGS84);
    MapPoint pointUTM30N = GeometryEngine.Instance.Project(
      pointWGS84, srUTM30N) as MapPoint;
    
    coordinate = (Coordinate2D)pointUTM30N;
    // get convergence angle and convert to degrees
    angle = srUTM30N.GetConvergenceAngle(coordinate) * 180 / Math.PI;
    // angle = 10.03
    
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    See Also