[GIS] Set scale dependant labels arcmap 10.3

arcgis-desktoparcmaplabelingscalevbscript

I am wondering if it is possible to create scaled labels so that at a certain zoom level only one label appears but when you zoom in closer more labels appear for different fields.

I have this VBScript expression to allow for multiple fields to appear in labels (This is what I would like to see at a zoomed in level e.g at 1:10,000 (my layer consists of large polygons fyi))

Function FindLabel ( [Name], [Kvalue], [Pvalue], [LimeRequirement], [PHvalue] )
FindLabel = "Plot Name: " & [Name]&vbnewline & "K Value: " & [Kvalue]&vbnewline & "P Value: " & [Pvalue]&vbnewline & "Lime Requirement: " & [LimeRequirement]&vbnewline & "pH : " & [PHvalue]
End Function

Output of expression:

Plot Name: Balally Park

K Value: 1.76

P Value: 5.97

Lime Requirement: 4.37

pH : 5

At a zoomed out level (from 1:500,000 to 1:10,000) I would just like Plot name and K value.

Is there a way of doing this without creating copies of the layer and setting scales on the layer itself?

Best Answer

In Arc 10.3 you can access the Maplex Labeling Engine which gives you much more control over labels.

In the image below showing a layer properties you can select: define classes of features and label each class differently

You can then set a scale range for each grouping, so for example you'd set the range to 1:500,000 to 1:10,000 and put you vb script to just show Name and K value in the Expression tab. Then for your second group set the scale to >1:500,000 and add all of the VB script above.

enter image description here

Related Question