The scale bar for a map in is map units, so if you want to display the map in any units other than map units, you will need to perform a conversion. This is easy if your map is in any units other than lat/long degrees.
- Select the Map Scale in the Contents window.
- On the General page in the Properties window, in the General section, make note of the Cycle spacing. This is the number of your map units represented by one bar in the scale bar.
- Find the conversion for the Cycle spacing. If this was 10 for a map in meters and you want to display miles on your scale bar, you'll want to find the conversion for "10 meters in miles".
- Enter the converted value (i.e. 0.00621371 miles for a 10 meter cycle spacing) in the Label increment field in the Labels section.
If the map has a lat/long coordinate system, then the scale bar is in degrees. You can manually change the units of the scale bar by calculating the equivalent distance in your desired units (meters, feet, etc.).
To manually change the units from lat/long to meters, you can use the attached ScaleConversion.xlsx Excel spreadsheet as a convenient conversion calculator.
Alternatively, after adding a scale bar to the map in Surfer (select the map and click Map Tools | Add to Map | Scale), follow the steps below.
- Select the Map and then click on the Limits page in the Properties window and make note of the yMin and yMax. For a contour map of sample file Colorado.grd, these values are 37 and 40.99 respectively.
- Find the center latitude of the map with this formula: [(yMax-yMin)/2] + yMin. For our example, this would be 38.995°.
- Take the cosine(degrees) of the latitude from step 1. For our example, this is 0.77720087706.
- Multiply the value from step 2 by the conversion factor for the units you want. Some common conversion factors are:
- kilometers = 111.3215
- meters = 111300
- miles = 69.172
- nautical miles = 60
- feet = 365228
For our example, to convert our scale bar to km, this ends up being 86.5191674.
- Divide your desired increment value by the value from step 4. For this example, if we want an increment of 100km on our scale bar, this would be 1.1555813.
- Select the scale bar.
- On the General page in the Properties window, set the Label increment to the increment value chosen in step 5 (100), and set the Cycle spacing to the value calculated in step 5 (1.1555813).
See the attached ScaleCoordinates.srf file for our final example file, complete with the original scale bar and scale bars in all four converted units mentioned above (m, km, ft, mi).
Please contact email@example.com if you would like to add your vote to our suggestion file for a way to automatically convert the units of scale bar labels.
Updated July 31, 2019