GRASS 6.3 Feature Plan
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.
TODO GRASS 6.3.0
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.
RC1
released 24 Oct 2007
RC2
Released 20 Nov 2007
RC3
released 30 Nov 2007
RC4
released 9 Jan 2008
RC5
released 19 Feb 2008
- see http://trac.osgeo.org/grass/wiki/Release/6.3.0RC5
- Added in wxGUI, g.gui
RC6 (final?)
work in progress
Must do
test:
- [ ] r.out.gdal NoData
- [✓] d.vect render=c
- [ ] gis.m about->system
fix:
- 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.
tasks:
Change .grc extension for WxGUI as incompatible with Tcl/Tk .grc files.
- AND/OR http://trac.osgeo.org/grass/wiki/Release/6.3.0RC5-News
- --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.
Stalled
- v.what.vect improvements (see GForge patch)
- -- 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.
r.in.xyz improvements (see GForge patch)
- -- HB 14 Nov 2007: patch committed to HEAD; requires testing so not for 6.3.0
- v.sample improvements (see GForge patch)
- -- HB 24 Oct 2007: not ready. needs fixing for NULLs.
Wishlist
- modify Makefile system to support translated HTML pages. Store translated HTML files in centralized directory with locale specific subdirs, file name is module name.
- Implement vector improvements as suggested by Radim
- Integrate i.points.auto (merge into i.vpoints) - see also Image processing - note that A Scianna/Palermo has modernized version
- Make sqlite the default DB? <- needs more testing, for 6.4 or 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.
- raster maps: implement SQL based time series support (Markus has working code from Soeren; done some improvements)
- 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
- v.select (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 v.select does
- allow multiple maps for input, as with the suggestion for v.select
- 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 v.select and v.what work the same except that v.select 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).
- drop the ainput and binput. Replace with just input.
- --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
- complete and further stabilize the native MS Windows port
- (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 ps.map)
- 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
- continue with WxPython-based GUI for GRASS
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
Complete
gis.m->Help->About system doesn't work (launches another gis.m instance)
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.