I just watched your video, great to see. However, because of the resolution of the video it's hard to see many parts. Regardless of this, I'm a beginner to Manifold SQL9, so I am wondering how I can take my a complex country polygon and create multi-ring non-overlapping buffers to it at the following distances: (500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000, 7500, 8000, 8500, 9000, 9500, 10000)? Distances are in meters. I like the little 0.1 interval at the start so that when you have the tolerance of 1, that it wipes away the 0-0.1 buffer completely. I tried to use the buffer transform and modify it at least generate the buffers before removing the overlap, but I get a cannot parse query statement. I know I jumped into the middle with this, trying to use an example of someone's code to apply it to my data, but I figured it was worth a shot. Below is the code I tried to write in the command window:
The source for the data is still in an Esri File GeoDatabase.
-- Transform - Buffer - updateField
PRAGMA ( ' progress.percentnext ' = ' 100 ' ) ;
SELECT [OBJECTID] ,
[shape ] ,
GeomBuffer( [shape ], result, O) AS gl, result AS bufdist
FROM [Esri_2018_2019_General_File_GeoDatabase] :[AC_lM_Bndry_NWT_onlyDiss_NoEskLak_NoHrbrEntr_Is_union2_Dissolved2Drawing] , (VALUES (0.1), (500), (1000), (1500), (2000), (2500), (3000), (3500), (4000), (4500), (5000), (5500), (6000), (6500), (7000), (7500), (8000), (8500), (9000), (9500), (10000));
THREADS systemcpucount ()
) SET [shape] = [n_shape] ;
It's quite likely I'm light years away from getting this right, but since you made a nice video for this, I was wondering if you can point out where I went wrong and what I might need to do to get it right?
The reason for my attempt at this is to assess the time it takes to do these multi-ring buffers in Manifold 9 vs. ArcGIS Desktop 10.5.1 vs. ArcGIS Pro 2.2.2. I already suspect who the winner is. I just like hard data.
I think a great modification to the Buffer transform would be an option for adding rows in the transform for the buffer distances, with a radio or checkbox for internal or external or both. This would take care of all the stuff you've written in SQL, would it not?