Happy new year to all developers!
As grass5.1 shall take off as soon as possible, we should start the
directory structure debate. My draft proposal is looking like this:
grass51/
# core includes libs, docs, import/export and basic modules:
/core (the GRASS basic package)
/include : global include files
/lib (read src/libes/README for further design comments)
/bitmap : bitmap library for X Window Bitmaps
/btree : binary tree library
/coorcnv : coordinate conversion and datum support library
/datetime : DateTime library
/dbmi : database management interface database drivers
/display : display lib (was: D/ )
/drivers
/cell : CELL driver (was: display/)
/digitizer: raw library for general digitizer support
/htmlmap: HTMLMAP driver
/paint : paint library (from paint/ )
/xdriver: XDRIVER
/dspf : G3D display files library
/formats
/dlg : library to manage DLG files
/sdts : library to manage SDTS files (was: src.contrib/..)
/sgirgb : library to manage SGIs RGB-format (was: libimage)
/fonts : hershey fonts
/front.end : cmd/inter frontend
/g3d : G3D raster volume library
/geom : geometrical calculations... (will be detri)
/gis : main GRASS library (remove import/export routines)
/gmath : generic mathematical functions (to BLAS/LAPACK libs)
/ibtree : integer clone of btree lib (needed?)
/icon : icon library (required for PS/Paint)
/imagery : imagery library including image3 extra library
/init : GRASS startup (was: src/general/init/ )
/java : GRASS JAVA support (was src.garden/grass.java/ )
/linkm : linked list memory manager
/lock : locking mechanism for GRASS monitors and files
/ogsf : ported gsurf library (required for NVIZ)
/plugins (keeps external libs)
/bwidget : tcl/tk extra library
/gdal : GDAL raster lib
/gdbm : database support for GRASS (or Berkeley DB)
/libgrassio: GRASS import/export lib from Frank Warmerdam
/proj : PROJ 4.x library from Frank Warmerdam et al.
/shapelib: SHAPE support lib from Frank Warmerdam
/raster : GRASS raster library
/rowio : row in/out library
/rst_gmsl : library for interpolation with reg. splines w.t.
/segment : segment library
/sites : GRASS sites library (extract from gis/ )
/testsuite : testsuite
/vask : Curses management library
/vector : GRASS vector library
/Vlib : portable GRASS vector functions
/dig_atts : library to read and write from attribute files
/diglib : more GRASS vector functions
/georef : Imagery Georeferencing Programs
/libes : transformations from one coord. system to another
/docs
/docs
/html
/html_docs_go_here
/exchange (import/export modules)
/misc
/m.e00
/raster
/r.arc (contains r.in.arc/r.out.arc)
/r.ascii
/r.tif
...
/scripts (move import/export scripts here from global scripts)
/sites
/s.ascii
/vector
/v.ascii
/v.shape
...
#now a set of basic modules follows:
/display
/basic_modules_go_here
/general
/basic_modules_go_here
/gui
/python
/tcltkgrass
/misc
/basic_modules_go_here
/paint
/paint_modules_go_here
/postscript
/ps_modules_go_here
/raster
/basic_modules_go_here
/sites
/basic_modules_go_here
/vector
/basic_modules_go_here
#now topic-oriented packages follow:
# vis-package:
/visualization
/nviz
/sg3d
/xganim
#hydro-dem-erosion-package:
/hydrology_dem
/raster
/raster_hydro_dem_modules
#image-processing-package:
/imageprocessing
/imagery
/image_proc_modules
#database-package:
/database
/generic (db.* driver improved by Radim)
/oracle
/postgresql
#G3D-package:
/g3d (was: src.contrib/GMSL/g3d)
/general3
/raster3
/scripts3
/sites3
#extended-raster-package:
/raster_extended
/fuzzy_logic
/...
#interpolation-package:
/raster
/r.bilinear
/...
/sites
/vector (was: mapdev)
#simulation-models-package:
/raster
/casc2d
/topmodel
/erosion
#more?
-----------------------------------------
Note: Useful modules from src.contrib section shall be merged into
directory structure.
Questions:
- core-package: shall we move the "/lib/plugins" to "/plugins" ?
- shall we keep the unused directory?
Proposal:
- the number of import/export modules scripts needs to be heavily reduced.
At time there are 92 tools for import/export/tape analysis...
- Idea: The raster database structure should be changed to the G3D
structure: all files related to a raster map should go into one
directory. Currently many files are spreaded in many directories.
An example for the G3D data structure can be found here:
Bereich Geographie – Naturwissenschaftliche Fakultät – Leibniz Universität Hannover (sample dataset)
Comments are welcome!
Markus
----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'