This is an old version of LandSerf. For the latest release please visit www.landserf.org
LandSerf 2.1: Changes Since 2.0
New Functionality
- Can now take snapshots or animation sequences from 3d viewer. Can save files in .bmp as well as .jpg, .png and .gif formats.
- Map projection metadata now stored with spatial objects and can be edited from the Edit window. Can project between lat/long, OSGB, UTM and Swiss National Grid.
- Raster statistical summary data can now be calculated and viewed from the
Info
menu.
rand
(uniform random deviate from 0-1) and gauss
(normal random deviate with mean of 0 and variance of 1) options can now be used in the polynomial expression parser.
- Garmin GPS data can now be imported and exported directly from/to the GPS unit. Includes waypoints, tracks and routes as well as x,y,z position/time output of tracks.
- SRTM data can now be imported.
- Voids can be removed from any raster (especially useful for SRTM data).
- Primary and secondary vector maps can now be selected as they can for rasters. Primary and secondary vector maps can now be combined or overlaid to build up tiled vector maps. GUI now indicates vector map thumbnails with a 'V' symbol.
- Generic vector output now includes all attributes if stored in attribute table (previously only ID was included).
- Vector points can now display labels.
- Creating new vector map now uses default bounds of raster if it exists (useful for digitizing).
- Arbitrary collections of points can now be triangulated to form TINs.
- Can now output Terragen .ter files preserving original DEM dimensions.
- Added enhanced peak classification including summit location/drop/elevation, peak hierarchy detection and fuzzy peak classification.
- Attribute names can now be edited by double-clicking the header in the Attribute table window.
- Numerous minor improvements to the Graphical User Interface.
Bug Fixes
- Display of raster maps now more efficient by avoiding unnecessary redrawing. For combined raster and vector display, rendering speed is typically 10-100x faster.
- OpenGL interface for 3d view uses latest drivers for improved stability across platforms. Surface colours 3d view no longer corrupted in MacOSX version.
- Vector areas now displayed as closed polygons in 3d viewer.
- ArcGIS and GRASS raster export now assign null value codes correctly.
- ArcGIS text raster import now imports files with more than 4096 characters.
- Improved formatting of decimal numbers in info window, colour bars and graphs' axes.
- NTF surface import now calculates minimum and maximum values correctly.
- Improved accuracy of lat/long to OSGB projection by reprojecting between WGS84 and Airy 1830 ellipsoids.
- Spatial objects with only one attribute can now have their colour tables edited.
- Vector to raster conversion now uses attribute table, if available, when assigning attribute values.
- Selecting a new attribute in an attribute table now automatically updates minimum and maximum values.
- Disabling slider bars programmatically now disables slider's numeric labels.
- Vector query now more sensitive to mouse position and responds to zoomed scale more reliably.
- Graphical selection of raster subset when editing raster now rounds bounds to nearest raster coordinates.
- If generic vector text reading fails, more diagnostic feedback is provided.
- Vector to raster conversion no longer fails if origin of local vector has a negative x value.
- Peak contributing area no longer 'overshoots' edge on steep ground.
- Command-line startup with 'relief' setting now displays shaded relief correctly.
- All vector maps generated by LandSerf have a non-zero width and height, even if containing a single point.
- Reporting of metric surface networks that contain no passes (ie empty), no longer generates an error.
- Attribute tables with columns containing mixture of numbers and text no longer generates an error.
API Changes (for Programmers)
- Added new
ImageHandler
interface for more object-oriented image file saving.
- Added HTML capable text area to the
ComponentFactory
.
closedown()
in JWDialogue
is no longer final
. This allows more sophisticated shut down operations to be included on GUI exit.
SpatialObject
now implements inherited abstract methods to tidy up class design.
- A
GISFrameAdapter
, SimpleGISFrame
and empty constructor for GraphicsArea
can now be used for simpler creation of custom GUIs. Primary and secondary raster maps and vector maps can now be directly added to GraphicsArea
.
VectorMap
and RasterMap
have their own readFile()
methods as a convenient alternative to the LandSerfIO
factory methods.
VectorMap
and RasterMap
are now Cloneable
.
GISVector
now has intersecting object overlay method. Renamed findIntersections()
to findLineIntersections()
.
- Improved efficiency of summit calculation.
SurfaceRenderer
now exposed for programmatic control of 3d view.
- Added editable column header classes to the utilities package.
GISFrame
interface (and its implementations) now have an isExperimental()
method that allows new experimental functionality to be identified and therefore exposed/hidden.
redisplay()
method of GISFrame
and its implementations now takes a parameter doRecalc
that allows computationally expensive operations to be selectively executed when redisplaying GUI.