1

i have 3 different features which are

  1. country.shp,
  2. division.shp
  3. district.shp

what should i do if i want to make the label is arrange like figure 1 because when i label all the features using maplex, the label was placed at the center at each polygon like figure 2.

Is there any ways or scripting that can i apply to make sure the district label is located below the division label and division label located below the country label.

enter image description here

enter image description here

1 Answer 1

1

The only way I know to do this would be union or intersect all three of your layers to one. If you have an Advanced license this could be done in one step, otherwise you are limited to two inputs at a time. This should create a single layer that looks like the district polygons, but each polygon would have a country and division attribute.

The problem is you're trying to control the labels of three different, independent labels, and there's only so much you can do as far as positioning without converting to annotations. With everything in a single layer, you create a single label that would give you the control you want over formatting. You'll need to use the vbnewline value for your label formatting - ie [country] & vbnewline & [division] & vbnewline [district] would be your expression.

Note that you do not have to symbolize the layer to show the labels. This means if you didn't want to combine the three layers because you want different symbology for their boundaries, you can still do this as a fourth layer and change the symbology to no fill/no outline. That way the labels show up, but the symbology still comes from your other three layers.

Not the answer you're looking for? Browse other questions tagged or ask your own question.