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


8,650 post(s)
#22-Jun-19 17:34

9.0.169.4

Here is a new build.

manifold-9.0.169.4-x64.zip

SHA256: cbd45cf6c3dabb65a6ca712553427e62067bc5983d4496478237cff30fb1c69c

manifold-viewer-9.0.169.4-x64.zip

SHA256: fd8f2d7ca9a26116e49fc01baf4cfbcf6fd8974431a45674562919a3559c8f03

adamw


8,650 post(s)
#22-Jun-19 17:34

Changes

New query functions:

  • TileFillSinks / TileFillSinksPar - takes an image, the fill height value, the minimum flow value, returns an image with filled sinks. (If both fill height and minimum flow are negative or zero, the image is left unchanged. If fill height is positive and minimum flow is negative or zero, sinks are filled based solely on height. If fill height is negative or zero and minimum flow is positive, sinks are filled based solely on flow = area. If both fill height and minimum flow are positive, sinks are filled based on both height and flow.) TileFillSinksPar is a parallel variant, takes thread configuration as an extra parameter.
  • TileFlowDirAccum / TileFlowDirAccumPar - takes an image, computes flow direction and accumulation and returns the result as a dual image (table with fields for X, Y, FlowDir, FlowAccum). Flow direction is returned as INT8, 0 corresponds to 'up', 1-2-3-4-5-6-7 proceed clockwise. Flow accumulation is returned as FLOAT64. TileFlowDirAccumPar is a parallel variant, takes thread configuration as an extra parameter.
  • TileWatershedLinesDownstream / TileWatershedLinesDownstreamPar - takes an image and a drawing of points, returns downstream watershed lines for each point. TileWatershedLinesDownstreamPar is a parallel variant, takes thread configuration as an extra parameter.
  • TileWatershedLineDownstream / TileWatershedLineDownstreamPar - takes an image and a coordinate, returns downstream watershed line for the coordinate. TileWatershedLineUpstreamPar is a parallel variant, takes thread configuration as an extra parameter.

New transforms: Fill Sinks, Watershed Areas Upstream, Watershed Lines Downstream, Watershed Lines Upstream.

TileWatershedAreasSinks / TileWatershedAreasSinksPar query functions take an additional boolean parameter that specifies whether to keep (true) or discard (false) areas that flow out of the image.

(Fix) Computing watershed areas for sinks no longer sometimes fails and returns nothing.

(Fix) Picking or selecting tiles in images with YX coordinate system no longer picks or selects wrong data.

(Fix) Rendering selection for images starting not at [0, 0] no longer sometimes produces incorrect data.

ECWP / web CSV and similar web dataports which produce a single image, drawing or table compose component names from URL object name. Extensions are cut ('data.php' becomes 'data'), parameters are cut ('data?...' becomes 'data'), etc.

(Fix) CSV dataport no longer fails to apply custom decimal separators.

CSV dataport uses all UI languages (listed in Help - About) when recognizing date values. (Currently, a single language that was determined to be the best match globally is used for dates in all fields. We will change the logic to let different fields use different languages.)

End of list.

adamw


8,650 post(s)
#22-Jun-19 17:35

Quick performance figures.

Test 1. 1200 x 1200 image, filling sinks (8 fills all sinks completely, this is equivalent to setting fill height in 9 to the value that exceeds image height range).

8.0.30: 1053 sec

9.0.169.4, single thread: 24.312 sec

9.0.169.4, multiple threads (8 CPUs): 20.602 sec

(If sinks did not have to be filled completely, multiple threads would have helped more.)

Test 2. 1200 x 1200 image, computing watershed areas (slight improvement compared to 169.3, reported for completeness)

8.0.30: 672 sec

9.0.169.4, single thread: 10.911 sec

9.0.169.4, multiple threads (8 CPUs): 5.336 sec

tjhb

8,846 post(s)
online
#22-Jun-19 20:44

Worth getting up early for on the shortest Sunday of the year. (Lit the fire at the farm at 4:30.)

atrushwo46 post(s)
#27-Jun-19 15:36

Not much action on this thread and I'm not sure why. I have been waiting for years for tools released as part of this update. I have not been disappointed either. I ran the new fill sinks command on a 1m raster, approximately 31 x 41 kms, roughly 1.3B pixels. The analysis successfully finished after approximately 26 hours. The resulting surface is allowing me to deliver a state of the art GIS product to my clients who previously believed that the raster was too large to work with. I want to commend everyone for a job well done and look forward to new features and functionality.

My only question is if it is possible to delineate upstream watershed areas around points but not return overlapping areas. The tool released as part of 9.0.169.4 include overlapping areas whereas Manifold 8 did not include overlapping areas. Exclusion of overlapping areas is important for hydraulic analysis in other software. I believe that both tools would be useful and feel that the SQL to remove the overlapping areas may prove problematic to more people than just me.

adamw


8,650 post(s)
#27-Jun-19 17:02

Thank you. :-)

Yes, it is possible to resolve overlaps when composing multiple upstream watershed areas - we have been considering adding this as an option. That is, if there are two points A and B, and a watershed for A includes B, right now we return a big area WA for A and a smaller area WB contained within WA for B, and with the option to resolve overlaps, for B we would still return WB, but for A we would return WA-WB. (There are some consequences to keep in mind in that if there are two points which coincide or are close enough to fall into the same pixel on the raster, then we will only return an area for one of them, but that's perhaps already expected.) We'll try to add such an option.

atrushwo46 post(s)
#27-Jun-19 17:57

Fantastic. This feature would be extremely valuable to us.

dchall8
631 post(s)
#28-Jun-19 15:28

All this looks like great fodder for a video demonstration.

adamw


8,650 post(s)
#01-Jul-19 13:46

Status: we expect to issue the next build somewhere near the end of this week. The bulk of the build is changes and additions to the UI, but we'll likely have some additions for analysis as well.

adamw


8,650 post(s)
#10-Jul-19 09:25

Status update: we are going to take some additional time for the build to integrate an analysis feature we have been working on in background. We expect to issue the build either at the end of this week or in the very beginning of the next week. The build is going to have additions to analysis and a fairly extensive set of changes and additions to the UI.

adamw


8,650 post(s)
#17-Jul-19 14:14

Status update: we have been fighting a threading issue in the UI (map window) that was uncovered by our additions. The issue was pretty involved and there was an additional difficulty in that it was happening on a critical path executed frequently, so the fix had to work hard to avoid making things slower. We ended up making multiple changes and in the end instead of potentially losing performance, we actually gained a little. :-) We are finishing the last of these changes now. Barring unforeseen circumstances, the build will go out tomorrow.

tjhb

8,846 post(s)
online
#17-Jul-19 15:18

You probably know, but this kind of commentary/explanation is worth gold and very rare, part of Manifold's DNA perhaps but never taken for granted, very much appreciated. (And also interesting.) Thanks.

Mike Pelletier


1,618 post(s)
#17-Jul-19 16:30

Agreed. It's great that Adam and Dimitri are willing to share and speculate on stuff, knowing some people might give them grief about it later. The time involved when committing to software like Mfd is significant and so it's great to know what is going on to the extent possible, realizing that plans change and nothing is final. Thanks!

KlausDE

6,343 post(s)
#05-Jul-19 16:44

German UI file for Mfd-9.0.169.5

Attachments:
ui.de.txt

adamw


8,650 post(s)
#08-Jul-19 10:20

For .5 ? Wow. We don't have it yet. :-)

Also, wanted to say this for some time - thanks a lot for those localization files! German is really impressive as regards the average word length, it makes for great test cases.

KlausDE

6,343 post(s)
#08-Jul-19 16:01

And I already dropped many articels

The german speaking community can perhaps discuss some shortcuts and is appealed to suggest improvments anyway.

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