I have a topo map with various polygons representing lakes. The label applied from the name field of the attribute table is the same size for each lake whether the lake is huge or tiny. Is it possible to make the label automatically change size to match the polygon? Maybe the label could be a percentage of the polygon size?
You could use Using label classes to label features from the same layer differently—Help | ArcGIS for Desktop to label them differently based on a field. Maybe area field.
Thank you Wes. As a test, I set the labels for the Lakes as Label all features the same way, the I added the expression below. The expression verifies as ok, but nothing happens. I have a Field named PARENTID and the data type is Long. All the PARENTID fields in the attribute table have a value of 0 (zero). I tried the expression without the cLng, like this
" if ([PARENTID] = 0) then" but that didn't help either.
Function FindLabel ( [PARENTID] )
if (cLng([PARENTID]) = 0) then
FindLabel = "<CLR red='255'><FNT size = '44'>" + [OFFICIAL_N] + "</FNT></CLR>"
end if
End Function
=== below does work ===
Function FindLabel ( [OFFICIAL_N] )
if [OFFICIAL_N] = "Bee Lake" then
FindLabel = "<CLR red='255'><FNT size = '44'>" + [OFFICIAL_N] + "</FNT></CLR>"
end if
End Function
See diagram
You can do this by setting the label font size to the largest desired size, specifying "Reduce font size", and deselect "Overrun feature".
I use this method when I display large amounts of parcels as well. Remember you have to use the Maplex Labeling Engine to use these tools. Also, this will slow down your labeling and display, because of the crunching to fit the labels.
I used the Reduce font size option in the Maplex Labeling Engine and the results are exactly what I need. This saved me from individually making custom labels for hundreds of lakes.
Is it possible to mark more than one answer as the correct answer? All three answers were very helpful. I will use the Define Classses feature to write Expressions for custom labels when I need that. I was not aware that I could use Expressions like that.
The Reduce font size option was perfect but I did not know that the Maplex Labeling Engine existed so I would have had a hard time figuring that out until Chad mentioned Maplex and then I found it. In ArcMap 10.3.1 I found it under the drop-down menus along the top, Customize >> Toolbars >> Labeling then under the Labeling drop-down on the left side of the Labeling toolbar, pick Use Maplex Label Engine.
Thank you all, you saved me a lot of time.