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


9,773 post(s)
#17-Apr-21 16:20

9.0.173.6

Here is a new build.

manifold-9.0.173.6-x64.zip

SHA256: 99ee9c089d4799129487f80d0f7d11107e3d8d099908aba58e244a052a354806

manifold-viewer-9.0.173.6-x64.zip

SHA256: 3da81b96db464ac5d4c378a5aac25abba760d282fa9741c41e121ed2258fc0f7

This build contains a big batch of updates to external libraries, major updates for LAS and databases, new options for vector editing, and various other improvements and bug fixes. With the amount of changes we did we want to wait a couple of days and then issue this build, ideally with no changes at all, as the official one. The general direction for builds after that is going to be editing and labels.

adamw


9,773 post(s)
#17-Apr-21 16:23

External libraries

CUDA is updated to 11.2.2. GPGPU modules are recompiled, the performance is slightly better.

ECW is updated to 5.5.0.2034. This adds several minor fixes.

WEBP is updated to 1.2.0. This adds several minor fixes and improves compression quality.

SQLITE is updated to 3.35.4. This adds UPDATE FROM, ALTER TABLE DROP COLUMN, RETURNING, various improvements to the query planner, SQL math functions.

ICU is reworked to use the built-in Windows 10 (1903+) implementation. This adds much more extensive support for collation data (Windows 10 currently ships 30 MB of collation data while our subset was 10 MB) and makes sure that collation data is kept up to date.

V8 is removed, V8 scripts are mapped to JScript.NET. See this post for details. There is a way to continue using V8 via a third-party component from Microsoft, we might re-add support for V8 via this component in the future.

UI

(Fix) The total error readout in the Register pane no longer blinks on Windows 7.

(Fix) The map windows paints vector overlay using multiple passes to avoid big slowdowns on complex geometry. (Previously, a complex line or area with ~70k coordinates could take 60+ seconds to render, with the UI remaining unresponsive for the entire duration. The change fixes this.)

The Clip dialog for vector editing allows specifying the layer to clip with. The choice persists in the window.

The Split dialog for vector editing allows specifying the layer to split. The choice persists in the window.

The Split command for vector editing can be used with a new or existing line or area, in addition to the path.

The cursor modes for map window have new shortcuts: Default = Shift-Space, Create Area = Shift-A, Create Line = Shift-L, Create Point = Shift-P, Draw Path = Shift-T, Edit Control Points = Shift-C.

The Select pane includes the new Spatial template for geometry values, to select records adjacent / contained / containing / intersecting / touching records from a different component, either all or selected. The template always uses multiple threads. (We will likely add the Resources combo in the future.)

Dataports

(Fix) RTREE index in LAS no longer sometimes returns points outside of the query rect if thinning is turned on.

(Fix) RTREE index in LAS no longer sometimes returns incorrect values for the identity field if thinning is turned on. (This was showing selected records incorrectly in a map window.)

LAS and LAS library no longer expose unscaled coordinate values. XYZ fields are now FLOAT64 and report scaled coordinate values. ScaledXYZ fields are removed.

LAS library automatically computes shifts and scales for the entire data set. If the files making up the library are in the same coordinate system and use the same scale, the library will use that scale, provided it is large enough to fit all data into the 32-bit integer range.

LAS and LAS library bind shifts and scales to the geometry field instead of to XYZ fields.

LAS library no longer opens all files on startup and instead only opens them as their data is requested. (Opening the drawing for all data exposed by the library and zooming to fit will eventually open all or most files, depending on how small their extents are. However, dropping the drawing into an existing map window that is already zoomed to the area of interest will behave very conservatively, saving quite a bit of time.)

Exporting a table to LAS takes coordinate data from the first geometry field. No other fields are required.

Exporting data to LAS supports exporting drawings.

Exporting data to LAS always produces LAS 1.4. (Previously, the export could produce LAS 1.1 / 1.2 / 1.3, depending on the fields available. This is much better handled by record types, so we now always export LAS 1.4 and select the shortest record type that can fit all of the available fields.)

Refreshing a LAS library updates the coordinate system, shifts and scales.

(Fix) Alt-clicking a record in a LAS library no longer fails (does not pick a record) for data in some files.

(Fix) Writing boolean values to PostgreSQL and Jet no longer sometimes fails.

(Fix) Creating a new table in a Jet database no longer sometimes alters the table name.

Jet XLS databases support boolean fields.

PostgreSQL, Jet DB / WKx / XLS, ADO.NET databases support UUID fields as a native UUID type. MySQL, SQLite, Oracle, DB/2 databases support UUID fields as a fixed-length string type.

MySQL databases support unsigned integer types.

OLE DB, ODBC, ADO.NET databases expose system tables.

Queries

New query function: TileMaskRange - makes pixels with values inside or outside of the range missing. Boundary values can be included or excluded.

TileToValues / X2 / X3 / X4 query functions take an additional parameter to include or exclude missing pixels from the output.

(Fix) TileViewshedTilesCount / Par query functions no longer sometimes produce incorrect results for more than 127 observers.

End of list.

Mike Pelletier


1,947 post(s)
#19-Apr-21 17:03

Looking good! Couple thoughts to consider.

- The new spatial tools in the select pane could be made much nicer with some options for the grey areas. For example, select parcels or roads within a jurisdiction. You might want to apply an inner or outer tolerance/buffer to account for inaccuracies of the drawings. Other times it would be nice to use "majority" to get the objects that are mostly in or out.

- Should a single drawing be allowed to be the source and overlay? For example, select all parcels that intersect another parcel as a way to find errors.

Dimitri


6,852 post(s)
#19-Apr-21 18:55

You might want to apply an inner or outer tolerance/buffer to account for inaccuracies of the drawings. Other times it would be nice to use "majority" to get the objects that are mostly in or out.

Use SQL for things like that, using techniques like in this example.

Should a single drawing be allowed to be the source and overlay? For example, select all parcels that intersect another parcel as a way to find errors.

Do that using the Join dialog, as discussed in this topic as an alternative to the Select pane spatial templates.

Here's one way:

1. Add a numeric field to the drawing's table called ObjCount (for object count) and fill it with 1 for all records.

2. Do a self-join, using the same drawing on both sides of the Join dialog. Choose, say, "touching" as the join criterion.

3. Have ObjCount on the right side feed the ObjCount field on the left side, using "count" as the aggregation method.

Do the join. In the result, wherever ObjCount is greater than 1, you have objects in the same drawing that are touching.

adamw


9,773 post(s)
#20-Apr-21 08:31

Both good suggestions, thanks.

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