Subscribe to this thread
Home - General / All posts - some basic analytical functions still necessary

3,060 post(s)
#28-May-18 03:41

As a lot of you know, I have been writing a series of workbooks starting with How do I do that with ...

I've done it with Manifold 6.5, ArcGIS, Manifold SQL, PostGIS, Arcpy, and Spatialite. These are great books because they not only show how to do something but gives a user confidence of whether a particular product can check the boxes on those classic USGS GIS functions.

I'm finishing up a workbook called How do I do that in Manifold 9 SQL. However, I still feel there are some critical functions that are still not in Manifold 9, namely:

1. Find intersection points for areas or lines (like Intersection Point in 8).

2. Creating areas from spaghetti lines (like bounded areas in 8).

3. Convert vector to raster (I can do raster to vector, but not vector to raster).

5. Modify cell size.

6. Change values of raster pixels based on vector objects that overlay them.

7. Any kind of Kriging or IDW.

8. Raster operations on two images (i.e. add, multiply, etc.)

9. Obtain the sum of pixel values in a kernel (we can use TileMin, TileMax, but there doesn't seem to be a way to obtain the sum or average of the kernel).

144 post(s)
#28-May-18 05:21

my vote would be for kriging / IDW to figure local areas containing points with similarity on a variable that extends outward beyond what would be expected from them being nearby to each other (spatial autocorrelation). Most often happens in my line of work when you do a linear regression with variables measured over a large geographic area and you have each data point geolocated. The regression generates a predicted value for each data point and the difference between it and the actual value (residual) as well as other useful measures. The next step is qualitative, get a layer of areas over which the regression does not work in similar ways to compare with other layers offering potential explanations for why it does not work in those areas. The Manifold 8 surface tools paste drawing to surface dialogue produces this in such a more straightforward way than other programs but it is glacially slow over areas of sample size/point density needed.


Rakau57 post(s)
#28-May-18 05:53

Number 2 would be on top of my list

also, Create parallel lines with variable offset

manipulate raster channels (such as NDVI)


7,948 post(s)
#28-May-18 09:38

If you have an image with near-infrared and red already separated (say, channel 0 = NIR and channel 1 = R), then you can do NDVI by creating a single-channel image and then running a simple query:


INSERT INTO [ndvi] ([x][y][tile])

SELECT [x][y],

  (TileChannel([tile], 0) + TileChannel([tile], 1)) / -- NIR+R /

  (TileChannel([tile], 0) - TileChannel([tile], 1))   -- NIR-R

FROM [image];

We agree this should be made a standard transform, we will add it.


7,948 post(s)
#28-May-18 09:26

You can do 5 using Merge Images. Open the image, Edit - Merge - Merge Images. Click the picker button for the coordinate system, select Edit Coordinate System. Click the picker button for metrics, select Edit Metrics. Set local scale X / Y to the values you want, eg, switch from 5x5 m to 2x2 m. Ignore local offsets, the system will adjust them during the merge as necessary. Click OK to accept changes to metrics, click OK to accept changes to the coordinate system, click Merge Components. This will produce a new image with different pixel size. We agree we should have something more straightforward and we will perhaps provide this, but in the meantime, you can just use Merge Images and it should work.

You can do 8 but only if you project images to the exact same coordinate system beforehand. Agree there should be transforms reprojecting data on the fly.

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