3

I'm making monitoring well figures which includes nested wells. This means that I have mulitple features with the same coordinates but having different attribute data (ex. Well ID). I need to label all the wells in the figures however, the labelling of the nested wells is really messy in appearance.I have to convert to annotations and manually adjust the labels.

Is there a way I can script the label so that a nested well will only have one label but it includes all the Well IDs?

BeforeAfter

  • Have a look at gis.stackexchange.com/questions/156140/… it is old and slow. Let me know if you'd take this path I post solution which works much faster – FelixIP Mar 23 '16 at 2:52
  • And I would have to add--after trying out Maplex per my other answer--that it looks like this is more or less how Maplex works. Assuming you let it use all the label zones it has available and give it a generous distance tolerance. – RHB Mar 23 '16 at 15:12
2

I don't think ArcGIS can do that, unless you add a separate field that holds values for all wells at that location. Of course, only one point would need that value, others at the same location can remain empty.

BTW, are you using Maplex? I find that results are much better compared to the standard labeling engine.

  • I'm using Maplex, but it's still a mess of labels. – user56619 Mar 22 '16 at 14:40
  • Expanding on the one point can contain all labels, do a spatial join to add all attributes to only one of your points in each location. Even if they are in different fields, it'd be much easier to control the labels... – Martin Mar 22 '16 at 15:12
1

As far as out-of-the-box easiest solutions go... I was curious about this myself, and the picture below shows about one minute of messing around with the labeling engine switched to Maplex. I think this is your answer.

One big problem with the standard labeling engine is that it only provides for 3 label position choices. So, if you need 4 or more--like you do--you are in trouble.

enter image description here

enter image description here

0

I actually wrote an application that did just this a number of years ago. It was to label oil and gas wells with various attributes. It was way back in Avenue days and was proprietary in any case.

But the way it worked was to get the extent of the label as a polygon and spiral around the point looking for overlapping labels. It is a matter of testing the location in a spiral pattern. The label would get placed in the first location where there weren't any overlapping labels, using a callout or not based on how far the label was from the point. You also have to note the angle from the point so you know where to attach the callout. The spiral kept moving outward from the point until it found an empty place to put the label. I imagine I had a ceiling of some sort, but I don't remember that being a problem.

Anyway, maybe this information will get you started. In Avenue, there was a labeling machine that I could use as a helper rather than having to program all the geometry from scratch. Maybe ArcObjects has something similar.

  • And I would have to add--after trying out Maplex per my other answer--that it looks like this is more or less how Maplex works. Assuming you let it use all the label zones it has available and give it a generous distance tolerance. – RHB Mar 23 '16 at 15:13

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.