When generating a large number of maps in a Map Series, the user will often use a feature layer that has a relevant polygon or a custom set extent, and have ArcGIS Pro set the extent and scale automatically for each polygon, choosing with or without a buffer around that polygon, and rounding up to some number appropriate to the layout units (e.g. 31680 to round up to the nearest half mile in a 1 inch = X miles series).
This can be automated using dynamic text as follows:
1 inch = <dyn type="mapFrame" name="MainMap" property="scale" pageUnits="in" mapUnits="mi" pageValue="1" decimalPlaces="1"/> miles
In a map series with many different scales, rounding up to the nearest 31680, the output of the above dynamic text might be as follows:
- 1 inch = 0.5 miles
- 1 inch = 1 miles
- 1 inch = 1.5 miles
- 1 inch = 2 miles
Note that the decimalPlaces attribute strips trailing zeroes, as reported in 2021 in BUG-000141745, but ESRI has classified the behavior as "As Designed".
The problem with the above is primarily when the text reads "1 inch = 1 miles". Most organizational style guides will flag this as not grammatically correct and acceptable outputs might include "1 inch = 1.0 miles" (adding an additional decimal place) or "1 inch = 1 mile" (dropping the "s").
One could perform data entry for the polygon layer that is used to generate the map series, and set the dynamic text to pull a value from the attribute table. But for a large map series, this is a lot of unnecessary manual work for something that is already automated by existing map series functionality at the layout level.
A few options:
- Add a format attribute for numeric dynamic text values like this, so that the user can decide whether to strip trailing zeroes. Similar formatting functionality exists for other dynamic text values (e.g. date and time).
- Allow some sort of if/then functionality for selecting "mile" vs "miles". Expressions are allowed for dynamic text from attribute tables