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 beta8 comparing to beta7
[GRASS 5 beta8 released 26 July 2000]
Modules
Database Management System support (DBMS)
G3D-support (new 3D raster format "voxels")
Simulation models
Source Code
Font support
What's new in GRASS 5 beta7/CVS comparing to beta6
[GRASS 5 beta7 released 20 Apr 2000]
Modules
Libraries
Drivers
NVIZ
SQL-support
G3D-support (new 3D raster format "voxels")
SDTS-support
JAVA/JNI-support
Portability of source code
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]
- Lots of bugfixes over 5.0beta3: e.g. fixed "empty text screen" problem,
futher improved source code structure, new debug routine G_dump, added
missing return statements...
- 121 projections supported now!
- Use m.proj as your "projection calculator" for all 121 projections
- DISPLAY: fixed: d.area, d.sites.qual, d.vect.cats
- updated/fixed: g.setproj, m.proj, both support the 121 projections
- RASTER: fixed: r.colors, r.digit, r.flow, r.resamp.rst, r.to.sites,
r.slope.aspect, r.contour r.in.poly, r.statistics
- IMAGERY: fixed: i.rectify
- SITES: fixed instable sites format (concerns all site modules)
- fixed: s.surf.rst
- added several sites modules: s.normal, s.perturb, s.qcount, s.probplt,
s.rand, s.sample, s.sv, s.univar, s.kcv
- VECTOR: fixed: general bug for all vector modules
- fixed: v.to.rast
- updated: v.in.shape: category text labels support now
- v.digspline renamed to v.digit, removed old v.digit stuff
- added several vector modules from GRASS 4.2.1: v.random,
v.extract, v.merge, v.autocorr, v.info, v.export, v.geom
- NVIZ2.2: fixed map selection problem
- "image dump" writes "xv" readable files now
- Still to do: update r.in.hdf to 4.1.3HDFlib, correct r.surf.contour
- detect further bugs (please report them! or fix them...)
- get vector format 64bit compliant (needs further input)
(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:
2. new applications
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 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 with
#include 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