I have created 3 random points within each of 27k polygons. I now want to label each of those 3 points as "A", "B", "C" within each polygon.

Is there a quick/automated way to do this?

  • Do you have a character (text) field to store the character in prior to labelling? Do you want there to be one instance of each of A, B and C for each polygon? Is there a field identifying the polygon each point resides in? Do you have any python ability? – Michael Stimson Sep 26 '18 at 23:19
  • Hi Michael. Thanks for your help. Yes, I can create a attribute in which to store the label character (A,B,C). Yes I want an "A", "B", and "C" for points within each polygon (e.g. 27k polygons so 27k "A", 27k "B", 27k "C"). Each polygon has a unique ID. I do have python. – Ben Sep 27 '18 at 0:46
  • A, B, C, could also be 1, 2, 3 – Ben Sep 27 '18 at 0:47
  • First Spatial Join (or Intersect) the points to the polygons to get the FID or OBJECTID of the polygon into the points' attributes then refer to the answer by @FelixIP linked in his comment to field calculate the A, B and C for each unique polygon ID for every point using a dictionary to keep track. Have a stab at that and see how you go; if it doesn't work update your question with your code and any error messages you get. – Michael Stimson Sep 27 '18 at 2:31

I created 3 random points in each polygon and called expression referred above to populate new text field:

chr(GroupOrder( !CID! )+64)


enter image description here

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