GRASS 6.3 Feature Plan

From GRASS-Wiki
Jump to navigation Jump to search

Move to Trac and note that it is histirical page. Link GRASS 7 or some general one.

The info here is really old. See the Trac development wiki and roadmap for the latest information.

GRASS 6.3.x feature plan

About feature plan

To make GRASS releases more often and more predictable, here is GRASS next releases feature plan. This feature plan has to be filled by developers working on GRASS 6.3.


There is the release branch for 6.3.x, see details at tags and branches. A release branch is considered as "frozen", only bugfixes can be done.


released 24 Oct 2007


Released 20 Nov 2007


released 30 Nov 2007


released 9 Jan 2008


released 19 Feb 2008


released 21 Mar 2008

6.3.0 final

  • released 23 Apr 2008
Must do
  • [✓] r.out.gdal NoData
  • [✓] d.vect render=c
  • [✓] gis.m about->system
  • Trac milestone status
  • Any open bugs which are blockers for 6.3.0 should be flagged as such in the bug report.
  • Look over old Gforge and RT bug trackers. Refile in trac as blockers if they are release-critical and close old reports with a link to the new one. Copy over all past discussion so it has context and history.

  • Change .grc extension for WxGUI as incompatible with Tcl/Tk .grc files.
trac #77
  • Update release announcement and press release blurb in Web-SVN: [1] (preview)
--HB, 4 March 2008: IMO Final 6.3.0 announcement should be posted on the website. It's cleaner. Trac Wiki is fine for the RC announcements and working on the annoucement but it seems to me tp host the final release announcement there is like greeting your new customers in the corner of your workshop, it's unprofessional.
-- HB 24 Oct 2007: waiting for a real world example of when this would be useful.
  • use GEM for GRASS Addons SVN - status unclear
    • gis.m menu part of this done (Michael)
  • g.region vect=map -a issues #489
-- HB 24 Oct 2007: Is this really release critical?
-- MS 26 Oct 2007: It was, until there was a "one row-off" bug in "g.region vect= res= -a". Fixed by Glynn in last days. A remaining issue, less important, is that "g.region vect= res= -a" needs to be run twice if the initial and target region resolution differ. This is not normal nor desired, but Glynn says it's been this way for years now. I confirm it applies to 6.2 at least too. A must-fix for GRASS 7, probably not to be fixed for legacy reasons in 6.2, and to be decided in regard to 6.3. As to me, I'm for fixing it in 6.3.
-- HB 14 Nov 2007: patch committed to HEAD; requires testing so not for 6.3.0
-- HB 24 Oct 2007: not ready. needs fixing for NULLs.
  • modify Makefile system to support translated HTML pages. Store translated HTML files in centralized directory with locale specific subdirs, file name is module name.
  • Make sqlite the default DB? <- needs more testing, done in GRASS 7.
  • drop d.m display manager (as now almost unmaintained; there is gis.m and/or a python based GUI)
Some people still prefer it (see posts to grass-dev) and I will fix bugs in it, but not enhance/add new modules to it without good reason. So I don't see the need to drop it before the WxPython version is ready. It's not hurting us any keeping it. --Hamish
We should keep plain d.mon interface but why keep d.m, if gis.m has become really good? Probably we should clearly state, that d.m is UNMAINTAINED and OBSOLETE? MarisN 08:24, 16 February 2007 (CET)
--HB: ok, d.m man page updated.
deleted in GRASS 7
  • raster maps: implement SQL based time series support (working code from Soeren in GRASS Addons SVN)
  • Clean up Makefile system to support extension compilation and installation outside the GRASS installation and without the full GRASS source. Much like what GEM does, but without needing the module source setup and not limited to installing within the GRASS installation dir. This could also simplify GEM on the compilation side. See also general Extension development.
Updates to vector querying
  • (query using a vector map):
    • add flags -p and -g for text output instead of creating a new map. It would report which map(s) and feature(s)/cat(s) meet the query criteria.
    • allow multiple maps to be selected. This would directly address Eric's question. If the output is a map, it would be the equivalent of v.patch on all queried vector elements.
    • add operators "contains" and "adjacent". Contains=all vector features whose nodes are completely inside a polygon (or inside or touching the boundary). Adjacent=all vector features who share a node/point or line/boundary with the selecting feature. Because GRASS is topologically correct, adjacency information is readily available.
      --HB: op="not" too please.
    • maybe change option names from ainput and binput to selector and selected or queried. This would have to wait until GRASS 7, of course. I find ainput and binput not very clear where used in other vector operations either (maybe I'm just dense).
--HB: input order counts, so named map options have a function.
  • v.what (query using coordinates):
    • add flags -p and -g for current behavior (-pg could be the default if we wanted to do this before GRASS 7)
    • add "output=" option to allow v.what to create a new map from the results of its query, like does
    • allow multiple maps for input, as with the suggestion for
    • allow coordinates to be read optionally as a line or area boundary (-l or -a?) instead of only as individual points.
    • add operators overlap, contains, adjacent.(This also would make possible interactive vector selection with a mouse drawn box or polygon from the GUI)
  • In other words, have and v.what work the same except that uses a vector map for querying and v.what uses a set of coordinate points.
  • v.overlay (boolean combination of maps):
    • drop the ainput and binput. Replace with just input.
      --HB: careful, order of maps can matter.
    • allow multiple maps to be entered into input, not just 2
    • deprecate v.patch because v.overlay with the OR operator replaces it. (If we wanted to do this before GRASS 7, we'd have to create a new module, maybe named v.combine or something like that because this changes the default behavior of v.overlay).
--HB: does it completely? I could be totally wrong, but my thought was that v.patch is very fast and does not attempt to clean (overlay) features, just lump them together in the file. Certainly for most tasks v.overlay should be the suggested route in the documentation.

In progress

(seems to be in a good shape now)
  • Database connection for v.out.vtk: --huhabla 20:47, 14 August 2006 (CEST)
    • single column support for numerical data (int, float, double)
    • GRASSRGB column support (done for
    • multiple column support for vector data
  • rewrite most of the g3d modules to fulfill the grass function naming convention --huhabla 20:47, 14 August 2006 (CEST)
  • adding further (organized) keywords to every grass command and script [2] and [3]:
    • display commands
    • database commands
    • general commands
    • imagery commands
    • misc commands
    • paint commands
    • photo commands
    • postscript commands
    • raster commands
    • raster3D commands
    • vector commands
  • write (Python based?) GUI wizard to create new locations
(done by Jachym and Michael, see WxPython-based GUI for GRASS)
    • This is done. AFAICT it works really well (IIDSSM). It will create locations using EPSG, georeferenced files, custom selection of projection parameters, and xy locations. You can also set default extents (DEFAULT_WIND).
  • improve Python-SWIG interface
  • less verbose commands (work in progress)
  • BLAS/LAPACK updates (Brad)
  • Provide interactive environment on GRASS startup #521


  • gis.m->Help->About system doesn't work (launches another gis.m instance)
trac ticket #12
  • change default 'd.vect render=' mode from l to (?)
--HB 28 Nov 2007: I hope to provide more test results soon
--HB 1 Dec 2007: "L" is still problematic, new tests posted to grass-dev
--HB 21 Jan 2008: Changed to "c". see [4] [5]
  • r.out.gdal sets NoData wrong #405
-- HB 24 Oct 2007: Is this really release critical? - need to find Frank's email on the subject and post it to the bug report. At least for a Byte map the no data value must live somewhere in 0-255, there is no IEEE nan for Ints.
-- MS 26 Oct 2007: It is critical. It's a data corruption issue.
-- HB 29 Oct 2007: IMO we just document that GDAL works like that. I don't see another good solution. I still need to look up Frank's answer..
-- MS 19 Nov 2007: This is not acceptable. It's a data corruption and a regression compared to script version of r.out.gdal. Suggestion: if we have to choose between 2 bad things: a valid value replaced by null by force, thus corrupting the output (like in C r.out.gdal), and setting null to eg. 256 for a a 0-255 raster to avoid that (like in shell-script r.out.gdal), I prefer the latter. This is less harmfull.
-- HB 28 Nov 2007: At least for a Byte map, there is no 256! 1byte=8bits, giving you 2^8 data value possibilities and no more. Byte maps do not support NaN either. As you suggest I will compare script & C version output before commenting further.
-- MS 17 Dec 2007: Hamish, regarding "for a Byte map, there is no 256!" - I know. But that's what gdal_translate does (see the link you once mentioned to me) to avoid data corruption which takes place in C r.out.gdal. This is not "good", but at least data corruption is avoided, which would be "horrible".
-- MS 04 Jan 2008: Martin's patch fixed the bug for me.
-- HB 21 Jan 2008: Ok, glad for the fix.