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.
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();
{
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();
}
}
}
}
Target Platforms: Windows 11, Windows 10