Select to view content in your preferred language

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

306
4
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
4 Replies
RTPL_AU
Frequent 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
Frequent 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