ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Geometry Namespace / SpatialReferenceBuilder Class / CreateSpatialReference Method / CreateSpatialReference(Int32) Method
The well-known ID that represents the Spatial Reference.
Example

In This Topic
    CreateSpatialReference(Int32) Method
    In This Topic
    Convenience method to create a new instance of the SpatialReference class.
    Syntax
    Public Overloads Shared Function CreateSpatialReference( _
       ByVal wkid As Integer _
    ) As SpatialReference
    public static SpatialReference CreateSpatialReference( 
       int wkid
    )

    Parameters

    wkid
    The well-known ID that represents the Spatial Reference.

    Return Value

    Example
    Construct a SpatialReference - from a well-known ID
    {
      // Use a builder convenience method or use a builder constructor.
    
      // SpatialReferenceBuilder convenience methods don't need to run on the MCT.
      SpatialReference sr3857 = SpatialReferenceBuilder.CreateSpatialReference(3857);
    
      // SpatialReferenceBuilder constructors need to run on the MCT.
      ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
      {
        using (SpatialReferenceBuilder srBuilder = new SpatialReferenceBuilder(3857))
        {
          // do something with the builder
    
          sr3857 = srBuilder.ToSpatialReference();
        }
      });
    }
    Project from WGS84
    {
      // create the polygon
      List<MapPoint> pts =
      [
        MapPointBuilderEx.CreateMapPoint(1.0, 1.0, SpatialReferences.WGS84),
      MapPointBuilderEx.CreateMapPoint(1.0, 2.0, SpatialReferences.WGS84),
      MapPointBuilderEx.CreateMapPoint(2.0, 2.0, SpatialReferences.WGS84),
      MapPointBuilderEx.CreateMapPoint(2.0, 1.0, SpatialReferences.WGS84),
    ];
    
      polygon = PolygonBuilderEx.CreatePolygon(pts);
      // ensure it is simple
      bool isSimple = GeometryEngine.Instance.IsSimpleAsFeature(polygon);
    
      // create the spatial reference to project to
      SpatialReference northPole = SpatialReferenceBuilder.CreateSpatialReference(102018);   // north pole stereographic 
    
      // project
      Geometry geometry = GeometryEngine.Instance.Project(polygon, northPole);
    }
    Determine Transformations
    {
      // methods need to run on the MCT
      ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
      {
        //
        // find the first transformation used between spatial references 4267 and 4326
        //
        SpatialReference sr4267 =
             SpatialReferenceBuilder.CreateSpatialReference(4267);
        SpatialReference sr4326 = SpatialReferences.WGS84;
    
        List<ProjectionTransformation> transformations =
               ProjectionTransformation.FindTransformations(sr4267, sr4326);
        // transformations.Count = 1
        ProjectionTransformation projTrans = transformations[0];
        CompositeGeographicTransformation compositeGT =
             projTrans.Transformation as CompositeGeographicTransformation;
        GeographicTransformation gt = compositeGT[0];
        // gt.Wkid = 15851
        // gt.Name = "NAD_1927_To_WGS_1984_79_CONUS"
        // gt.IsForward = true
    
    
        //
        // find the first five transformation used between spatial references 4267 and 4326
        //
        transformations = ProjectionTransformation.FindTransformations(
                                           sr4267, sr4326, numResults: 5);
        // transformations.Count = 5
        projTrans = transformations[0];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 1
        // compositeGT[0].Wkid = 15851
        // compositeGT[0].Name = "NAD_1927_To_WGS_1984_79_CONUS"
        // compositeGT[0].IsForward = true
    
        projTrans = transformations[1];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 1
        // compositeGT[0].Wkid = 1173
        // compositeGT[0].Name = "NAD_1927_To_WGS_1984_4"
        // compositeGT[0].IsForward = true
    
        projTrans = transformations[2];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 1
        // compositeGT[0].Wkid = 1172
        // compositeGT[0].Name = "NAD_1927_To_WGS_1984_3"
        // compositeGT[0].IsForward = true
    
        projTrans = transformations[3];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 2
        // compositeGT[0].Wkid = 1241
        // compositeGT[0].Name = "NAD_1927_To_NAD_1983_NADCON"
        // compositeGT[0].IsForward = true
    
        // compositeGT[1].Wkid = 108190
        // compositeGT[1].Name = "WGS_1984_(ITRF00)_To_NAD_1983"
        // compositeGT[1].IsForward = false
    
        projTrans = transformations[4];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 2
        // compositeGT[0].Wkid = 1241
        // compositeGT[0].Name = "NAD_1927_To_NAD_1983_NADCON"
        // compositeGT[0].IsForward = true
    
        // compositeGT[1].Wkid = 1515
        // compositeGT[1].Name = "NAD_1983_To_WGS_1984_5"
        // compositeGT[1].IsForward = true
    
    
        //
        // find the first transformation used between spatial
        // references 4267 and 4326 within Alaska
        //
    
        // Alaska
        Envelope envelope = EnvelopeBuilderEx.CreateEnvelope(-161, 61, -145, 69);
        transformations = ProjectionTransformation.FindTransformations(
                                                    sr4267, sr4326, envelope);
        // transformations.Count = 1
        projTrans = transformations[0];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 2
        // compositeGT[0].Wkid = 1243
        // compositeGT[0].Name = "NAD_1927_To_NAD_1983_Alaska"
        // compositeGT[0].IsForward = true
    
        // compositeGT[1].Wkid = 108190
        // compositeGT[1].Name = "WGS_1984_(ITRF00)_To_NAD_1983"
        // compositeGT[1].IsForward = false
    
    
        //
        // find the first geographic transformation used between two spatial references with VCS  (use vertical = false)
        //
        SpatialReference inSR =
                        SpatialReferenceBuilder.CreateSpatialReference(4269, 115702);
        SpatialReference outSR =
                        SpatialReferenceBuilder.CreateSpatialReference(4326, 3855);
    
        // Even though each spatial reference has a VCS,
        // vertical = false should return geographic transformations.
        transformations = ProjectionTransformation.FindTransformations(inSR, outSR);
        // transformations.Count = 1
        projTrans = transformations[0];
        compositeGT = projTrans.Transformation as CompositeGeographicTransformation;
        // compositeGT.Count = 1
        // compositeGT[0].Wkid = 108190
        // compositeGT[0].Name = ""WGS_1984_(ITRF00)_To_NAD_1983"
        // compositeGT[0].IsForward = false
    
        //
        // find the first vertical transformation used between two spatial references with VCS  (use vertical = true)
        //
    
        transformations =
                  ProjectionTransformation.FindTransformations(
                                          inSR, outSR, vertical: true);
        // transformations.Count = 1
        projTrans = transformations[0];
    
        CompositeHVDatumTransformation compositeHV =
                projTrans.Transformation as CompositeHVDatumTransformation;
        // compositeHV.Count = 2
        // compositeHV[0].Wkid = 1188
        // compositeHV[0].Name = "NAD_1983_To_WGS_1984_1"
        // compositeHV[0].IsForward = true
    
        // compositeHV[1].Wkid = 110019
        // compositeHV[1].Name = "WGS_1984_To_WGS_1984_EGM2008_2.5x2.5_Height"
        // compositeHV[1].IsForward = true
      });
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also