A new update for Manifold System is now available.
The update includes more than a hundred of improvements and fixes, including:
- The Help menu includes the Documentation command which opens the documentation web page. The Online Portal command in the same menu is renamed to Web Site.
- Pressing F1 in a component window opens a help topic with the keyboard reference for that window. Pressing F1 in a command window chooses between the help topic for the query portion of the window and the help topic for the table portion of the window depending on the current focus.
- Opening a MAP file created by Manifold 8 migrates images linked from image servers. Discontinued OSM servers are mapped to OSM base. Yahoo servers are mapped to HERE (the successor). Yandex servers are mapped to Yandex V2. Unrecognized custom servers are mapped to Bing.
- Views on PostgreSQL and other databases allow specifying a field to use as identity. Doing this allows records in the view table to be selected, and, if the view supports that, edited or deleted. To specify a field to use as identity, right-click the field header and select 'Use as Identity'. The system will scan all values in the field to make sure there are no duplicates or NULLs and if the values are clean, the table will expose a BTREE index on the field. The information about the field used as identity is saved into the database, so attempting to use the table in future sessions of 9 will automatically expose a BTREE index on that field without further scans. The identity option can be cleared or moved to a different field. The view can have only one identity field specified in this way.
- Dataports for PostgreSQL and other databases detect writable views and allow writes to them.
- Queries representing database views report their schemas. The Project pane allows viewing the schema of such a query by right-clicking it and selecting the Schema command.
- Queries for the Manifold query engine report their schemas as long as the schema of the result table can be discovered without running the query.
- The New Drawing and New Image dialogs allow creating a new component based on a query, as long as the query can report its schema.
- The DB2 dataport reports schemas for materialized views. The Oracle dataport treats materialized views as queries, not as tables. The PostgreSQL dataport allows accessing materialized views and reports their schemas.
- The SQL Server dataport tries to resolve the SRID of geometry values in a table to the system MFD_SRID table (composed based on a SQL Server view). If the SRID cannot be resolved, it is interpreted as an EPSG code, according to the Microsoft guidelines and similar to how these codes are used in practice by Manifold 8 and other products.
- Sorting records in a table window requires Ctrl-clicking the field header instead of just clicking. Shift-clicking the field header continues to add the field to the current sort order.
- Rendering a label bound to an area tries to places the label into the middle of the visible portion of the area.
- The advanced rendering engine supports rendering labels with shadows and halos. The basic rendering engine scales label shadows and halos during printing (were frequently invisible before).
- Editing a coordinate system automatically selects the starting system in the lists of known systems and puts the parameters of the system into the controls in the Custom tab. If the starting system is not found in any list, the dialog switches to the Custom tab.
- Editing a base coordinate system automatically selects the starting system in the lists of known systems and puts the parameters of the system into the controls in the Custom tab. If the starting system is not found in any list, the dialog switches to the Custom tab.
- The local scales, local offsets and units of a coordinate system are separated from other parameters into the new 'Metrics' readout at the bottom of the dialog. The readout reports one value for the local scales if they coincide and two values if they don't, then values for the local offsets unless they are zero. All values are reported in the units of the coordinate system. Clicking a button to the right of the readout shows a context menu with the 'Edit Metrics' command which edits the values using a dialog.
- Coordinate system metrics picker supports the new 'Use Default Metrics' command which resets metrics to the default values for the coordinate system. If coordinate system metrics are already set to the default values, the command is displayed with a check icon.
- Coordinate system parameter edits support the new 'Unit Converter' command which allows converting the parameter value between units using a dialog.
- Right-clicking a layer tab in a map window and selecting the new 'Zoom to Selection' command zooms the window to the selection in the specified layer. If the layer contains no selected data the command does nothing.
- Attempting to center or zoom a map layer built on a query automatically computes the extents of the layer and remembers them for future use in zoom commands, until the layer is refreshed or the window is closed.
- Ctrl-clicking a layer tab in a map window zooms to the layer. Ctrl-Shift-clicking a layer tab zooms to the selection in the layer.
- Comments, query and script windows support the new Edit - Advanced - Make Lower Case / Make Upper Case commands. Both commands operate on the current selection. Shortcuts: Ctrl-U, Ctrl-Shift-U.
- Comments, query and script windows support the new Edit - Advanced - Increase Line Indent / Decrease Line Indent commands. If the window contains no selection, the commands are applied to the current line. If the window contains a selection, it is extended to cover complete lines. Shortcuts: Ctrl-T, Ctrl-Shift-T.
- Query and script windows support the new Edit - Advanced - Comment Lines / Uncomment Lines commands. If the window contains no selection, the commands are applied to the current line. If the window contains a selection, it is extended to cover complete lines. Shortcuts: Ctrl-K, Ctrl-Shift-K.
- The new Edit - Merge - Merge Drawings command allows merging one or more drawings into a single component. The 'Copy all fields' option controls whether to copy fields other than geometry (on by default). Fields of the same name and type from different layers are merged together. Fields of the same name but different type are still merged together as long as field types are compatible, with the type of the resulting field being made big enough to hold all values. The 'Save source component for each record' option allows saving the name of source layer into a separate field (on by default). The 'Skip records with null geometry' option allows skipping records with null geometry values (off by default).
- The new Edit - Merge - Merge Labels command allows merging one or more labels into a single component. The options are the same as for drawings, but 'Copy all fields' is off by default and 'Skip records with null geometry' is replaced with 'Skip records with null geometry or text' and is on by default.
- The new Edit - Merge - Merge Images command allows merging one or more images into a single component. The new image uses the exact pixel scale specified in the coordinate system (shown in coordinate system metrics readout in the coordinate system dialog). If source images use different pixel types, the new image uses the type big enough to hold all values. In particular, if source images use different number of channels, the new image uses the maximum number of channels.
- Merging data from multiple images follows Z order of layers specified in the dialog, with pixels from upper layers overwriting pixels from lower layers.
- Merging data from images includes special provisions for cases where the coordinate system of the original image coincides with that of the new image up to pixel scale and only differs in offsets. In such cases, pixels in the original image are not reprojected and keep their exact values.
- Merging data from images uses multiple threads if this is beneficial.
- GeoJSON dataports (both file and web versions) support TopoJSON.
- Reading geometry collection values automatically merges individual values of the same underlying type used in Manifold geometry (area, line or point, differences between subtypes like line and multiline are ignored) and returns the result of the merge, instead of returning the first non-empty individual value. The change applies to all formats which support geometry collection values, including WKB, GeoJSON, native geometry in database-specific formats, etc.
- Reading geometry collection values with individual values of mixed underlying types automatically converts areas to lines and lines to points in order to return all coordinates. Example: reading a geometry collection with an area and several points will return a multipoint containing all coordinates of all individual values.
- Reading DWG and DXF files creates a field for the block name. If an object belongs to a sequence of nested blocks, the system uses the name of the top-level block. Reading DWG files hides map layers that are marked as turned off.
- Exporting a drawing to DXF, GDB, MFD, MIF, SHP or a similar format clears the values of the local offset and local shift values in the exported coordinate system and forces the axis order to XY.
- There is native support for INP files (EPANET).
- Exporting an image to BMP, ECW, JPEG, JPEG2K, PNG or TGA exports rendered pixel values according to formatting set in the Style pane. Exporting an image to TIFF always exports original pixel values. (Previously, exports were writing original pixel values if the file format supported the pixel type and rendered pixel values otherwise.)
- The ODBC driver includes a workaround for a limitation in newer versions of QGIS and a fix for newer versions of Access.
The update is available on the Product Downloads page.