This is an old version of LandSerf. For the latest release please visit www.landserf.org
LandSerf 2.2: Changes Since 2.1
New Functionality
- Improved USGS import can now read 1 degree (3 arc-second resolution) DEMs in addition to 7.5 minute resolution.
- Improved robustness of NTF vector reader. Now reads Ordnance Survey Profile contour files in addition to other NTF data.
- Can now read terragen .ter files and improved terragen export that clips/pads to the nearest 2^n+1 pixels.
- Can now read GTOPO30 files without need for manual conversion.
- Can now read SRTM30Plus files (1km resolution global DEM and bathymetry).
- Fractal dimension and log-log variogram added to statistical summary.
- Shapefile import now reads full set of attributes, not just IDs. Improved handling of shapefiles with large numbers of parts in single line/polygon.
- TIFF import can now read in a much wider range of files including PackBits compressed images, GeoTIFFs, little-endian images.
- Process intensive operations can now be paused or cancelled by clicking on the progress bar. TIN creation can saved when partially completed.
- Interactive query of vector objects now graphically highlights selected vector.
- The surface profile tool can now display profiles along an interactively selected vector object.
- Projection information now transferred to new spatial objects when combining primary and secondary objects that use the same projection.
- Vector digitizing now has an 'auto increment' facility making it easier to add a sequence of points. Improved visual feedback while digitizing.
- New vertical exaggeration option added to shaded relief calculation (useful for low relief surfaces).
- Image output now creates an image of entire selected spatial objects at full resolution, not just a 'screen dump' of current zoomed view.
- MacOSX version can now use native 'Aqua' look and feel.
- Improved flexibility in creating text attributes from the attribute table window.
- Numerous minor improvements in the GUI
Bug Fixes
- Improved efficiency of vector display and remove flicker when overlaying vector on raster in 3d viewer. New vector depth options in 3d viewer.
- 3d viewer now correctly calculates surface height at triangle vertices.
- Reprojection now correctly transforms from UTM to lat/long in the southern hemisphere.
- Reprojection of rasters now provide better estimate of new corner coordinates for trapezoidal reprojections.
- Summary statistics now deal more elegantly with a out of memory error (only affects large rasters with high precision variation).
- Improved reliability of vector clipping (subset) for lines that intersect with clipping area.
- Removed bug where editing rasters and vectors can create duplicate 'hidden' copies of original unedited spatial objects. Edited object now moved to end of thumbnail list.
- Graph axes now use better selection of rounded labels.
- .srf and .vec files formats are no longer dependent on Java version.
- Removed bug whereby creating new vector without attribute table caused a null pointer exception if vector display set to display labels.
- Removed 99 cell maximum window size for multi-scale query. Corrected bug that generated error when performing multi-scale query of rasters with irregular null values.
- Removed bug that sometimes prevented point density calculation from being selected from menu.
- Help files now display in browser on MacOSX and Linux.
- Keyboard shortcuts on MacOSX now accessible via standard command key.
- Removed bug where some floating point numbers displayed with minor precision rounding errors in attribute table window.
- Numerous other minor bug fixes and improvements in error reporting.
API Changes/Enhancements (for Programmers)
- Added simple .prj (projection file) reading method to
BinRasterIO
.
- Added linear trendline option to scatterplot display API.
- Updated
JWPriorityQueue
to sort elements (if possible) as well as by priority.
- Added a dBase II reader to the
utils
package (useful for shapefile import).
- Exposed collection of rasters/vectors stored in a
GISFrame
via new interface methods getRasterMaps()
/ getVectorMaps()
(allows non-primary/secondary spatial objects to be retrieved).
- Updated API documentation to make the use of LSThread classes clearer.
- Added accessor methods for spatial objects created in processing classes without the need to retrieve via a GISFrame.
- Modified
LSThread
so that if doProcessing()
is called directly (ie not through the threaded run()
method), messages are still displayed to standard error output.
- Updated
SimpleGISFrame
to expose collection of all objects added to frame.
- Updated
GUIFrame
to ensure that setRaster
/ setVectorMap
methods set object to one not already added, it is added to the collection.
- Added methods for non-recursive search of XML DOMs in the
utils
package.
checkStoppedThread()
added to LSThread
to allow processes to be interrupted cleanly.
- Improved parsing of HTML/XHTML by
ImprovedHTMLKit
in the utils
package. Now parses XHTML tags and can produce an error log of problems with validation.
- Added
makeTippedTextField()
to the ComponentFactory
to allow the contents of text fields to be displayed in their own tooltip.
- Changed
AttributeTable
from inheriting the Swing class AbstractTableModel
to composing it. Made the composed object transient so that changes in Java version do not compromise serialization.
- 3d viewer now uses Jogl 1.1 b10 with improved stability for ATI graphics cards.
- Numerous minor improvements to API documentation.
Earlier Changes