LandSerf 2.3: Changes Since 2.3 Preview
- Added US Albers equal area projections, both conterminous and all states versions.
- Colour table files can now indicate 'raw' colour values.
- Added load/save option to vector appearance box.
- Pit removal now has choice of pit flooding or outflow channelling.
- Non-rasterized flow magnitude calculation with optional flow vectors now available.
draw() can now draw both primary and secondary vector maps rather than just a single vector map.
vectorstyle() as a LandScript command for setting vector drawing styles for the LandScript
- Added vector map algebra processing to LandScript.
- Added multiscale option to LandScript
compare() function to LandScript for string comparison and matching.
- LandScript map algebra now uses active attribute in attribute tables if present.
noTable option to the LandScript
edit() command for removing attribute tables from spatial objects.
- Added ability for LandScript to save colour tables and attribute tables.
- Enhanced the LandScript
echo() command to allow writing to a text file and with newline and tab control characters.
freqdist() command to LandScript to allow frequency and hammock distributions to be output.
peakclass() command to LandScript to allow peak classification.
substring() LandScript functions.
version() can now display more detailed information about the version of LandScript and Java VM.
ifelse() function can now return values of any type.
User interface changes
- LandScript editor now fully exits the application if called directly and only prompts for closing if there are unsaved edits.
- LandScript editor now highlights variables that use the underscore modifier.
- Appearance of text, including option to size text, now improved in LandScript editor.
- Calls to the GUI version of the LandScript engine without specifying initial data now results in simple header being inserted into blank script.
- Graphics now scale to vector map only if raster is selected but not displayed.
- Vector appearance now remembers boundary colour when no boundary is set.
- Improved speed and quality of vector thumbnail drawing.
- Vector display no longer displays labels (or symbols) for any object with a
- Console now appears to the right of the main LandSerf window and can be toggled on and off with the ctrl/cmd-K key.
- Numerous minor changes to improve consistency of GUI.
- Corrected bug that would sometimes mis-transform vector polygons after repeated redrawing.
- Corrected bug that prevented Albers to lat/long transformation from working correctly.
- SVG output can now draw labels.
- SVG output now respects all vector drawing styles with the exception of 'surround lines' and fixed line/point (which has no meaning for non-zooming output).
- Corrected bug in attribute table that could sometimes fail to validate columns with mixed numeric and text values.
- Corrected bug in shapefile writer that would fail if attribute table not valid.
- Corrected bug in Shapefile writer that would sometimes give incorrect file size in header for area and polyline objects.
- Improved KML export to account for polygons with multiple exterior rings.
- Improved robustness of GPX reader to allow elements with missing attributes to be processed.
- Removed bug in shapefile writing of polygons with multiple parts and improved error reporting of shapefile import.
- Saving a graphics image no longer produces error if vectors only are in display.
- Corrected bug that prevented generic point files being read in LandScript.
- Corrected bug that could sometimes result in rounding errors when calculating standard deviation in multiscale parameter selection.
- Corrected bug in multiscale parameter calculation that failed to provide min/max values for feature types, residuals and fractal dimension if selected.
- Corrected bug in LandScript
surfparm() which assumed radians rather than degrees for slope tolerance.
- Corrected bug in LandScript where a change in contents of a scalar variable to a spatial object generated an error.
- Corrected LandScript bug that reset evaluation stack when function arguments contained other function calls. This was only a problem when the argument was not the first in a function call.
- Non-jpeg image files now represent null value as transparent pixels.
- Corrected bug that sometimes did not rasterize points when converting from vector to raster.
- Corrected bug in FrenchNTF projection that used wrong ellipsoid for longitude projection.
- Corrected bug where min/max vector values could be
NO_VALUE if first point was null.
- Added help for 'function', 'clear', 'if' and 'while' in LandScript.
- Corrected bug where clicking on an existing vector while rectifying resets the control point display styles.
- Improved ridge traversal for peak classification to use shortest path where two paths have same height change.
- Removed bug whereby projection information was lost when creating pitless surfaces.
- Pit removal now accounts for null borders around rasters.
- Error reporting improved providing more detail.
API changes/enhancements (for programmers)
DOMProcessor to allow breadth-first searches of a DOM tree and
for renaming tags.
- Numerous minor improvements to API documentation.
nearestPoint() method to
Segment class for calculating nearest point between segment and an arbitrary 2d point.
- Refactored vector display preferences to use a single class that encapsulates rendering styles. Note API change now forces this new
VectorStyles class to be used rather than setting/getting individual styles in
- Exposed scripting classes used by
getSummarySurf2() to reflect the fact that they could also return min/max surfaces.
- Used latest Jogl 1.1.1 libraries (May 2008) and changed 3d viewer to use a lightweight
GLJPanel rather than heavyweight
GLJCanvas. This now works with Java 6. Reintroduced multi-texture rendering to provide compatibility with older OpenGL drivers.
GISVector to account for multi-part polygons.
- Moved Alloy look and feel settings to separate class to allow decoupling of the LandSerf class from its look and feel.