Subscribe to this thread
Home - General / All posts - M9. Suggestions for a scale bar?
599 post(s)
#12-Jul-19 19:03

Hi, while waiting for more layout features to come, what are approaches to have scale bars on maps? In M9 I've been adding a drawing I call "scale bar" and draw a line somewhere near the edge of my map. Then I adjust the coordinates so the Y coordinates are the same (copy and paste) so the line is horizontal in my coordinate reference system. I'm working in metric units so on the X coordinates I add 10,000 or 20,000 metres difference between the east and west endpoints of the line to generate a bar 10 km long (or 20 km, or whatever I need for the scale of the map) west to east. That gives me a line of the desired length. I finish the map by taking a screenshot of the map and pasting the image into a drawing program where I add an image of a north arrow and add my legend, add titles, disclaimers, client's logos, and other annotations. Then I add the numbers "0" and "20" to the ends of the scale bar. Then a screenshot of the final drawing goes into a MS-Word document or into a presentation slide.

The shortcoming is I can't easily move or change the size of my scale bar if I change the zoom level.

Wondering what are other people are doing for scale bar in M9? Or maybe there is an alternative to a scale bar but that still gives the viewer some idea of scale of the map? My maps are viewed on desk monitors or projected onto screens so I can't use a fixed ratio, e.g., 1:50,000.


253 post(s)
#12-Jul-19 22:27

<deleted as it duplicated your attempt.>

599 post(s)
#12-Jul-19 23:22

I'll expand the discussion. The only two ways I know of to show scale is by a ratio or by a scale bar. Scale bars work regardless of the zoom level when viewing the published map. So I wonder if there are other means of showing someone size or distance on a map. Has anyone come across a way of showing scale that isn't a scale bar or a ratio? For photos I used to get my son to stand in the photo and he'd happily run over and stand at attention beside whatever I was photographing for scale.


253 post(s)
#13-Jul-19 00:52

Ok. I don't know about other agreed-upon metrics that don't use units of measurement. I am still trying to conjure a generated line drawing object of a length that may ultimately turn into types of scale bar styles with tick marks etc.


I am considering a dynamic drawing where the line drawn is both dependent on the scale of viewing and the rect of the viewport. Still unsure if a script generating or SQL generating, or a combination.

So if the corner of the viewport is available and a line generated of a viewport length -> geographic length, then rounded could be made, it would make a good first step. Then the moving of viewport (incl. a scale zoom) could trigger a refresh, redraw.

Since M9 isn't dealing with Render zooms yet, it would be difficult to have many scale bars layered in a group. So, for a first stab a hotkey generation based on a single view.


I want to try and hash this out here and give it some iterative idea cooking.


6,129 post(s)
#13-Jul-19 05:56

9 doesn't have built-in scale bars (yet), nor does it have a built-in grid (yet). Both are coming.

In the interim, whenever I want a "snap to grid" I create a drawing that has a grid of points at regular intervals, and then when I draw lines or areas I can snap to those points. Copy the objects drawn and paste to their own drawing and they are still aligned to the grid. You can do that with points as well, by providing an attribute so that all the grid points have "grid" in that field.

This allows making the grid points transparent, so the effect is exactly the same as snapping to a grid. But I usually prefer to style my grid points as very small, thin stroke crosses, so I can see them as a reference grid when drawing. This is a fine technique when using 9 as a ersatz CAD program. Use it to draw landscape designs, whip up a floor plan for a new structure, etc.

OK. Use that technique to create lines that are however long you want them, with cross bars at the end. If you have good skills and muscle memory with Manifold editing, all that is very easy and very fast. If you don't have good skills it's a puzzle.

Here's an example of how using good skills you can in seconds create a horizontal line that is 1 km long:

1. create a point.

2. Select that point and Copy it. Deselect. [That's a Ctrl-A, Ctrl-C, Shift-Ctrl-A]

3. Use Transform - shift set to 1000 m in the X direction and apply. The point moves.

4. Ctrl-V to paste.

You now have two points 1 km apart. Draw a line between them (it snaps). Done.

Style as desired, with begin and end perpendiculars, for example, and then move it around using the usual editing commands (Shift-Alt-Click, select all the coords, and drag as desired) into your view. You can even label it like a scale bar "1 kilometer".

The technique of copying a point or set of points and then shifting them, pasting in their former place what was copied is very effective for creating grids, if you want to do that manually and not via SQL. You just double the number of points every time when you move them.

Suppose we used the above process to make points 1 m apart. Copy them, shift them 2 m in the X direction, paste, and we now have four points that are 1 m apart horizontally. Repeat with a larger shift and you have eight. Do that ten times and you have 1024 points. Repeat in the vertical direction and you have a 1024 x 1024 grid of points. Tedious, but it only needs to be done once, and anybody who does it once can post the result to this forum.

Or, use 8 just once to make a grid of points :-)


6,378 post(s)
#13-Jul-19 08:06

Or, use 8 ....

When it comes to layouts, legends and other map element I simply stick to M8. Not a bad program just because M9 grows in public.

And my feature request in this area strongly focuses on customized legends that don't lose the link to the original styles. Not much need to enhance M8 abilities for M9 and other elements IMO.

So I just want to capture this thread to vote for a higher priority to develop legends and layouts in M9

Shutdown adjusts priorities: Do we really want to go back to where we came from?

599 post(s)
#13-Jul-19 19:40

Thanks Dimitri. I gave points a try. It also generated another idea based on the same approach except I'll draw the "scale bar" in the illustrating/drawing program where I finish off the maps. I'll add a drawing layer where I'll had a few indistinguishable marks of known distances apart. The marks will blend into the background image. Only I'll know they are there. When I move a screenshot of my map to the drawing/illustrator program I'll draw a line between the marks and stretch/shrink the line to more or less align the ends of the line with the two marks. Then I can move the line to where I need it in the illustration and add numerals for distances. The resulting scale bar won't be exact to a metre resolution but when it's 25 km across the extent of my map being a hundred metres too short or too long won't matter.

Manifold User Community Use Agreement Copyright (C) 2007-2019 Manifold Software Limited. All rights reserved.