ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / StandardPolygonPlacementMethod Enumeration
Example Example Version

StandardPolygonPlacementMethod Enumeration
Standard label engine polygon placement methods.
Syntax
Members
MemberDescription
AlwaysHorizontal Always horizontal.
AlwaysStraight Always straight.
MixedStrategy Mixed strategy, prefer horizontal before placing straight.
Example
Modify the Placement/Position of labels - Polygon 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
  theLabelClass.StandardLabelPlacementProperties.PolygonPlacementMethod = 
           StandardPolygonPlacementMethod.AlwaysHorizontal;
  theLabelClass.StandardLabelPlacementProperties.PlaceOnlyInsidePolygon = true;
}
else
{
  //Current labeling engine is Maplex labeling engine
  theLabelClass.MaplexLabelPlacementProperties.PolygonFeatureType = 
                           MaplexPolygonFeatureType.LandParcel;
  theLabelClass.MaplexLabelPlacementProperties.AvoidPolygonHoles = true;
  theLabelClass.MaplexLabelPlacementProperties.PolygonPlacementMethod = 
                      MaplexPolygonPlacementMethod.HorizontalInPolygon;
  theLabelClass.MaplexLabelPlacementProperties.CanPlaceLabelOutsidePolygon = true;
}

lyrDefn.LabelClasses = listLabelClasses.ToArray(); //Set the labelClasses back
featureLayer.SetDefinition(lyrDefn); //set the layer's definition
                                     //set the label's visiblity
featureLayer.SetLabelVisibility(true);
Inheritance Hierarchy

System.Object
   System.ValueType
      System.Enum
         ArcGIS.Core.CIM.StandardPolygonPlacementMethod

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also