ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMPointGraphic Class
Members Example Version

CIMPointGraphic Class
Represents a point graphic.
Object Model
CIMPointGraphic ClassCIMPointGraphic ClassCIMPointGraphic ClassMapPoint ClassCIMSymbolReference Class
Syntax
Example
Point Graphic Element using CIMGraphic
    var graphicsLayer = MapView.Active.Map.GetLayersAsFlattenedList()
.OfType<ArcGIS.Desktop.Mapping.GraphicsLayer>().FirstOrDefault();
    if (graphicsLayer == null)
      return;
    QueuedTask.Run(() =>
    {
      //Place symbol in the center of the map
      var extent = MapView.Active.Extent;
      var location = extent.Center;

      //specify a symbol
      var pt_symbol = SymbolFactory.Instance.ConstructPointSymbol(
                            ColorFactory.Instance.GreenRGB);

      //create a CIMGraphic 
      var graphic = new CIMPointGraphic()
      {
        Symbol = pt_symbol.MakeSymbolReference(),
        Location = location //center of map
      };
      graphicsLayer.AddElement(graphic);
    });
Bulk Graphics creation
//Point Feature layer to convert into graphics
var lyr = MapView.Active?.Map?.GetLayersAsFlattenedList().OfType<FeatureLayer>().FirstOrDefault();
//Graphics layer to store the graphics to
var gl = MapView.Active.Map.GetLayersAsFlattenedList().OfType<ArcGIS.Desktop.Mapping.GraphicsLayer>().FirstOrDefault();
if (lyr == null) return;
QueuedTask.Run(() =>
{
  //Point symbol for graphics
  var pointSymbol = SymbolFactory.Instance.ConstructPointSymbol(CIMColor.CreateRGBColor(100, 255, 40), 10, SimpleMarkerStyle.Circle);
  //Collection to hold the point graphics
  var listGraphicElements = new List<CIMGraphic>();
  //Iterate through each point feature in the feature layer
  using (RowCursor rows = lyr.Search()) //execute
  {
    int i = 0;
    while (rows.MoveNext())
    {
      using (var feature = rows.Current as Feature)
      {
        //Create a point graphic for the feature
        var crimePt = feature.GetShape() as MapPoint;
        if (crimePt != null)
        {
          var cimGraphicElement = new CIMPointGraphic
          {
            Location = crimePt, //MapPoint
            Symbol = pointSymbol.MakeSymbolReference()
          };
          //Add the point feature to the collection
          listGraphicElements.Add(cimGraphicElement);
          i++;
        }
      }
    }
  }
  //Magic happens...Add all the features to the Graphics layer 
  gl.AddElements(listGraphicElements);
});
Create Graphic Element using CIMGraphic
//on the QueuedTask
//Place symbol on the layout
//At 2.x - MapPoint location = MapPointBuilder.CreateMapPoint(
//                                               new Coordinate2D(9, 1));
MapPoint location = MapPointBuilderEx.CreateMapPoint(new Coordinate2D(9, 1));

//specify a symbol
var pt_symbol = SymbolFactory.Instance.ConstructPointSymbol(
                      ColorFactory.Instance.GreenRGB);

//create a CIMGraphic 
var graphic = new CIMPointGraphic()
{
  Symbol = pt_symbol.MakeSymbolReference(),
  Location = location //center of map
};
//Or use GraphicFactory
var graphic2 = GraphicFactory.Instance.CreateSimpleGraphic(location, pt_symbol);

//At 2.x - LayoutElementFactory.Instance.CreateGraphicElement(layout, graphic);
ElementFactory.Instance.CreateGraphicElement(container, graphic);
ElementFactory.Instance.CreateGraphicElement(container, graphic2);
Create Graphic Element using CIMSymbol
//Must be on QueuedTask.Run(() => { ...

//Place symbol on the layout
//At 2.x - MapPoint location = MapPointBuilder.CreateMapPoint(
//                                       new Coordinate2D(9, 1));
MapPoint location = MapPointBuilderEx.CreateMapPoint(new Coordinate2D(9, 1));

//specify a symbol
var pt_symbol = SymbolFactory.Instance.ConstructPointSymbol(
                      ColorFactory.Instance.GreenRGB);
//At 2.x -
//     LayoutElementFactory.Instance.CreateGraphicElement(
//                                       layout, location, pt_symbol);

ElementFactory.Instance.CreateGraphicElement(container, location, pt_symbol);
Bulk Element creation
//Must be on QueuedTask.Run(() => { ...

//List of Point graphics
var listGraphics = new List<CIMPointGraphic>();
var listGraphics2 = new List<CIMPointGraphic>();
//Symbol
var pointSymbol = SymbolFactory.Instance.ConstructPointSymbol(
                                    ColorFactory.Instance.BlackRGB);
//Define size of the array
int dx = 5;
int dy = 5;
MapPoint point = null;
//Create the List of graphics for the array
for (int row = 0; row <= dx; ++row)
{
  for (int col = 0; col <= dy; ++col)
  {
    //At 2.x - point = MapPointBuilder.CreateMapPoint(col, row);
    point = MapPointBuilderEx.CreateMapPoint(col, row);
    //create a CIMGraphic 
    var graphic = new CIMPointGraphic()
    {
      Symbol = pointSymbol.MakeSymbolReference(),
      Location = point
    };
    listGraphics.Add(graphic);
    //Or use GraphicFactory
    var graphic2 = GraphicFactory.Instance.CreateSimpleGraphic(
                                  point, pointSymbol) as CIMPointGraphic;
    listGraphics2.Add(graphic2);
  }
}
//Draw the array of graphics
//At 2.x - var bulkgraphics =
//              LayoutElementFactory.Instance.CreateGraphicElements(
//                                              layout, listGraphics, null);

var bulkgraphics = ElementFactory.Instance.CreateGraphicElements(
                                                   container, listGraphics);
var bulkgraphics2 = ElementFactory.Instance.CreateGraphicElements(
                                                   container, listGraphics2);
Create Element using a CIMGraphicElement
//Must be on QueuedTask.Run(() => { ...

//Place symbol on the layout
//At 2.x - MapPoint point = MapPointBuilder.CreateMapPoint(new Coordinate2D(9, 1));
MapPoint point = MapPointBuilderEx.CreateMapPoint(new Coordinate2D(9, 1));

//specify a symbol
var pt_symbol = SymbolFactory.Instance.ConstructPointSymbol(
                      ColorFactory.Instance.GreenRGB);

//create a CIMGraphic 
var graphic = new CIMGraphicElement()
{
  Graphic = new CIMPointGraphic()
  {
    Symbol = pt_symbol.MakeSymbolReference(),
    Location = point //A point in the layout
  }
};
//At 2.x - LayoutElementFactory.Instance.CreateElement(layout, graphic);
ElementFactory.Instance.CreateElement(container, graphic);
Create Picture Graphic Element using CIMSymbol
//Must be on QueuedTask.Run(() => { ...

//Build geometry
Coordinate2D ll = new Coordinate2D(0.5, 1);
Coordinate2D ur = new Coordinate2D(2.5, 2);
Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);

//Create and add element to layout
//string picPath = ApplicationUtilities.BASEPATH + _settings.baseFolder + "irefusetowatchthismovi�.jpg";
var pic_gr = ElementFactory.Instance.CreatePictureGraphicElement(
  layout, env.Center, picPath, "New Picture", true, new ElementInfo() { Anchor = Anchor.CenterPoint });
Inheritance Hierarchy

System.Object
   ArcGIS.Core.CIM.CIMObject
      ArcGIS.Core.CIM.CIMGraphic
         ArcGIS.Core.CIM.CIMShapeGraphic
            ArcGIS.Core.CIM.CIMPointGraphic

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also