ILWIS has I believe 200+ distinct operations, quite a number of them are actually containers for a whole bunch of tightly related similar operations. For example MapFilter which is actually a collection several dozen seperate filter operations. So how many operations does ILWIS “realy” contain? I don’t know, it depends, as I have shown above, on how you count; quite a lot I suppose.
Many operations have existed since a long time and are well known to the ILWIS users. Still, new applications are being created and because for the moment the help files aren’t being updated ( can’t do everything by myself) they tend to hide in the shadows apart for the few users that have requested them. I was remembered of that when last week a colleague of my explained a complicated procedure to extract contour lines from a value map. So I thought it might be usefull to introduce two of them.
Hidden in a corner of the SMCE was an operation with the rather opaque name SegmentMapFromRasValueBnd. Hardly anybody knew of it and it was not reachable from outside the SMCE. Basically it created an iso line map for certain value maps. The algorithm was based on the raster to polygon code but was somewhat limited and inflexible. So I lifted to code from the SMCE, moved it to the Segment application, adapted it and retained its horrible name (will rename it one of these days to something more descriptive lile SegmentMapIsolines).
The application calculates a segment map from a raster map with iso lines at defined intervals. There are two variants. One that calculates iso lines in a linear way. From a begin point to and end point with a set interval. The other lets the user define its intervals in a list like “500,1000,2000,3500” for example. So the intervals are totally under the users control. The application form looks like
The only option I think I want to add to the application is to define a minimum length of an Iso line ( in percentage??) to remove clutter and noise.
It’s a nice little application but a bit hidden.
Change detection is whole field of study unto it self and I don’t claim that this application “solves” it. It simply calculates differences between maplists( domain value) and some other data source. It will always generate another maplist which contains the difference maps. It has three cases
- Difference between one maplist and another maplist (equal lenght ofc). For example the ndvi values of one month in one year and the same month the next year.
- Difference between one maplist and a base line (reference) map. For example temperature variations over a year with respect to the average yearly temperatures for a region.
- Changes within the maplist to observe the actual change over a period.
- Threshold. Delta’s below this level are considered no change. This removes the clutter of a lot of micro changes.
- Handling of undefs. Basically any difference between an undef and some value is of course undefined. But this is sometimes unwanted. The user has the option to consider undefined differences as being difference with a delta of zero.