0

arcpy let user automatically turn on the label, use label expression to save our time. is there a way how to change the position of the label like we use to do on label properties like screenshot below ?

enter image description here

so if i want to change the label placement/position of 100 layers, even i can use arcpy to turn on and use label expression using arcpy, i still have to double click into layer properties to change the label placement anyway?

i assumed there is away to solve that, any suggestion?

what i need to do is put the label in top of the point feature, but the default is on the top right of the feature.

  • 1
    This is beyond what python can do alone, you will need to use ArcObjects to alter the label placement properties for a layers' label class. If you think you can manage ArcObjects I could try to track down a method using ArcObjects to point you in the right direction. Do you also need to account for Maplex label placement? – Michael Stimson Dec 18 '18 at 1:10
  • well i have figured another workaround as someone had describe before in this forum, i convert the label into annotation (which my final purpose should be in annotation form), then using model builder and iterate, i will iterate for every layers that i use, and use field calculator to fill the value for fields named "xoffset" and "yoffset" and change to the value i want, but if you have easier way i happy to listen , thank you – RPP Dec 18 '18 at 1:25
  • btw ive tried using maplex label, but still yu have to click each layer , cant do automatically for all layers label, i really want to skip the repitition works like we use to do with arcpy and model builder – RPP Dec 18 '18 at 1:27
  • 1
    If it works then put it in as an answer. Considering annotation was your goal it fits this solution, there is a limit to what you can do with labels via arcpy and Maplex would be extra complexity.. I find Maplex beneficial where half an hour of modifying rules prior to conversion saves hours of moving annotation manually or where annotation isn't an option; Maplex produces labels with better placement options and avoidance rules but there is no way to turn it on in arcpy gis.stackexchange.com/questions/180039/… – Michael Stimson Dec 18 '18 at 1:38
0

well i have figured another workaround as someone had describe before in this forum,

i convert the label into annotation (which my final purpose should be in annotation form), then i will iterate for every layers that i use using model builder, inside model builder i use field calculator to fill the value for fields named "xoffset" and "yoffset" and change to the value i want.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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