CreatePredefinedShapeGraphicElement(IElementContainer,PredefinedShape,MapPoint,Double,Double,CIMPolygonSymbol,String,Boolean,ElementInfo) Method
Create a polygon graphic of the specified
PredefinedShape using the provided location, optional size dimensions, and symbol. This method must be called on the MCT. Use QueuedTask.Run.
Parameters
- elementContainer
- The parent element container
- shapeType
- The shape type of the graphic
- location
- The location of the graphic
- width
- The width of the graphic bounding box (optional)
- height
- The height of the graphic bounding box (optional)
- polySymbol
- The symbol to be used with the graphic (optional)
- elementName
- An element name (optional)
- select
- Select after create flag (default is true) (optional)
- elementInfo
- Additional element properties (optional)
Return Value
Create rectangle graphic with simple symbology
//Create a simple 2D rectangle graphic and apply simple fill and
//outline symbols.
//Construct on the worker thread
await QueuedTask.Run(() =>
{
//Build 2D envelope geometry
Coordinate2D rec_ll = new Coordinate2D(1.0, 4.75);
Coordinate2D rec_ur = new Coordinate2D(3.0, 5.75);
//At 2.x - Envelope rec_env = EnvelopeBuilder.CreateEnvelope(rec_ll, rec_ur);
Envelope rec_env = EnvelopeBuilderEx.CreateEnvelope(rec_ll, rec_ur);
//Set symbology, create and add element to layout
CIMStroke outline = SymbolFactory.Instance.ConstructStroke(
ColorFactory.Instance.BlackRGB, 5.0, SimpleLineStyle.Solid);
CIMPolygonSymbol polySym = SymbolFactory.Instance.ConstructPolygonSymbol(
ColorFactory.Instance.GreenRGB, SimpleFillStyle.DiagonalCross, outline);
//At 2.x - GraphicElement recElm =
// LayoutElementFactory.Instance.CreateRectangleGraphicElement(
// layout, rec_env, polySym);
// recElm.SetName("New Rectangle");
//
GraphicElement recElm = ElementFactory.Instance.CreateGraphicElement(
container, rec_env, polySym, "New Rectangle");
//Or use Predefined shape
GraphicElement recElm2 = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
container, PredefinedShape.Rectangle, rec_env, polySym,
"New Rectangle2");
});
Create Predefined Shape Graphic Element
//Must be on QueuedTask.Run(() => { ...
//PredefinedShape shapeType =
// PredefinedShape.Circle | Cloud | Cross |Circle | Triangle | ... ;
//Build geometry
Coordinate2D ll = new Coordinate2D(4, 2.5);
Coordinate2D ur = new Coordinate2D(6, 4.5);
Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
var outline = SymbolFactory.Instance.ConstructStroke(
ColorFactory.Instance.BlueRGB, 2);
var poly_sym = SymbolFactory.Instance.ConstructPolygonSymbol(
null, outline);
var ge = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
container, shapeType, env.Center, env.Width, env.Height,
poly_sym, shapeType.ToString(), true);
Create Predefined Shape Graphic Element
//Must be on QueuedTask.Run(() => { ...
//PredefinedShape shapeType =
// PredefinedShape.Circle | Cloud | Cross |Circle | Triangle | ... ;
//Build geometry
Coordinate2D ll = new Coordinate2D(4, 2.5);
Coordinate2D ur = new Coordinate2D(6, 4.5);
Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
var outline = SymbolFactory.Instance.ConstructStroke(
ColorFactory.Instance.BlueRGB, 2);
var poly_sym = SymbolFactory.Instance.ConstructPolygonSymbol(
null, outline);
var ge = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
container, shapeType, env.Center, env.Width, env.Height,
poly_sym, shapeType.ToString(), true);
Create Predefined Shape Graphic Element
//Must be on QueuedTask.Run(() => { ...
//PredefinedShape shapeType =
// PredefinedShape.Circle | Cloud | Cross |Circle | Triangle | ... ;
//Build geometry
Coordinate2D ll = new Coordinate2D(4, 2.5);
Coordinate2D ur = new Coordinate2D(6, 4.5);
Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
var outline = SymbolFactory.Instance.ConstructStroke(
ColorFactory.Instance.BlueRGB, 2);
var poly_sym = SymbolFactory.Instance.ConstructPolygonSymbol(
null, outline);
var ge = ElementFactory.Instance.CreatePredefinedShapeGraphicElement(
container, shapeType, env.Center, env.Width, env.Height,
poly_sym, shapeType.ToString(), true);
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.