Select to view content in your preferred language

Building Annotation Feature Class in ArcGIS Pro ( Migration to ArcGIS Pro from ArcMap)

1463
9
Jump to solution
09-09-2024 09:31 AM
Labels (2)
KarenShaw
Emerging Contributor

I’d like to ask the wisdom and experience of Esri Professionals who worked in any following Esri  ArcMap and ArcGIS Pro systems or  moved from ArcView/ArcInfo to ArcMap system,

Background:

I've inherited annotations that are only in MXDs.  This means the Annotation was created in each MXD by converted “labels to Annotation Class in the map” only.  So, no annotation database. Each annotation is tied to one MXD each. There are over hundreds of individual MXDs formatted this way.

In migrating from ArcMap to ArcGIS Pro, I will be to building a new Annotation Feature Class from the ground up for over 18,000 unique polygons. I’d like to build the best  Feature Linked Annotation Class that I can. I am looking for tips and recommendations on building a new Annotation Feature Link Class. What should I do? What should I avoid?

Key Question: In light of Esri software having major updates every 7 to 15 years, what is best way to create a Feature Class Annotation class? Building one from the ground up that will transfer on to the new generation of Esri Software.

Other good follow up questions:

  • Does anyone have experiences about migrating annotation Class from ArcVeiw / ArcInfo to ArcMap OR ArcMap to ArcGIS Pro? Can you please share knowledge and experiences?
  • If there any Esri Staff, who can share insight into technical details of ArcMap to ArcGIS Pro Annotation Class conversion details, please share. Can you share what best practices to building Annotation feature class should be?

To everyone, please share---no tip or suggestion is too small. You may have information that could help me or another GIS Specialist in the future.

Thanks in advance for your willing to share suggestions, insight and experience. I am very sympathetic to challenges of moving to next  generation of Esri systems.

0 Kudos
1 Solution

Accepted Solutions
RTPL_AU
Honored Contributor

Hi @KarenShaw ,

As the product is public facing my approach would be to use the built-in labeling to get to as a good an automatic result as you can get, convert to an annotation feature class and then manually check and edit the stragglers. 18000 isn't that many. 

Arcade & SQL will depend on your data and requirements. It doesn't have to be complicated; simple things like converting to proper case Proper($feature.Name, excluding numerical rounded values that are 0 etc.

Arcade - exclude 0 from labels where rounded value =0:

var roundedValue = round($feature.AREA_SQM, 0);
if (roundedValue != 0) {
return roundedValue;
} else {
return ''; // Return an empty string to not display a label
}

SQL can be used to filter label class for various parcel sizes and/or types so you can use a specific internal  label style for large lots and one with external labels with a leader for the small lots.

example:
PARCEL_TYP IN ('Lot Type Parcel') And CA_AREA_SQM > 1000

RTPL_AU_0-1726106236145.png

add a second class for lots <1000 and make them wrap and smaller font to start:

RTPL_AU_1-1726106461908.png

and a 3rd class for the small lots with an external label with box & leader:
PARCEL_TYP IN ('Easement') And CA_AREA_SQM < 250

RTPL_AU_2-1726106840730.png

Also - there will always be outliers; try to minimize them but not blow the time budget by trying to eliminate them. A manual edit can take 5 min vs trying to get labeling to play ball can take hours. 😀

Your pdf outputs then need to accommodate for any external to lot labels - I'd suggest a map series using an abstracted series layer (e.g. buffered lots) with a specific scale attribute so that you can force the lot to page ratio, and make sure relevant labels are always shown. Having a set scale value available then plays back into your label classes & annotation layers so you have a consistent font size across all printed pages no matter the page scale. 

How manual you go will obviously depend on how transactional your area is - if everyone is buying/selling/merging/splitting lots all the time, you have to spend more time getting the automation right. If it is a quiet little town where nothing ever happens, more manual processes can be more efficient.

Good luck and let us know how you go.

 

View solution in original post

0 Kudos
9 Replies
RTPL_AU
Honored Contributor

The only robust way I know to make text labels truly transportable is to have them as a point dataset containing all relevant attributes e.g. text string, x, y, coordsys, scale, font, rotation at minimum. Anything else is subject to 'improvement' in the future. Task specific derivatives can then be created as needed but the whole process adds too much overhead unless you are in a time-rich presentation-and-data-is-everything environment.

When converting from map-stored annotations to gdb you will have to have a decent quality control step to make sure they all came across correctly - e.g. one hospital label dropped can spoil someone's day.
With that in mind, if the source data still exists it may be worthwhile to bite the bullet and redo the lot.
The labelling in Pro has much more options these day with Arcade, transparencies, styles, filters, etc so you may be able to create something automatic/rule-driven that is much closer to what you want before converting to annotations and having to manually edit positions, etc.

 

0 Kudos
KarenShaw
Emerging Contributor

I agree that ArcGIS Pro has better tools for Labels than ArcMap.

Let me give an example of scope of the challenge I am facing. I have around 18,000 polygons (Parcels) database. These parcels can be as small .001 Acres to large as 640 Acres. They can be different shape as well. See image below for example variable sizes and shapes.  The challenge lies in needing to make PDF files of each section that "labels" that correctly marks each parcel with correct information. Incorrectly "labeling" the parcels will cause confusion and issue with those who use the PDFs (the public).

Can you share with me Arcade expressions and SQL Query that would be good to use? Please factor in different sizes and shape possibilities into your answer. I do have  a field in the data that has size (in acres).

Though I am replying to @RTPL_AU, I am also asking this of anyone out there who has knowledge and great ideas too.

0 Kudos
RTPL_AU
Honored Contributor

Hi @KarenShaw ,

As the product is public facing my approach would be to use the built-in labeling to get to as a good an automatic result as you can get, convert to an annotation feature class and then manually check and edit the stragglers. 18000 isn't that many. 

Arcade & SQL will depend on your data and requirements. It doesn't have to be complicated; simple things like converting to proper case Proper($feature.Name, excluding numerical rounded values that are 0 etc.

Arcade - exclude 0 from labels where rounded value =0:

var roundedValue = round($feature.AREA_SQM, 0);
if (roundedValue != 0) {
return roundedValue;
} else {
return ''; // Return an empty string to not display a label
}

SQL can be used to filter label class for various parcel sizes and/or types so you can use a specific internal  label style for large lots and one with external labels with a leader for the small lots.

example:
PARCEL_TYP IN ('Lot Type Parcel') And CA_AREA_SQM > 1000

RTPL_AU_0-1726106236145.png

add a second class for lots <1000 and make them wrap and smaller font to start:

RTPL_AU_1-1726106461908.png

and a 3rd class for the small lots with an external label with box & leader:
PARCEL_TYP IN ('Easement') And CA_AREA_SQM < 250

RTPL_AU_2-1726106840730.png

Also - there will always be outliers; try to minimize them but not blow the time budget by trying to eliminate them. A manual edit can take 5 min vs trying to get labeling to play ball can take hours. 😀

Your pdf outputs then need to accommodate for any external to lot labels - I'd suggest a map series using an abstracted series layer (e.g. buffered lots) with a specific scale attribute so that you can force the lot to page ratio, and make sure relevant labels are always shown. Having a set scale value available then plays back into your label classes & annotation layers so you have a consistent font size across all printed pages no matter the page scale. 

How manual you go will obviously depend on how transactional your area is - if everyone is buying/selling/merging/splitting lots all the time, you have to spend more time getting the automation right. If it is a quiet little town where nothing ever happens, more manual processes can be more efficient.

Good luck and let us know how you go.

 

0 Kudos
KarenShaw
Emerging Contributor

Hello @RTPL_AU ,

Thank-you for taking time to response and the screenshots. Very helpful! I agree that starting labeling class than using the Label to Annotation tool is the way to go.

SQL Querying by Parcel Type AND Area is interesting idea. I thought about doing it using by parcel size but I did not consider Parcel Type. Though, the dataset does not have Parcel Type Field (like parcels inside and outside a subdivision), I have other ways to pull that data (via RP Number). I will look into this to see makes sense for labeling the dataset.

add a second class for lots <1000 and make them wrap and smaller font to start: 

Can share few instructions on how to “wrap” and make “smaller front”? Would you recommend using “Enable Scale-based sizing?

FORUM screenshots.png

Also - there will always be outliers; try to minimize them but not blow the time budget by trying to eliminate them. A manual edit can take 5 min vs trying to get labeling to play ball can take hours.

Very good and valid point. I agree!

I will update this post over time as I progress on this project. Anyone who has tips, suggestions, or ideas, please continue to share.

0 Kudos
KarenShaw
Emerging Contributor

I am marking this one as Solution because @RTPL_AU  gave good in-depth answer on my labeling question  These post threads tend to do better if you ask one question per post. In this one, I asked multiple questions. So not all them were answered. HOWEVER, @RTPL_AU  did good at answering one of them. Thank-you! 

0 Kudos
JesseWickizer
Esri Contributor

What @RTPL_AU is referring to by "make them wrap and smaller font to start" is to create a different label class for the smaller parcels and in that label class turn on label stacking in the Maplex label properties and use a smaller text symbol font size.

You should also explore other fitting techniques such as font size reduction and consider placing the labels Straight in polygon and checking Try horizontal position first

Since you're labeling thousands of polygons, I recommend trying out many of the various Maplex label placement settings to configure the best automatic placement of labels. That way you let the label engine do most of the work so you don't have to spend as much time manually adjusting annotation if you decide to convert your labels to annotation. 

When creating different label classes for large and small polygons, consider that the size cutoffs between "large" and "small" change depending on the map scale. Therefore you may want copies of the parcels layer that turn on and off at different scales, and the only thing that changes is the feature sizes used in the SQL queries that define the label classes. My layers and label classes in my contents pane may look like this:

JesseWickizer_0-1732559701873.png

 

0 Kudos
KarenShaw
Emerging Contributor

I am adding about reply to this thread for other GIS Specialist who weighing options of Standard Annotation vs Feature-linked Annotation.

I did a lot research into the options. I tried multiple ways to reach out to Esri staff with knowledge about Feature-linked Annotation. I tried through personal contacts, other Esri staff, and posting here. I was unable to get Esri GIS Programmer experienced in feature-link annotation.  I am sure they exist but I was unable to in contact to them.

In my search, I did meet and talk to someone who been working with Annotation for decades. They noted that their organization considered trying Feature-link Annotation in Pro but after tests and updates in Pro, the re-centering of Annotation in a polygon was issue. They decided to stay with Standard Annotation Feature Class.

I searched and I could not find a good solution for choosing a few feature-linked annotation NOT to auto-center.

In converting 18,000 parcels, I decided to go with Standard Annotation because customizing individual parcels placement was important. Not all parcel annotation, especially small ones, should or could be in the center.

I hope this post helps others.

0 Kudos
RTPL_AU
Honored Contributor

@KarenShaw Thank you for letting us know. 
Labelling is the one thing that I suspect will demonstrate when AI is a solved problem. 🤖
When we can request labels and have them 'just work' I suspect many of us will retire 🤣

There are so many aspects at play that I almost never use Feature Linked annotations - if the data change delta is low then it is easier to have static labels once placed, and then update only the changed parcels' annotations when needed. 

I prefer to use Maplex as it gives me a bit more freedom to get the labels 'almost perfect' before converting to annotation. 

When you have odd shaped parcels where the label tries to go outside the parcel try the following:

Allow labels to be outside the polygon, and specify an offset that will make leader lines appear

RTPL_AU_2-1755741535289.png

Set the overrun to 0 or very low

RTPL_AU_0-1755741312283.png

Give it a leader line ( I like the angled version)

RTPL_AU_1-1755741435431.png

 

This will place most labels inside the parcel and if they want to pop out completely due to not being allowed to overrun the boundary, they'll get a leader.

Once you convert this to static annotations (not Feature-Linked) you can easily spot the ones with leaders visible and tweak them.  If you decide to move any of the other labels outside their parcel, they'll already have leaders assigned making it faster to get them looking right. 
Having leaders assigned but not visible can cause other issues when doing web-appy things but removing them in bulk isn't too hard.

 

 

0 Kudos
KarenShaw
Emerging Contributor

@RTPL_AU, this comment on off-set is useful to know. Thanks for sharing!   Yes, I will GLADLY turn over Annotation issues for AI to solve.  But until then, I’ll have to handle these details. LOL to retiring comment. WHEN Annotation takes less of our time, then I can finally have time for the studies and analysis tasks 😊.

Pro’s dynamic labeling is better than ArcMap was. It has a lot options to refine it in the label Pane and with Arcade, it’s very powerful.

I really like the idea of Feature-linked Annotation BUT there are times where I need to move several Annotations to certain locations that are non-center. So (for now), Standard Annotation is the best option for this task.

0 Kudos