New features in GRASS 5.x - Developers notes

[$Id$]

On this page you find latest development news concerning GRASS GIS 5.
You can find descriptions about new features from version upgrades.
Many thanks to all contributors!

[The current development version is available at CVS server]

What's new in GRASS 5 beta9 comparing to beta8

[GRASS 5.0 beta9 released 6 December 2000]

User's convenience

  • New graphical startup for existing locations (the full graphical startup is scheduled for GRASS 5.1) with error checks (Justin Hickey)
  • Added one line description for "-help" parameter to describe purpose of each module (Jan Wagner and others, not yet finished)
  • Modules fixed/updated (major changes only)
  • d.dm: added raster legend, paint labels, monitor auto start (Radim Blazek)
  • d.extend: added to set window region from currently displayed raster, vector and sites maps with largest map region (Huidae Cho)
  • d.his: mask sensitive now (Huidae Cho)
  • d.mon: fixed -L parameter (Eric G . Miller)
  • d.legend: -n option fixed for null suppression (Huidae Cho)
  • d.pan: auto-redraw for raster, vector, sites maps (Huidae Cho)
  • d.rast.edit: fixed grid color menu, now convenient two mouse clicking (Huidae Cho)
  • d.rast.pg: added labels with reclass (for float reclass through r.mapcalc) (Alex Shevlakov)
  • d.profile: fixed for FP maps, added optional file output (Huidae Cho/Eric G. Miller)
  • d.save: fixed (Huidae Cho)
  • d.site.labels: updated, includes d.sites.label now (Eric G . Miller)
  • d.what.rast: added support for multiple raster maps on current window (Huidae Cho)
  • d.what.sites: -1 flag and -t flag for terse output added (Andreas Lange)
  • d.what.vect: fixed output to stdout and stderr on redirection (Andreas Lange)
  • d.zoom: auto-redraw for raster, vector, sites maps (Huidae Cho, Markus Neteler)
  • g.html2man: prepared to build MAN pages from HTML (Michel Wurtz)
  • g.manual: bug fixed, optionally supports HTML browsers now (Huidae Cho)
  • g.region sites= bugfixed (Huidae Cho), added output of ellipsoid and map datum in interactive and comandline version (Andreas Lange)
  • g.setproj: preliminary map datum support added (Andreas Lange)
  • i.grey.scale: new parser command line version instead of interactive version (Andreas Lange)
  • i.ortho.photo: updated to support FP elevation maps (Huidae Cho)
  • i.smap: fixed to write correct file and on NULL (Roger Miller)
  • m.datum.shift: adapted to new datum library support (Andreas Lange)
  • ps.map: bugfix due to wrong module call (Markus Neteler)
  • r.binfer: bugfixed (David D. Gray)
  • r.random: bugfix and improved (Eric G. Miller)
  • r.flow: fixed floating point exception (Huidae Cho)
  • r.in.bin: many new features and formats supports (Bob Covill)
  • r.in.gdal: added - might become general raster import module, see supported formats at GDAL (Frank Warmerdam), support for complex SAR images (Stefano Merler)
  • r.in.gridatb: added, imports GRIDATB map file (Huidae Cho/Keith Beven)
  • r.in.tiff/r.out.tiff: bugfix, added .tfw support (Eric G. Miller)
  • r.in.utm: bugfix (Andreas Lange)
  • r.hydro.CASC2D: added new flags (Huidae Cho)
  • r.mapcalc: bugfix for map=-129 results in NULL (Huidae Cho), changed return value in case of wrong statement (Andreas Lange)
  • r3.mapcalc: bugfix on region error (Jaro Hofierka)
  • r.out.bin: added to export GMT/BIL/... formats (Bob Covill)
  • r.out.gridatb: added, exports GRIDATB map file (Huidae Cho/Keith Beven)
  • r.out.png: fixed for compression of png images created (Andreas Lange)
  • r.patch: -z flag allows additionally to use 0 for transparency instead of NULL (Markus Neteler/Huidae Cho/Alex Shevlakov)
  • r.proj: heavily improved, transforms map portions now (Morten Hulden)
  • r.surf.area: updated to work with FP rasters, skipping NULL cells (Eric G. Miller)
  • r.topidx: added, creates topographic index, ln(a/tan(beta)), map from elevation map (Huidae Cho/Keith Beven)
  • r.topmodel: added, physically based hydrologic model (Huidae Cho/Keith Beven)
  • r3.showdspf(.opengl): bugfix on dsp files/mapsets (Beverly Wallace)
  • s.datum.shift: datum shift software (Andreas Lange)
  • s.in.ascii: fixed parsing problem when no category or other attributes are specified (just dimensions) (Eric G. Miller)
  • s.in.atkisdgm: import bugfix (Otto Dassau/Markus Neteler)
  • s.in.atkisktb: added (for German DEM data) (Otto Dassau/Markus Neteler)
  • s.in.mif: added to import MapInfo MIF/MID pair (David D. Gray)
  • s.to.rast: bugfix to convert x, y, double lists properly (Eric G. Miller)
  • s.to.vect: bugfix to convert x, y, double lists properly (Eric G. Miller)
  • s.sample: fixed and updated (Eric G. Miller)
  • s.surf.krig: bugfixed and improved (David D. Gray)
  • s.vol.idw: added attribute field selection (Markus Neteler)
  • s.windavg: added, averages an attribute of for all the sites within each cell (J. D. McCauley/ Eric G. Miller)
  • v.clean: bugfixed (David D. Gray)
  • v.digit: panning on-the-fly implemented to ease digitizing of long vectors, added "Show unlabeled lines" into Window menu, added text labelling, modified "Label/UnLabel Multiple Lines" menu to click once only to perform (Huidae Cho)
  • v.in.mif: added to read MapInfo vector files (David D. Gray)
  • v.in.shape: bugfix for DBF data types and snap distances (David D. Gray)
  • v.mkgrid: cat labels added (Radim Blazek)
  • v.surf.rst: fixed incorrect elevations calculation (Helena Mitasova)

  • tcltkgrass: independent of installed tcl/tk version (Markus Neteler)
  • tcltkgrass: reads configuration for fonts, projections, ellipsoids, datums, digitizers etc. on startup from GRASS etc directory, new GRASS about window in tcl/tk (Andreas Lange)
  • Graphical startup of GRASS for existing locations (Justin Hickey)
  • XDRIVER: new icon with GRASS logo (Andreas Lange)

  • NVIZ:
  • writes image dumps in PPM/SGI/TIFF format now (Bob Covill)
  • auto-redraw (Bob Covill)
  • color bug fixed for surface in lat/long projection (Bob Covill)
  • local configure replaced by global configure (Huidae Cho)
  • updated to tcl/tk8.3 libs (Huidae Cho, Justin Hickey, Eric G Miller)
  • Source Code
  • libraries:
  • new library "gmath": wrapper to support LAPACK/BLAS routines and to provide stable numerical algorithm for GRASS modules (David D. Gray)
  • datum shift support: new CoordConv library (Andreas Lange)
  • "libgrass": a new GRASS I/O library is under development (Frank Warmerdam)
  • new G_readsites_xyz() function to read sites (Eric G. Miller)
  • XML output with "--interface-description" parameter (Jan-Oliver Wagner)
  • Simple automatic GUI builder based on GRASS and python (Jan-Oliver Wagner)
  • other:
  • rewritten "configure.in" for autoconf, updated configure (Eric G. Miller)
  • GRASS testsuite added: to run on source code with "make check" (Andreas Lange)
  • grass5install.sh: heavily updated (Justin Hickey)
  • projections: added false easting/false northing to aea:Albers Equal Area projection (Eric G. Miller/Morten Hulden)
  • man pages are generated from HTML pages now (Michel Wurtz)
  • added GRASS_environment variables to control settings (Huidae Cho)
  • Portability:
  • running on Mac OS X now (developers)
  • updated to compile on CRAY T3E (Justin Hickey, Markus Neteler, Bill Brown, David D. Gray )
  • improved WINDOWS/NT portability (John Huddleston)
  • compilable on CRAY now (Justin Hickey, Bill Brown, Markus Neteler)
  • multiple architectures supported during compilation from same source code (Beverly Wallace, Markus Neteler)
  • Removed code (functionality merged into other modules):
  • d.rast.zoom, d.vect.zoom: replaced by d.zoom
  • r.in.arctiff, r.out.arctiff, r.out.geotiff: replaced by r.in.tiff/r.out.tiff
  • m.in.pl94.db3, m.in.stf1.db3

  • What's new in GRASS 5 beta8 comparing to beta7

    [GRASS 5 beta8 released 26 July 2000]

    Modules

  • d.dm: added, new display manager (replaces d.display) (Radim Blazek)
  • d.what.db added: view/edit DB sites attributes (Radim Blazek)
  • g.version: fixed (Andreas Lange)
  • i.colors: automated refresh added (Markus Neteler)
  • i.points3: small fix, better than i.points
  • ps.map: old version replaced by ps.map.new (Radim Blazek)
  • r.agnps.*: updated to make it work within GRASS 5 (Markus Neteler)
  • r.cn, r.cn2: updated (Markus Neteler, John Huddleston)
  • r.cost: accepts sites files as start and stop points (Pierre de Mouveaux)
  • r.drain: corrected lat-lon projection issues, 3 selectable output modes (Pierre de Mouveaux)
  • r.in.globedem added for importing GLOBE DEM data (Markus Neteler)
  • r.in.dem added to read USGS DEMs (Eric Buddington)
  • r.in.globedem: added, script to import GLOBE DEM from NOAA (Markus Neteler)
  • r.in.tiff: bugfix for seg. fault (Carl Anderson)
  • r.in.shape: added (Radim Blazek)
  • r.flowmd: bugfix on Floating exception error (Huidae Cho)
  • r.line working now with Grass5 (Pierre de Mouveaux)
  • r.null: bugfix (Huidae Cho)
  • r.out.pov: added for POVRAY export (Klaus D. Meyer)
  • r.support: fixed to work with FP maps (Huidae Cho)
  • r.timestamp: fixed library function (Bill Hughes, Bill Brown)
  • r.to.pg: script to store raster maps in PostgreSQL (Markus Neteler)
  • r.to.sites: bugfix on seg. fault (Bill Brown)
  • s.in.garmin.sh: added (Andreas Lange)
  • s.in.shape: added, reads an ArcView Shapefile with points or multipoint SHAPES (David D. Gray)
  • s.to.rast: bugfix (Markus Neteler)
  • v.area: added -i to take island areas into account (David D. Gray)
  • v.autocorr: bugfix (David D. Gray)
  • v.bubble: added parameter to select sites attribute (Markus Neteler)
  • v.circle: bugfix (Markus Neteler)
  • v.clean: bugfix (David D. Gray)
  • v.cutter: added category support (David D. Gray)
  • v.extract: writes cats now, accept comma-separated fields (David D. Gray)
  • v.in.shape: Splitting of shapefile rings to arc-node segments, Correction (through options) of some common topological problems with imported data, Removal of duplicate rings and line segments, label bug fix (David D. Gray)
  • v.in.shape.pg: updated, in sync with v.in.shape (David D. Gray)
  • v.in.ascii: fixed to read DIGIT DATE properly (Huidae Cho)
  • v.in.dxf: fixed to read DXF header correctly (Huidae Cho)
  • v.in.dxf2: fixed to read DXF header correctly (Huidae Cho)
  • v.in.dxf3d: fixed to handle file names correctly (Huidae Cho)
  • v.in.garmin.sh: added (Andreas Lange)
  • v.out.arc: small fix for importing into ARC/INFO (Markus Neteler)
  • v.out.e00: added, write ESRI E00 (Michel Wurtz)
  • v.out.shape: added, write ESRI SHAPE (David D. Gray)
  • v.spag: fixed loop error, new flags (Radim Blazek)
  • v.timestamp: added (Markus Neteler, based on r.timestamp)
  • v.to.db: added to load values from vector to database (Radim Blazek)

  • NVIZ: fixed image dump bug on FreeBSD and Linux (Huidae Cho)

  • CELL driver: CELL resolution fixed to get GRASS_WIDTH and GRASS_HEIGHT work correctly (Huidae Cho)
  • Database Management System support (DBMS)
  • new general DBMS driver (can be used e.g. with unixODBC to link GRASS to PostgreSQL, Oracle, MySQL, ... (Radim Blazek)
  • new DBMS-modules: db.attr, db.columns, db.connect, d.db, db.describe, db.execute, db.select, db.tables, d.what.db, v.db.reclass, v.to.db (Radim Blazek)
  • G3D-support (new 3D raster format "voxels")
  • new grid3D modules added: r3.in.v5d, r3.out.v5d to exchange data with VIS5D, s.to.rast3 to convert 3D sites to grid3D (Jaro Hofierka)
  • g3.createwind added to create 3D region from 2D region (Markus Neteler)
  • r3.mapcalc: bugfix on NULL values at edges (Jaro Hofierka)
  • g3.list, g3.remove, g3.rename scripts added (Markus Neteler)
  • Simulation models
  • WIldfire SPread Simulation, WiSpS, package contains three GRASS modules r.ros, r.spread and r.spreadpath (Jianping Xu 1995)
  • Source Code
  • updated all vector modules on include headers (Vect.h only now) (Bill Hughes)
  • changed compilation process script to ignore errors and missing modules and write this into file error.log (Markus Neteler)
  • removed src.related section for code cleanup (Markus Neteler)
  • removed XGRASS for code cleanup (Markus Neteler)
    you can still access the code using an old tag:
    cvs -z3 co -r "release_grass5beta7_20_april_2000" grass/src.related
    cvs -z3 co -r "release_grass5beta7_20_april_2000" grass/src/xgrass
    cvs -z3 co -r "release_grass5beta7_20_april_2000" grass/src/include
  • WINDOWS/NT: improved portability (John Huddleston)
  • libes: fixes for src/libes/ogsf and src/libes/ and src/libes/libimage
  • Vect_get_area_points() and Vect_get_isle_points() updated (David D Gray)
  • SGI-fixes (John Edgecombe)
  • $GISBASE/garden eliminated as unused (Markus Neteler)
  • libgis.a and gis.h are stored in binaries now (needed for R statistics package) (Roger Bivand/Markus Neteler)
  • src/general/init: internal improvement (Justin Hickey)
  • Font support
  • added cyrillic encoding (Alex Shevlakov)

  • What's new in GRASS 5 beta7/CVS comparing to beta6

    [GRASS 5 beta7 released 20 Apr 2000]

    Modules

  • d.vect: runs quitely by default (flag -v added) (Pierre de Mouveaux)
  • i.rectify, i.rectify2 fixed (Pierre de Mouveaux)
  • i.shape bugfix on segmentation fault (Markus Neteler)
  • i.smap bugfix on segmentation fault (Markus Neteler)
  • i.tape.tm.fast fixed blank screen problem (Markus Neteler)
  • m.in.e00 updated (Michel Wurtz)
  • ps.map.new added (Radim.Blazek)
  • r.cost fixed, sites files accepted as start and stop points (Pierre de Mouveaux)
  • r.drain fixed, new feature: read site list for starting points (Pierre de Mouveaux)
  • r.flowmd added (Jaro Hofierka)
  • r.in.dted bugfix to read NIMA DTED level 0 properly (Roberto Currlin)
  • r.in.png added (Alex Shevlakov)
  • r.in.ppm memory bugfix (Alex Shevlakov)
  • r.out.png added (Alex Shevlakov)
  • r.surf.contour fixed, but no FP yet (Pierre de Mouveaux)
  • s.in.ascii bugfix on string import (Roger Bivand)
  • v.area added cat label output (Markus Neteler)
  • v.build.polylines added (Mark Lake)
  • v.distance added from 4.x (Janne Soimasuo)
  • v.extract fixed (David D Gray)
  • v.in.dxf3d added from 4.x (Evaristo Quiroga)
  • v.in.shape updated/rewritten (David D Gray)
  • v.out.idrisi (Philip Verhagen)
  • v.out.shape added (derived from v.out.arc, gen2shp by Jan Wagner and shapelib by Frank Warmerdam, modified by Markus Neteler)
  • v.what (Jim Hinthorn, Dennis Finch, James Darrell McCauley)

  • TclTkGRASS: added r.in.png, v.build.polylines, removed obsolete s.in.ascii.dem (use s.in.ascii now), fixed i.gensigset/i.smap entry (Markus Neteler)
  • Libraries
  • segment/-library fixed (Pierre de Mouveaux)
  • Drivers
  • CELL driver: update on font management (Ludovic Drolez)
  • HTMLMAP: new driver to produce HTML image maps, usage like CELL driver (Tom Poindexter)
  • XDRIVER: updated to support various video cards in various environments (color table management) (Carl Anderson)
  • PPM-Driver: fixed (Alex Shevlakov)
  • NVIZ
  • bugfixes on segmentation fault, cleaned out tcl/tk-library stuff (Philip Warner)
  • path independent now! (Philip Warner, Markus Neteler)
  • SQL-support
  • large set of GRASS/PostgreSQL modules added (Alex Shevlakov):
    d.site.pg, d.vect.pg, d.what.s.pg, g.column.pg, g.select.pg, g.stats.pg, g.table.pg, d.rast.pg, d.what.v.pg, d.what.r.pg, v.reclass.pg, v.in.shape.pg, v.in.arc.pg, pg.in.dbf
  • G3D-support (new 3D raster format "voxels")
  • grid3D modules added: g3.region, r3.in.ascii, r3.mask, r3.out.ascii, r3.in.grid3, r3.mapcalc, r3.mkdspf, r3.showdspf.sgi, r3.info, r3.null s.surf.vol (Roman Waupotitsch, Michael Shapiro, Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, funding by GeoModel s.r.o.)
  • r3.showdspf.openGL port (Steve Hall, LMCO)
  • SDTS-support
  • added from GRASS 4.x: m.sdts.read, v.in.sdts, v.out.sdts, v.sdts.dq.cp, v.sdts.meta, v.sdts.meta.cp
  • v.in.sdts bugfix (Scott I. McFarlane)
  • JAVA/JNI-support
  • the GRASS 4 JAVA interface from Alexandre Sorokine is part of the package now: src.garden/grass.java/ (Alexandre Sorokine)
  • Portability of source code
  • Improved for SGI/Irix (Andreas Lange, Eric Mitchell, Rado Bonk and others)
  • Improved to compile on Windows/Cygnus (John Huddleston)

  • What's new in GRASS 5 beta6 comparing to beta5?

    [GRASS 5 beta6 released 16. Feb. 2000]
    - added missing MAN pages (Markus Neteler)
    
    - d.area: fixed. Now dynamic allocation to remove the 4096 vector
        line limit (Bill Hughes)
    - d.legend: fixed bug on shifted numbers. Optional flag to suppress
                display of "no data" now (Markus Neteler)
    
    - i.in.erdas: "-m" reads in map coordinate info (reference) now (Angus Carr)
    - i.out.erdas added (Angus Carr)
    
    - m.in.e00: manages correctly the info table with aliases now,
                added a flag for choosing to link geometry and attributes 
                on feature-# or feature-ID, e000b2a integrated (Michel Wurtz)
    
    - nviz code: update prototyping and 'return' fixing (Bill Hughes)
    
    - r.coin fixed (hopefully) (Markus Neteler)
    
    - again general sites import bug (in beta6a-d) fixed
    - s.in.ascii fixed for x y z datasets (like DEM) (Markus Neteler)
    - s.out.e00 added (Michel Wurtz)
    - s.surf.idw import routine updated (Job Spijker, Markus Neteler)
    - s.probplt: bugfix on sites read (Job Spijker)
    - s.sample fix (Markus Neteler)
    
    - v.bubble: added (Job Spijker)
    - v.db.rim, s.db.rim: should compile now
    - v.in.arc should be fixed (Werner Droege, Alex Shevlakov)
    - v.in.dxf2 added (Ben Johnson)
    - v.report: fixed km conversion factor (Markus Neteler)
    
    Shells:
    - d.monsize: script to (re-)set GRASS monitor size (Anantha Prasad)
    - d.rast.leg2 added (display raster map with legend)
    - i.tasscap.tm5: updated for GRASS 5 (Markus Neteler)
    - r.reclass.area: updated for GRASS 5 (Markus Neteler)
    - slide.show.sh: addec parameter "prefix" to display only selected
                     files (Markus Neteler)
    
    Source code structure:
    - New source code tree: src.nonGPL/ (modules not shipped with GPL)
    - all libraries under src/libes/ now (Markus Neteler)
    - final upates for prototypes, along with several 'return 0;'
       (Bill Hughes)
    - updated/checked all Gmakefiles on "mv" command for WIN/Cygnus
       (John Huddleston)
    - added HUGE, drand48, srand48 for WIN/Cygnus (John Huddleston)
    
    - configure:
      automatically choosing the diglib64 library at compile-time for 
      64-bit machines (Bill Hughes)
    
    src.related
    - rim: should compile now
    

    Many thanks to all contributors!


    What's new in GRASS 5 beta5 against former beta4?

    [GRASS 5 beta5 released 8. Dec. 1999]
    added modules
    - i.tape.slc (Olaf Hellwich)
    - i.in.gtc (Olaf Hellwich)
    - i.in.pri (Olaf Hellwich)
    - r.out.arc (Markus Neteler)
    - r.meta, g.meta, v.meta (Sue Huse?)
    - r.sun (Jaro Hofierka)
    - r.surf.fractal (Jo Wood)
    - r.surf.gauss (Jo Wood)
    - r.univar (Markus Neteler)
    - s.reclass (Sue Huse) 
    - v.plant (S. Cox)
    
    source code:
    - 64bit platform detection routine which changes (Luca Palmeri)
       LNG_SIZ from 4 to 8 in case of 64bit architecture
       (file src/mapdev/diglib/portable.h)
    - improved prototyping etc. (Bill Hughes)
    
    bugfixes:
    - g.region (Luca Palmeri)
    - d.colors (cursor movement) (Markus Neteler)
    - d.sites (Markus Neteler)
    - i.in.erdas (Angus Carr)
    - i.oif (Markus Neteler)
    - i.rectify (Luca Palmeri)
    - i.rectify2 (Luca Palmeri)
    - i.maxlik (Angus Carr)
    - r.cats (Luca Palmeri)
    - r.in.tiff (color table, warning on NULL) (Markus Neteler)
    - r.in.gif (color table, warning on NULL)(Markus Neteler)
    - r.in.hdf (3.x lib only)
    - r.out.hdf (3.x lib only)
    - r.answers (Markus Neteler)
    - r.mapcalc (Luca Palmeri)
    - r.mask (Luca Palmeri)
    - r.statistics (Markus Neteler)
    - s.surf.rst (Helena Mitasova)
    - s.in.ascii (Markus Neteler)
    - s.surf.idw (Job Spijker)
    - r.resamp.rst (Helena Mitasova)
    - v.surf.rst (Helena Mitasova)
    - v.digit (Luca Palmeri)
    - NVIZ2.2 (Pierre de Mouveaux)
    - several code patches from Berhard Reiter for DUAlpha
    
    - shade.clr.sh (Markus Neteler)
    - shade.rel.sh (Markus Neteler)
    
    - src/libes/gis/sites.c (Bill Brown): fixes memory problem
    - src/libes/imagery/c_point.c (Angus Carr)
    - src/libes/geom/optri (Markus Neteler)
    - src/libes/g3d/*  (Jaro Hofierka)
    - updated around 20 Gmakefiles for SUN/Solaris $(XDRLIB)
    - all rst-libs under src/libes/rst/ now
    - libimage (NVIZ) under src/libes/libimage/ now
    
    updated man-pages for: (HTML-pages as well) Lisa Zygo 
    d.3d                   r.le.dist              r.proj
    d.histogram            r.le.null              r.rational.regression
    d.leg.thin             r.le.patch             r.report
    d.rast                 r.le.pixel             r.spreadpath
    g.setproj              r.le.rename            r.stage3
    m.in.stf1.db3          r.le.setup             r.stats
    p.vrml                 r.le.trace             r.surf.fractal
    r.cats                 r.null                 r.surf.gauss
    r.circle               r.out.agnps            r.surf.random
    r.cost                 r.out.arc              r.surf.xy
    r.describe             r.out.ascii            r.tribs
    r.in.ascii             r.out.mpeg             r.what
    r.in.hdf               r.out.tiff
    r.in.pbm               r.plane
    

    Many thanks to all contributors!

    From now onwards a bug report formula is provided. If you find a bug in this GRASS 5 release (beta5), please let us know. We try to fix the bugs quickly. Go here for bug report:

    http://www.geog.uni-hannover.de/grass/bugtracking/bugreport.html


    What's new in GRASS 5.0 beta4 comparing to beta3?

    [GRASS 5 beta4 released Oct. 1999] (Comparing to GRASS 4.x, further implementations up to GRASS 5 beta4)

    GRASS 5.x represents the first major change in GRASS GIS functionality in several years.

    Please read ChangeLog and CREDITS for authorship.

    1. New formats:

  • new sites API with multiple attributes and time attribute
  • floating point support in raster format
  • distinguish between Null and Zero in raster format
  • new 3D raster format "grid3" (g3d, voxel representation)
  • datetime library for temporal analysis
  • 2. new applications

  • latest TclTkGRASS graphical user interface
  • nviz2.2 (ported to tcl/tk 8.x)
  • ogl3d (predecessor of NVIZ, ported to Linux)
  • d.siter, d.siter.qual,
  • i.points3, i.rectify3, i.tape.tm3
  • r.null, r.recode, r.quant, r.in.arc, r.sum, r.timestamp, r.proj, r.resamp.rst, r.surf.area,
  • s.resamp.rst (modules mainly contribution from GMSLabs/University of Illinois
  • 3. Improved functionality:

  • updated standard GRASS modules to raster floating point support
  • d.mon (24bit)
  • g.setproj, m.proj (121 (yes!) projection added)
  • r.in.ppm (24bit), r.slope.aspect (calc. of curvature)
  • s.in.ascii (import elevation data properly)
  • 4. New projections:

  • projection software updated to PROJ4.3.3 (latest code available from USGS/1995)
  • 121 projections supported now: (m.proj and g.setproj support them as well)
    Lat/Lon, Universe Transverse Mercator, State Plane, Albers Equal Area, Lambert Conformal Conic, Mercator, Transverse Mercator, Lambert Equal Area Conic,, Lambert Azimuthal Equal Area, Azimuthal Equidistant, Airy, Aitoff, Mod. Stererographics of Alaska, Apian Globular I, August Epicycloidal, Bacon Globular, Bipolar conic of western hemisphere, Boggs Eumorphic, Bonne (Werner lat_1=90), Cassini, Central Cylindrical,, Equal Area Cylindrical, Chamberlin Trimetric, Collignon, Craster Parabolic (Putnins P4), Denoyer Semi-Elliptical, Eckert I, Eckert II, Eckert III, Eckert IV, Eckert V, Eckert VI, Equidistant Cylindrical (Plate Caree), Equidistant Conic, Euler, Fahey, Foucaut, Foucaut Sinusoidal, Gall (Gall Stereographic), Ginsburg VIII (TsNIIGAiK), General Sinusoidal Series, Gnomonic, Goode Homolosine, Mod. Stererographics of 48 U.S., Mod. Stererographics of 50 U.S., Hammer & Eckert-Greifendorff, Hatano Asymmetrical Equal Area, International Map of the World Polyconic, Kavraisky V, Kavraisky VII, Laborde, Lagrange, Larrivee, Laskowski, Lee Oblated Stereographic, Loximuthal, Space oblique for LANDSAT, McBryde-Thomas Flat-Polar Sine (No. 1), McBryde-Thomas Flat-Pole Sine (No. 2), McBride-Thomas Flat-Polar Parabolic, McBryde-Thomas Flat-Polar Quartic, McBryde-Thomas Flat-Polar Sinusoidal, Miller Oblated Stereographic, Miller Cylindrical, Modified Polyconic, Mollweide, Murdoch I, Murdoch II, Murdoch III, Nell, Nell-Hammer, Nicolosi Globular, Near-sided perspective, New Zealand Map Grid, General Oblique Transformation, Oblique Cylindrical Equal Area, Oblated Equal Area, Oblique Mercator, Ortelius Oval, Orthographic, Perspective Conic, Polyconic (American), Putnins P1, Putnins P2, Putnins P3, Putnins P3', Putnins P4', Putnins P5, Putnins P5', Putnins P6, Putnins P6', Quartic Authalic, Robinson, Rectangular Polyconic, Sinusoidal (Sanson-Flamsteed), Swiss. Obl. Mercator, Stereographic, Transverse Central Cylindrical, Transverse Cylindrical Equal Area, Tissot, Two Point Equidistant, Tilted perspective, Universal Polar Stereographic, Urmaev V, Urmaev Flat-Polar Sinusoidal, van der Grinten (I), van der Grinten II, van der Grinten III, van der Grinten IV, Vitkovsky I, Wagner I (Kavraisky VI), Wagner II, Wagner III, Wagner IV, Wagner V, Wagner VI, Wagner VII, Werenskiold I, Winkel I, Winkel II, Winkel Tripel
  • 5. Misc:

  • support for cursor key movement in coordinate windows (these screens will be left with <ESC><ENTER> now
  • lots of bugfixes
  • new XDRIVER with true 8..24bit support (choose color depth with d.mon)
  • "configure" tool to create "head" files (compiler instructions) automatically
  • general source code improvement:
  • Better Code:
          - gets() is an Achilles' heel for GRASS when used on the Web, or where
            through ignorance or malice someone can overrun an input buffer. I 
            have replaced gets() calls with the slightly safer fgets(). 
          - G_warning() and G_fatal_error() are called throughout the GRASS code
            tree as though they accepted variable arguments, i.e. 
    
               G_warning("Oops: error in %s, i = %d\n",string,integer);
    
            which is not how they were written. They were written to accept one
            char*, which they write to the screen and/or log. I have re-written 
            these functions so that they accept varargs. This change has not
            been approved by anyone, nor passed any peer review. It just seems 
            right. 
          - G_free() as as companion to G_malloc() and friends. It is annoying
            to have to replace all of the #include <malloc.h> with 
            #include <stdlib.h> so instead I just created a function to be 
            included in the gis.h header. This is portable, which is an 
            improvement. 
        
  • Prototyping:
          - It's much easier to track down the mismatched arguments and implicit
            casts with prototypes. These patches provide prototypes for all of
            the src/libes, and as many other libes and modules as I have gotten
            into. 
          - In the module code, the 4.2.1v21 patch has automatically-created
            header files to provide function prototypes within each module. Some 
            of this is overkill. As I work through each module, these headers
            are fixed to be a little less intrusive. Right now, though, there 
            are still compile warnings that are the fault of this prototyping.
          - The 5.0 code has not had as much work as the 4.2-series, so there
            are still a number of bad calls lurking in the modules. With the 
            proper prototypes, maybe somebody can fix them. 
        
  • Bugfixes:
         -  Functions with the wrong number of arguments. 
         -  Functions with the wrong type of arguments. 
         -  Functions with the wrong return type. Usually, this is because a
            function is allowed to default to an 'int' return, even though it 
            returns a char*, or struct*. This may work on 32-bit machines, but 
            whenever sizeof(char*) != sizeof(int) (64-bit machines, for example) 
            these functions overwrite memory, dump cores, and generally fail 
            to work. 
         -  Built-in functions without the proper headers. This leads to bad
            return types. 
      
  • HISTORY GRASS 5 beta 2..4
    GRASS Development Team

    PhyGeo at University of Hannover, Germany, CAGSR at Baylor University, GMSlabs at University of Illinois and worldwide contributors.
    © 1999-2000