GRASS 6.4 Feature Plan

From GRASS-Wiki
Revision as of 11:02, 4 December 2008 by ⚠️HamishBowman (talk | contribs) (→‎Must do: rel ann link)
Jump to navigation Jump to search

GRASS 6.4.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.4.

TODO GRASS 6.4.0

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

RC1

work in progress


Must do
Can do

Merge in replacements from Addons:

Modules to consider:

  • v.out.ascii.db -> v.out.ascii C code !!
  • r.pack rewrite using method similar to r.convert (trac #84) + tar.gzip?
  • put together a quick v.to.3d wrapper script?

Possibly delayed:

  • r.viewshed: note that there are precision issues to be fixed by Laura
Done, but test:
  • [ ] r.out.gdal: NoData & type limits
  • [ ] v.out.ogr, r.out.gdal: datum transform parms saved to WKT
  • [✓] d.frame.split added
  • [✓] r.colors.stddev added
  • [✓] v.colors added
  • [✓] merge r.watershed2 changes into r.watershed
  • [✓] r.sun2 + r.horizon, new name r.sun
  • [✓] v.delaunay2, new name v.delaunay
  • [✓] v.parallel2, new name v.parallel
  • [✓] v.buffer2, new name v.buffer

6.4.0 final

work in progress


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.
  • Make sqlite the default DB? <- done for 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 (working code from Soeren in GRASS Addons)
  • 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).
--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 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
  • continue with WxPython-based GUI for GRASS
  • improve Python-SWIG interface
  • less verbose commands (work in progress)
  • BLAS/LAPACK updates (?)
  • Provide interactive environment on GRASS startup #521

Complete