ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMStandardLineLabelPosition Class
Members Example

In This Topic
    CIMStandardLineLabelPosition Class
    In This Topic
    Represents standard label engine line label position.
    Object Model
    CIMStandardLineLabelPosition ClassCIMStandardLineLabelPosition ClassCIMStandardLineLabelPosition Class
    Syntax
    Example
    Modify the Placement/Position of labels - Line geometry
    //Note: call within QueuedTask.Run()
    
    //Get the layer's definition
    var lyrDefn = featureLayer.GetDefinition() as CIMFeatureLayer;
    //Get the label classes - we need the first one
    var listLabelClasses = lyrDefn.LabelClasses.ToList();
    var theLabelClass = listLabelClasses.FirstOrDefault();
    //Modify label Placement 
    //Check if the label engine is Maplex or standard.
    CIMGeneralPlacementProperties labelEngine = 
        MapView.Active.Map.GetDefinition().GeneralPlacementProperties;
    if (labelEngine is CIMStandardGeneralPlacementProperties)
    {
      //Current labeling engine is Standard labeling engine
      var lineLablePosition = new CIMStandardLineLabelPosition
      {
        Perpendicular = true,
        Parallel = false,
        ProduceCurvedLabels = false,
        Horizontal = false,
        OnTop = true
      };
      theLabelClass.StandardLabelPlacementProperties.LineLabelPosition = 
          lineLablePosition;
    }
    else //Current labeling engine is Maplex labeling engine
    {
      theLabelClass.MaplexLabelPlacementProperties.LinePlacementMethod = 
                    MaplexLinePlacementMethod.CenteredPerpendicularOnLine;
      theLabelClass.MaplexLabelPlacementProperties.LineFeatureType = 
                    MaplexLineFeatureType.General;
    }
    //theLabelClass.MaplexLabelPlacementProperties.LinePlacementMethod = MaplexLinePlacementMethod.CenteredPerpendicularOnLine;
    lyrDefn.LabelClasses = listLabelClasses.ToArray(); //Set the labelClasses back
    featureLayer.SetDefinition(lyrDefn); //set the layer's definition
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CIM.CIMObject
          ArcGIS.Core.CIM.CIMStandardLineLabelPosition

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also