Subscribe to this thread
Home - Cutting Edge / All posts - Manifold

10,447 post(s)
#30-Dec-22 13:34

This is the last cutting edge build in the current series focused on the cartography features and the last build for 2022. We are planning to let the build bake a little so that if there are any glaring issues, they can be found and fixed. Then we are going to release it as a new base build.

Happy New Year!

SHA256: cb3f60bdc2c43ddc17d4ecd545ce7789f92407a1220712f6bcc30b66a9302f82

SHA256: 894cae2512814ff3828a7a41ca58139cf0a4576641b583f60138cf45365c7d84

SHA256: 2b1ca4cf53bcd1481de42ff622167f14c9d1d58ecb8e1dc7a6841c42fcd37b7d


10,447 post(s)
#30-Dec-22 13:37


(Fix) A failed read or write of JPEG data no longer sometimes reports the generic 'can't read / write data' message instead of a specific error.

The dropdown list of formatting sizes highlights choices that map to whole pixels at 96 DPI. (96 DPI is the default screen resolution. Using sizes that map to whole pixels at that DPI -- eg, setting point size to 4.5 pt and stroke size to 0.75 pt -- helps make vector shapes look crisper.)

The list of formatting sizes is adjusted to include more choices that map to whole pixels at 96 DPI.

Editing area / line / point / text style shown in the Style pane using the Style dialog allows applying changes to the edited style without closing the dialog.

The north arrow and scale bar in a map window may overlap each other and are only auto-hidden when the window is too small to fit them (with margins).

(Fix) Selecting the north arrow and scale bar for a map window in the Layers pane and turning them on or off together no longer sometimes copies the style for the north arrow to the scale bar or the reverse.

The Layers pane for a map window shows the virtual layer for the legend. The layer can be turned on or off, the default is off. Double-clicking the layer edits its parameters using the Legend dialog.

Legend parameters:

  • foreground color - the default is black,
  • background color - the default is white,
  • style - legend style, there currently is only one style, we are going to add more in the future,
  • stroke - stroke width for the border, the default is 1 pt,
  • text font - font for text, the default is Tahoma,
  • text size - size of font for text, the default is 8 pt,
  • position - horizontal and vertical position relative to the map, the default is left bottom,
  • margin - horizontal and vertical margin on the map, the default is 8 x 8 pt,
  • size - horizontal size, the default is 180 pt, vertical size varies with the number of items and is computed automatically,
  • padding - padding between the border and the items, the default is 3 pt.

The Legend dialog includes a preview of the legend style which updates after changes to the parameter values.

The Legend dialog includes the Apply button which allows applying changes to the legend style without closing the dialog.

Legends ignore images with no thematic formatting.

Legends ignore drawings and labels with no records.

Legends for drawings with the spatial index provided by Manifold ignore formatting for geometry types that do not exist in the drawing.

Legends with too many items render the first items that fit into the legend frame (instead of increasing the frame size offscreen). Legends with no items do not render at all (instead of rendering an empty frame).

Legends no longer have separate items for component names. If a component uses thematic formatting, the component name is shown next to the field name that controls the formatting ('Component : Field'). If a component does not use thematic formatting, the component name is shown next to the constant formatting ('Component' instead of, eg, 'Points'). This makes legends shorter and easier to read.

Layouts support legend frames. To add a legend frame, use the new Create Legend cursor mode (shortcut: Shift-E).

Legend layout frames use data from the next component frame below in the display stack, or, if there are no such frames, from the topmost component frame. This is similar to north arrow / scale bar layout frames.

The Info pane for a legend layout frame shows the legend style and allows editing it.

The context menu for a legend layout frame in the Layers pane includes the new Split into Samples command which splits the legend into individual frames for formatting samples and adds them to the layout. The new frames are put into a separate folder on the same level as the legend frame, right above it in the display order. The original legend frame is not deleted, but is hidden. The old View - Mode - Create Legend command used to create similar legends from individual frames for formatting samples is removed.

The Style dialog for labels includes new options for placing labels near points:

  • label - either one per coordinate or one per record, specifies how many labels to place for points with multiple coordinates (multi-points), the default is one per coordinate,
  • move to avoid overlap - if turned on, allows trying multiple label positions in case of overlaps, the default is off.

Placing labels near lines in one per branch / one per record modes tries multiple label positions in case of overlaps. Positions near centers of visible branches are given preference.

Using Tally for unique values in the Style pane keeps formatting for existing values.

Using Tally for numeric intervals in the Style pane copies formatting from closest values. (Eg, going from 10 = red, 20 = green to four breaks of 8 / 13 / 18 / 23 will produce 8 = red, 13 = red, 18 = green, 23 = green.)

End of list.

Mike Pelletier

2,126 post(s)
#30-Dec-22 16:25

Happy New Year all!

This is a great list of improvements and look forward to trying them out. One issue I've noticed so far. The new point labeling move to avoid overlap mode is much appreciated. However, in many cases it moves the label too far and quickly loses logical connection to the point it is trying to label, often appearing to label the wrong point. Perhaps it would be better if it enforced the allowed distance away from the point (Symbol - Move - Offset) and moved it around the point instead. Also perhaps allow longer distances if a leader line is included.


7,420 post(s)
#30-Dec-22 16:43

Agree. Call outs are the next step.


10,447 post(s)
#30-Dec-22 17:08

'Move to avoid overlap' does not currently increase the allowed distance away from the point, it tries different positions within that distance. What happens is that whenever there is some movement, the align is no longer fixed, and so, if there are multiple points close to each other, it might be hard to tell which label is for which point. (Eg, if 'move to avoid overlap' is turned off and there are 5 points and 1 label, you can tell which point the label is for from the align. But if you turn 'move to avoid overlap' on, and it manages to fit 1 more label with some movement, it is not clear which point this additional label is tied to -- and in fact it is now no longer clear which point the original label is tied to either, because who knows which of the labels got moved, maybe they both had to move, etc.) We will deal with that using callout lines, yes.

Mike Pelletier

2,126 post(s)
#30-Dec-22 18:01

Callouts sound good and hope closer available positions can get priority, such that callouts are not always needed.

Please consider moving the Move - Angle/Offset command from the Symbol tab to the Position tab. It might be more logical to have position related stuff in one place. Also, on the Position tab, perhaps the Text - Align command maybe should be given a different name to make it clear what text it applies to.

Hope the legend can default to showing just what components are turned on, as well as having a scroll bar to allow viewing all components.

sga30 post(s)
#10-Jan-23 09:52

Indeed as said, the avoid ovelap mode is a great improvement! Thanks for adding this!

I agree with you all that callout lines would be a benefit. However, when there are too many points, my prefered options would be to prioritize features based on a field, as suggested here . The ordering of vector objects in drawings as mentioned in the same post would be a nice feature as well!

Bernd Raab66 post(s)
#10-Jan-23 08:40

Maybe I'm doing something wrong butin the map window I can now display and format the north arrow, scalebar and legend.

However, this does not appear in the layout window. Here I have to reformat everything (North Arrow...).

This is inconvenient and takes time. Why can't the layout simply take over the entire display of the map including the virtual layers?


10,447 post(s)
#10-Jan-23 09:53

The layout frames for legend / north arrow / scale bar are not tied to any specific component, they will work with whatever component is below them in the display stack. We did it this way because we think other ways are worse.

We agree, however, that getting the exact same look for the legend / north arrow / scale bar for a specific map in a layout as in the map itself is a very basic thing and should be easy. We will (a) allow copy / pasting styles between virtual layers of the same type, and perhaps also (b) allow right-clicking a component layout frame and adding a new legend / north arrow / scale bar layout frame which would copy the relevant style from the component.

Bernd Raab66 post(s)
#10-Jan-23 10:22

thnak you Adam, this sounds good.

264 post(s)
#03-Jan-23 06:13

Cartographic labelling is difficult, even from a person, and the list of possible improvements in the automatic labelling is maybe endless. But before the development focus leaves for other topics, I hope at least one-per-branch option is added for areas too, and also in map layer mode a mode that shows all text in a layer is added, even if texts overlap, apart from existing "layer" and "map" modes.

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