The scale bar for a map in is map units. This means when 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
- 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 firstname.lastname@example.org 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 November 2, 2018