ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Desktop.Editing Namespace / EditOperation Class / Create Method / Create(Layer,Geometry) Method
The layer to create a new feature in.
The geometry of the new feature.
Example

In This Topic
    Create(Layer,Geometry) Method
    In This Topic
    Creates a new feature in the given layer given a geometry with default geodatabase values.
    Syntax
    public RowToken Create( 
       Layer layer,
       Geometry geometry
    )
    Public Overloads Function Create( _
       ByVal layer As Layer, _
       ByVal geometry As Geometry _
    ) As RowToken

    Parameters

    layer
    The layer to create a new feature in.
    geometry
    The geometry of the new feature.

    Return Value

    A RowToken object that represents the row to be created.
    Example
    Edit Operation Create Features
    var createFeatures = new EditOperation();
    createFeatures.Name = "Create Features";
    //Create a feature with a polygon
    var token = createFeatures.Create(featureLayer, polygon);
    if (createFeatures.IsSucceeded)
    {
      // token.ObjectID wll be populated with the objectID of the created feature after Execute has been successful
    }
    //Do a create features and set attributes
    var attributes = new Dictionary<string, object>();
    attributes.Add("SHAPE", polygon);
    attributes.Add("NAME", "Corner Market");
    attributes.Add("SIZE", 1200.5);
    attributes.Add("DESCRIPTION", "Corner Market");
    
    createFeatures.Create(featureLayer, attributes);
    
    //Create features using the current template
    //Must be within a MapTool
    createFeatures.Create(this.CurrentTemplate, polygon);
    
    //Execute to execute the operation
    //Must be called within QueuedTask.Run
    
    if (!createFeatures.IsEmpty)
    {
      createFeatures.Execute(); //Execute will return true if the operation was successful and false if not.
    }
    
    //or use async flavor
    //await createFeatures.ExecuteAsync();
    
    Edit Operation Duplicate Features
    {
      var duplicateFeatures = new EditOperation();
      duplicateFeatures.Name = "Duplicate Features";
    
      //Duplicate with an X and Y offset of 500 map units
      //At 2.x duplicateFeatures.Duplicate(featureLayer, oid, 500.0, 500.0, 0.0);
    
      //Execute to execute the operation
      //Must be called within QueuedTask.Run
      var insp2 = new Inspector();
      insp2.Load(featureLayer, oid);
      var geom = insp2["SHAPE"] as Geometry;
    
      var rtoken = duplicateFeatures.Create(insp2.MapMember, insp2.ToDictionary(a => a.FieldName, a => a.CurrentValue));
      if (!duplicateFeatures.IsEmpty)
      {
        if (duplicateFeatures.Execute())//Execute and ExecuteAsync will return true if the operation was successful and false if not
        {
          var modifyOp = duplicateFeatures.CreateChainedOperation();
          modifyOp.Modify(featureLayer, (long)rtoken.ObjectID, GeometryEngine.Instance.Move(geom, 500.0, 500.0));
          if (!modifyOp.IsEmpty)
          {
            var result = modifyOp.Execute();
          }
        }
      }
    }
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also