= List of new features in GRASS 7 = [[TOC]] == Graphical User Interface == * wxGUI improved (see [http://grass.osgeo.org/wiki/wxGUI here]) * Advanced GRASS command console * [wiki:wxGUIDevelopment/Modeler Graphical modeler] * Improved [http://grass.osgeo.org/wiki/WxNviz wxNviz] * wxWidgets version of ximgview * !Tcl/Tk stuff dropped in favour of wxPython == Display modules == * old display architecture removed including related modules * new display architecture based on CAIRO and wxPython * ximgview: new == General modules == * g.cairocomp: new * g.ppmtopng: new * g.region: new flag to export region bounding box in WMS style * g.mapset: new flag to print current mapset == Image processing == * i.albedo: new * i.biomass: new * i.cca: supports now much more raster maps for canonical analyses (multi-spectral (8) -> hyper-spectral (thousands)), converted from Fortran style to C-style * i.eb.eta: new * i.eb.evapfr: new * i.eb.h_SEBAL01: new * i.eb.soilheatflux: new * i.emissivity: new * i.evapo.time_integration: new * i.fft and i.ifft: In GRASS 6.x, the only operation which can be performed upon the FFT data is a binary mask; a given component can be included or excluded, but not scaled. In GRASS 7.0, the frequency coefficients are saved as raster maps, so they can be manipulated with e.g. r.mapcalc. The main constraint is that both i.fft and i.ifft require the data to fit into memory. Eliminating this requirement boils down to transposing a large array efficiently. * i.latlong: new * i.landsat.toar: new (from addons) * i.landsat.acca: new (from addons) * i.modis.qc: new * i.sunhours: new * i.vi: new == Raster modules == * r.colors.out: new * r.external.out: new * r.cost faster by orders of magnitude (10x - 100x) * r.neighbours: added new option to process only marked cells (i.e: selective elevation map improvement) * r.walk faster by orders of magnitude (10x - 1000x) * r.mapcalc: use pthreads for parsing * r.resamp.filter: new - resamples raster map layers using an analytic kernel * r.solute.transport: new; New module to compute the solute transport of groundwater in porous media using an implicit finite volume approach * r.statistics2: new * r.statistics3: new * r.uslek: new * r.usler: new * r.watershed improved from G6.3 to G6.4 to G6.5 to G7: faster, less memory, floating point DEM support, MFD, clean stream extraction from MFD, segmented mode in G7 faster than in G6 by orders of magnitude. * r.gwflow/!r3.gwflow: Groundwater flow module update * Large File Support (LFS) globally enabled * r.pack, r.unpack: new * r.in.lidar: new == Vector modules == * v.krige: new * v.net.distance: new * v.net.bridge: new * v.net.spanningtree: new * v.net.flow: new * v.net.connectivity: new * v.net.timetable: new * v.net.components: new * v.net.allpairs: new * v.net.centrality: new * v.in.ogr faster for polygon-import, cleaner output. * v.out.ogr: reversed functionality of -c flag to preserve island by default. * Large File Support (LFS) globally enabled * v.in.lidar: new * v.colors: rewrite in C, support for vector color tables * v.colors.out == 3D raster modules == * !r3.colors: new * !r3.colors.out: new == Scripts == * All Bash scripts converted to Python * Initialization scripts also based on Python == Libccmath == * new library for numerical functions == Libdbmi == * SQLite is now default database driver * Added support for OFTDate, OFTTime, OFTDateTime == Libgis == * WPS support implemented in parser (c, c++, python, shell) * Libraster separated out into own library * Store metadata in $HOME/.grass7 directory == Libgmath == * Implementation of blas level 1,2 and 3 functions which are in use by all gmath solver, the gpde library and many modules. * ATLAS wrapper for blas level 1 functions (level 2, and 3 are work in progress) == Libosgf == * WIP in OGSF - feature styling rewrite that will allow to assign custom (e.g. attribute based) style to points AND lines in NVIZ (might be extended to polys and any 3D vectors too). == Libraster == * Libraster separated out from libgis, refactored == Libvector == * Large File Support (LFS) added * New spatial index, and spatial index kept in file: faster queries (>10x for large vectors), less memory for opening an existing vector * Cleaning function 'break polygons' faster, less memory * Cleaning function 'snap lines' faster and modifications are minimized: a vertex is snapped to the closest anchor vertex, not to the first anchor vertex found which might not be the closest anchor vertex. * Simple Features API/OGR read/write support (ongoing) * Support for color tables (see lib/vector/Vlib/color_*.c files) == Documentation == * Use Python to generate HTML docs == API == * Programmer's manual cleanup: http://grass.osgeo.org/programming7 * Improved Python API * read/write GRASS rasters to/from !NumPy * libgis supports the automatic generation of a WPS 1.0.0 process description XML document for each module (c, c++, python, shell) == Portability == * All shell scripts have been rewritten in Python * MS-Windows portability improved, new spawn functions (backported to 6.5 and 6.4), global LFS available by default * MacOSX portability improved == Removed modules == Some modules present in GRASS 6 have been removed due to architecture changes or replacements: * d.ask, d.colors, d.extend, d.extract, d.frame, d.mapgraph, d.measure, d.menu, d.save, d.what.rast, d.what.vect, d.zoom (old display architecture decommissioned) * d.histogram: integrated in wxGUI * g.ask: use g.findfile * g.setproj: use Location Wizard or 'g.proj -c' ('''state plane by county selection needs to be ported''') * i.points: new graphical version in wxGUI * i.class, i.ortho.photo, i.vpoints ('''need to be ported'''; old display architecture decommissioned) * raster: * r.average, r.median, r.sum merged into r.statistics, r.statistics2, r.statistics3 * r.bilinear merged into r.resamp.interp * r.digit ('''needs to be ported'''; old display architecture decommissioned) * r.le.patch, r.le.pixel, r.le.setup, r.le.trace: replaced by r.li.* * r.terraflow.short (FP version is sufficient) * v.digit (new wxPython digitizer) == Renamed modules == * '''nviz_cmd''' -> ''m.nviz.image'' * '''d.nviz''' -> ''m.nviz.script'' * '''g.transform''' -> ''m.transform'' == Renamed options == * d.rast * catlist and vallist options merged into new values option * overlay flag inverted to new opaque flag * r.fill.dir * input -> elevation * elevation -> depressionless * r.basins.fill * c_map -> cnetwork * t_map -> tnetwork * result -> output * r.flow * elevin -> elevation * aspin -> aspect * barin -> barrier * flout -> flowline * lgout -> flowpath * dsout -> density * r.li.* * map -> input * r.out.tiff * -t flag -> -w * r.topmodel * belevation -> basin_elevation * r.uslek * usle_k -> output * r.water.outlet * drainage -> input * basin -> output * r.sim.sediment * elevin -> elevation * dxin -> dx * dyin -> dy * detin -> det * tranin -> tran * tauin -> tau * manin -> man * maninval -> man_value * r.sim.water * elevin -> elevation * dxin -> dx * dyin -> dy * rain_val -> rain_value * infil -> infil * infil_val -> infil_value * manin -> man * manin_val -> man_value * r.colors.stddev * input -> map * i.atcorr * iimg -> input * iscl -> range * ialt -> elevation * ivis -> visibility * icnd -> parameters * oimg -> output * oscl -> rescale * input -> map * input -> map * v.in.wfs * wfs -> url * input -> map * v.rast.stats * colprefix -> column_prefix * input -> map * g.region * n -> north * s -> south * e -> east * w -> west * t -> top * b -> bottom * g.pnmcomp * background -> bgcolor * d.erase * color -> bgcolor * background -> bgcolor * i.spectral * raster -> input * coord -> east_north * i.fusion.brovey * outputprefix -> output_prefix * i.image.mosaic * images -> input * r.blend * output -> output_prefix * v.what.vect * vector -> map * qvector -> qmap * r.plane * name -> output * v.rast.stats * vector -> map * d.rast.leg * rast -> raster * d.correlate * layers -> map * i.tasscap * outprefix -> output_prefix * i.in.spotvgt * file -> input * rast -> output * i.in.gns * file -> input * vect -> output * db.out.ogr * db_table -> table * v.in.e00 * file -> input * vect -> output * d.vect * wcolumn -> width_column * wscale -> width_scale * rot_column -> rotation_column * r.to.vect * feature -> type * r.surf.area * input -> map * input -> map * r.texture * measure -> method * v.edit * t -> b * measure -> method