ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.Geometry Namespace / MapPointBuilderEx Class / CreateMapPoint Method / CreateMapPoint(MapPoint,SpatialReference) Method
Specifies the coordinates for the MapPoint.
(Optional) The SpatialReference. The default value is null. If null, the spatial reference of the input point is used.
Example

In This Topic
    CreateMapPoint(MapPoint,SpatialReference) Method
    In This Topic
    Convenience method to create a MapPoint instance.
    Syntax
    public static MapPoint CreateMapPoint( 
       MapPoint point,
       SpatialReference spatialReference
    )
    Public Overloads Shared Function CreateMapPoint( _
       ByVal point As MapPoint, _
       Optional ByVal spatialReference As SpatialReference _
    ) As MapPoint

    Parameters

    point
    Specifies the coordinates for the MapPoint.
    spatialReference
    (Optional) The SpatialReference. The default value is null. If null, the spatial reference of the input point is used.

    Return Value

    Exceptions
    ExceptionDescription
    point is null.
    Remarks
    The HasZ, HasM, and HasID attributes are inherited from the input point.
    Example
    Construct a MapPoint
    // Use a builder convenience method or use a builder constructor.
    
    // Create a 2D point without a spatial reference
    MapPoint point2D = MapPointBuilderEx.CreateMapPoint(1, 2);
    SpatialReference sr = point2D.SpatialReference; // sr = null
    bool hasZ = point2D.HasZ;   // hasZ = false
    bool hasM = point2D.HasM;   // hasM = false
    bool hasID = point2D.HasID; // hasID = false
    double x = point2D.X;   // x = 1
    double y = point2D.Y;   // y = 2
    double z = point2D.Z;   // z = 0 default value
    double m = point2D.M;   // m is NaN default value
    double id = point2D.ID; // id = 0 default value
    
    // Or use a builderEx which doesn't need to run on the MCT. 
    MapPointBuilderEx builderEx = new MapPointBuilderEx(1, 2);
    
    // do something with the builder
    builderEx.Y = 3;
    point2D = builderEx.ToGeometry();
    sr = point2D.SpatialReference; // sr = null
    hasZ = point2D.HasZ;   // hasZ = false
    hasM = point2D.HasM;   // hasM = false
    hasID = point2D.HasID; // hasID = false
    x = point2D.X;   // x = 1
    y = point2D.Y;   // y = 3
    z = point2D.Z;   // z = 0 default value
    m = point2D.M;   // m is NaN default value
    id = point2D.ID; // id = 0 default value
    
    // Create a 2D point with a spatial reference
    SpatialReference spatialReference = SpatialReferenceBuilder.CreateSpatialReference(4269);
    point2D = MapPointBuilderEx.CreateMapPoint(1, 2, spatialReference);
    sr = point2D.SpatialReference; // sr != null
    int wkid = sr.Wkid; // wkid = 4269
    
    // Or use a builder
    builderEx = new MapPointBuilderEx(1, 2, spatialReference);
    
    // Do something with the builder
    builderEx.SetValues(3, 5);
    point2D = builderEx.ToGeometry();
    sr = point2D.SpatialReference; // sr != null
    wkid = sr.Wkid; // wkid = 4269
    x = point2D.X; // x = 3
    y = point2D.Y; // y = 5
    
    // Change the spatial reference of the builder
    builderEx.SpatialReference = SpatialReferences.WGS84;
    point2D = builderEx.ToGeometry();
    sr = point2D.SpatialReference; // sr != null
    wkid = sr.Wkid; // wkid = 4326
    x = point2D.X; // x = 3
    y = point2D.Y; // y = 5
    
    // Create a 3D point with M
    MapPoint pointZM = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4);
    sr = pointZM.SpatialReference; // sr = null
    hasZ = pointZM.HasZ;   // hasZ = true
    hasM = pointZM.HasM;   // hasM = true
    hasID = pointZM.HasID; // hasID = false
    x = pointZM.X;   // x = 1
    y = pointZM.Y;   // y = 2
    z = pointZM.Z;   // z = 3
    m = pointZM.M;   // m = 4
    id = pointZM.ID; // id = 0 default value
    
    // Create a 3D point with M and a spatial reference
    pointZM = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4, spatialReference);
    sr = pointZM.SpatialReference; // sr != null
    wkid = sr.Wkid; // wkid = 4269
    
    // Create a point from another point in three ways
    MapPoint clone = pointZM.Clone() as MapPoint; // Has the same values including the spatial reference as pointZM
    MapPoint anotherZM = MapPointBuilderEx.CreateMapPoint(pointZM);  // Has the same values including the spatial reference as pointZM
            
    builderEx = new MapPointBuilderEx(pointZM); // Has the same values including the spatial reference as pointZM
    // Do something with the builder
    builderEx.HasM = false;
    builderEx.ID = 7; // Setting the id also sets HasID = true
    MapPoint pointZId = builderEx.ToGeometry();
    sr = pointZId.SpatialReference; // sr != null
    wkid = sr.Wkid; // wkid = 4269
    hasZ = pointZId.HasZ;   // hasZ = true
    hasM = pointZId.HasM;   // hasM = false
    hasID = pointZId.HasID; // hasID = true
    x = pointZId.X;   // x = 1
    y = pointZId.Y;   // y = 2
    z = pointZId.Z;   // z = 3
    m = pointZId.M;   // m is NaN, default value
    id = pointZId.ID; // id = 7
    
    // Create a point with Z, M, and ID-values
    MapPoint pointZMId = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4, 5, spatialReference);
    sr = pointZMId.SpatialReference; // sr != null
    wkid = sr.Wkid; // wkid = 4269
    hasZ = pointZMId.HasZ;   // hasZ = true
    hasM = pointZMId.HasM;   // hasM = true
    hasID = pointZMId.HasID; // hasID = true
    x = pointZMId.X;   // x = 1
    y = pointZMId.Y;   // y = 2
    z = pointZMId.Z;   // z = 3
    m = pointZMId.M;   // m = 4
    id = pointZMId.ID; // id = 5
    
    // Pick and choose which attributes to include
    MapPoint point = MapPointBuilderEx.CreateMapPoint(1, 2, false, 3, true, 4, true, 5);
    sr = point.SpatialReference; // sr = null
    hasZ = point.HasZ;   // hasZ = false
    hasM = point.HasM;   // hasM = true
    hasID = point.HasID; // hasID = true
    x = point.X;   // x = 1
    y = point.Y;   // y = 2
    z = point.Z;   // z = 0, default value
    m = point.M;   // m = 4
    id = point.ID; // id = 5
    
    // Or use a builder
    builderEx = new(1, 2, true, 3, false, 4, true, 5);
    // Do something with the builder
    builderEx.ID = 7;
    builderEx.SpatialReference = SpatialReferences.WGS84;
    point = builderEx.ToGeometry();
    sr = point.SpatialReference; // sr != null
    wkid = sr.Wkid; // wkid = 4326
    hasZ = point.HasZ;   // hasZ = true
    hasM = point.HasM;   // hasM = false
    hasID = point.HasID; // hasID = true
    x = point.X;   // x = 1
    y = point.Y;   // y = 2
    z = point.Z;   // z = 0, default value
    m = point.M;   // m is NaN, default value
    id = point.ID; // id = 7
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also