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


10,447 post(s)
#26-Jul-22 13:12

9.0.177.3

manifold-9.0.177.3.zip

SHA256: 2ffcfb8fac0bea7f94951e8530c5adc4aaf3d96abb8d3ed5be4ce75a4e4b6f0a

manifold-viewer-9.0.177.3.zip

SHA256: 612b0c7f6145e315deb5f4667285f84a9eef668dfeec03f9d86a88e397d0d253

sql4arc-9.0.177.3.zip

SHA256: 005c7996359008c579eaf47ddf61d2a8a649ab2ae38f184aa4ebae3ef00461c2

adamw


10,447 post(s)
#26-Jul-22 13:13

Changes

(Fix) The table window for a table / query / command window for a MAP file behind MANIFOLDSRV shows the first sample of records instead of all records.

(Fix) The table window for a table in a MAP file no longer autorefreshes data after changes to a big table if there is a filter applied and the number of records that pass the filter is small.

Multiple progress messages have been simplified from 'mmm (xxx)' to 'mmm: xxx' for readability and consistency.

(Fix) Writing TIFF with FLOAT64 values correctly writes missing pixels (as NaN).

(Fix) Writing TIFF with INT8U values and a palette no longer fails to write the palette.

(Fix) Writing JSON escapes component and field names.

(Fix) Writing GEOJSON escapes component and field names.

Printing geometry to GeoJSON no longer prints optional bounding box data. This reduces output size, particularly for points. In the future, if there will be a particular need to include bounding box data, we will add an explicit option to do so.

There is a new dataport for JSONL files. JSONL files are line-delimited JSON, this is a simple format designed to be friendly to streaming data. A JSONL file contains a single table. Reading a JSONL file parses it dynamically. Each line should fit into 2 GB, but the file itself can be of any size.

There is a new export for JSONL files. The export takes a table. Binary fields are ignored. The export tracks progress and can be canceled.

There is a new dataport for GEOJSONL files. GEOJSONL files are line-delimited JSON, similar to JSONL, but with GeoJSON data. A GEOJSONL file contains a single drawing. Reading a GEOJSONL file parses it dynamically. Each line should fit into 2 GB, but the file itself can be of any size. Field names 'Geom' and 'Geom_x' are reserved, properties with these names are ignored.

There is a new export for GEOJSONL files. The export takes a drawing. Binary fields except the geometry field used by the drawing are ignored. Exported geometry is automatically converted to lat/lon WGS84, curves are linearized, areas are normalized to OGC rules. The export tracks progress and can be canceled.

(Fix) Writing DBF no longer sometimes miswrites boolean values.

(Fix) Tracking progress when writing DBF / SHP no longer sometimes counts every written record twice.

The -runscriptfile:xxx command in MANIFOLDCMD can work in the context of a data file. (As in, the command will open the data file and then run the script from the specified script file.)

There is a new -runqueryfile:xxx command for MANIFOLDCMD. The command is similar to -queryrun:xxx, but the text of the query is taken from the specified file.

There is a new -runquerytext:xxx command for MANIFOLDCMD. The command is similar to -queryrun:xxx, but the text of the query is taken directly from the command line.

(Example: manifoldcmd data.map -runquerytext:"SELECT * FROM blocks WHERE state='CA'" -out:out.jsonl)

Editing a text style allows specifying vertical alignment. Vertical alignment is used when painting text in layout frames.

Editing a text style allows specifying offset for labels following lines. The default is 0 = place a label for each visible branch directly on top of the line. If the offset is not 0, the system will try to place a label for each visible branch on each side of the line until it succeeds (so, for example, if the system succeeded in putting a label on the left side of a particular branch, it won't try to place a label on the right side of that branch, and vice versa).

End of list.

HMS
186 post(s)
#26-Jul-22 14:23

Hi Adam, I'm running this last cutting edge build and all the legends' text in my previous layouts are top aligned. Is there a way to revert this or to choose the default behavior? Also, the distance between the legend symbol (or area) also decreased and by default it's almost contiguous to the text. Is this a bug or is there any option to revert to the previous settings?

Attached I'm sending a quick preview of both behaviors.

Attachments:
01.png

HMS
186 post(s)
#26-Jul-22 14:51

After a second reading of my post, probably this could make it clearer: (...) all the legends' text in my previous layouts are now top aligned, instead of the previous vertical centre option.

This affects all layouts I've made, so I wonder if there is a way of not turning on this behavior or changing the default behavior to respect the format of previous layouts

adamw


10,447 post(s)
#26-Jul-22 16:14

This happens because we added a new setting. The previous behavior for that setting was mostly align center (although in some cases you were getting align top depending on other things), but using center as the default for vertical align conflicted with using left as the default for horizontal align. We chose to break things once rather than live with the conflict forever.

If we had a version tag in the style definition of a layout frame, we'd have altered the style on load to set vertical align to center. But unfortunately we don't have version tags there.

I can provide a script that will inspect each layout in the project and set vertical align to center if it is missing. Will that help?

adamw


10,447 post(s)
#26-Jul-22 16:58

OK, here's the script. Import it into a project with layouts and run. The script will go into each layout and frame, and explicitly set vertical alignment for frames with text that do not have it set yet. (Please make a backup of your data before running the script just in case.)

Attachments:
fixlayouts.cs

HMS
186 post(s)
#26-Jul-22 21:59

Hi Adam, thanks for looking into this and for the script. Can't try it right now, but I'll return to this thread asap.

adamw


10,447 post(s)
#27-Jul-22 08:15

OK.

Just in case, there are three options.

Option 1: import the script into a MAP file with the layouts and run it from there.

Option 2: put the script into the Extras folder (invoke Tools - Add-ins - Rescan if you don't want to restart Manifold), then invoke it as Tools - Add-ins - Extras - Fixlayouts, the script will work on the currently opened MAP file.

Option 3: if you have a lot of MAP files and just want to change them all in one go, use MANIFOLDCMD. Example BAT file:

@echo off

 

setlocal

 

set mfdcmd="c:\manifold-9.0.177.3\manifoldcmd.exe"

set script="c:\data\fixlayouts.cs"

for /R "c:\data\layouts" %%i IN (*.map) do %mfdcmd% %%i ^

 -runscriptfile:%script% -open:readwritesave -logfilter:min

 

endlocal

There are three paths to edit: the path to MANIFOLDCMD (set mfdcmd=...), the path to the script (set script=...) and the path to the folder with the MAP files (for /R ...), the /R key in for makes it search the subfolders.

Hope this helps.

HMS
186 post(s)
#27-Jul-22 10:33

Hi Adam, thank you again. Indeed it helped a lot.

The script worked wonderfully!

tjhb
10,098 post(s)
#26-Jul-22 22:32

Yes, such a kind thing to do. Unheard of.

ranger.sean109 post(s)
#27-Jul-22 03:57

Improvements to text style for better control over alignment greatly appreciated.

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