Parameters
- mapMember
- The layer or standalone table to create the new row in.
- inspector
- The inspector containing the attribute values to assign to the new row.
Return Value
A RowToken object that represents the row to be created.
{
var duplicateFeatures = new EditOperation() { 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();
}
}
}
}
await QueuedTask.Run(() => { // annoLayer is ~your~ Annotation layer... // pnt is ~your~ Annotation geometry ... var op = new EditOperation(); // Use the inspector var insp = new Inspector(); insp.LoadSchema(annoLayer); // get the annotation properties from the inspector AnnotationProperties annoProperties = insp.GetAnnotationProperties(); // change the annotation text annoProperties.TextString = DateTime.Now.ToLongTimeString(); // change font color to green annoProperties.Color = ColorFactory.Instance.GreenRGB; // change the horizontal alignment annoProperties.HorizontalAlignment = HorizontalAlignment.Center; annoProperties.Shape = pnt; // set the annotation properties back on the inspector insp.SetAnnotationProperties(annoProperties); // create the annotation op.Create(annoLayer, insp); if (!op.IsEmpty) { var result = op.Execute(); //Execute and ExecuteAsync will return true if the operation was successful and false if not } });
Target Platforms: Windows 11, Windows 10