Trouble free scale bar – scale bar length to remain constant size

Question: At our organization users generally want a scale bar which is constant size and a useful size, like 1″ or 2″ wide. So that when the map scale changes, the scale bar size remains the same and the division values change. Now the key is to set this up in the template and forget about it. I have seen some responses to this question from ESRI staff which basically say you can do this but you will have to adjust your scale bar properties each time you change the scale. This is not a very useful solution. Why require the cartographer to be constantly vigilant about the scale bar? This should just work automatically, in my opinion. In the past we have solved this problem by creating a 1″ graphic of a scale bar and aligning this with a scale text element. This works but limits you to a 1″ long scale bar. We would prefer on some maps to have a 2 or 3 inch scale bar. So, can this be done with ESRI software? Thanks.

Answer: You can do this using a custom script. Here is a link to something similar that you can start with and then modify: (this link provides a script that moves a data frame. It may provide a framework to help write a script that moves the scale bar on and off the page)

This link provides information aboutmap surround elements which a scale bar is:

However, you might want to think about this problem a little differently. There are really two parts to this question. Having a scale bar remain a constant size, and having it remain a useful size. Let’s look at it remaining a constant size first.

First, size the scale bar to the dimensions you like then right click the scale bar and open the properties. In the Scale and Units tab there is an option that reads When Resizing… You want to set this to Adjust Division Value. This will keep the scale bar very close to the size you established even when you change scales.

Second, to keep the scale bar a useful size you could try enabling Data Driven Pages. On the Data Driven Pages toolbar click the first button to access the Data Driven Pages Setup. Next click the Extent tab where you will see an option to round the scale called Round Scale to Nearest. You can type in a value here; for example, if you type “1000″ the scale will be rounded to the nearest 1000. This functionality will round the scale and the scale bar should show more useable divisions.

If some maps actually have different requirements for the scale bar you could try creating a python script with Arcpy that will move the appropriate scale bar onto the appropriate page. Again this would be a Data Driven Pages solution. You would make a 1 inch scale bar and a 2 inch scale bar. Place the 2 inch scale bar off the page. When printing to PDF the script would ascertain the scale of the map and then swap the scale bars if required. This solution requires some scripting.

Formerly a Mapping Center Ask a Cartographer  Q & A.

About the author

Dr. Aileen Buckley has been making maps since she was an undergraduate student. She has a Bachelors in Geography and Spanish from Valparaiso University, a Masters in Geography from Indiana University, and a Ph.D. in Geography from Oregon State University. She is a senior product engineer on the Living Atlas team, and her work focuses on determining and sharing best practices for mapping and analysis with modern GIS. She publishes and presents world-wide on many aspects of mapping and GIS. She is a co-author of Map Use: Reading, Analysis, Interpretation, and she is a co-editor for the Atlas of Oregon. Aileen is a former president of CaGIS (the U.S. cartographic association) and is actively involved with the International Cartographic Association in which she is the lead delegate for the United States.


Next Article

ArcGIS Workflow Manager: understanding the services-driven architecture and best practices for transitioning

Read this article