= 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 * Graphical modeler * wxWidgets version of ximgview * Tcl/Tk stuff dropped in favour of Python == 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 == 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.latlong: new * 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 (segmented mode in G7 only a bit slower than all-in-ram mode of G6.4) * r.gwflow/r3.gwflow: Groundwater flow module update * Large File Support (LFS) globally enabled == 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 == 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 functions 'break polygons' and 'snap lines' faster, less memory * Simple Features API/OGR read/write support (ongoing) == Documentation == * Use Python to generate HTML docs == API == * Programmer's manual cleanup: http://download.osgeo.org/grass/grass7_progman/ * 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) * MacOSX portability improved == Removed modules == * d.ask, d.colors, d.extend, d.extract, d.frame, d.mapgraph, d.measure, d.menu, d.mon, d.save, d.what.rast, d.what.vect, d.zoom (old display architecture decommissioned) * d.histogran: integrated in wxGUI * g.ask, g.setproj * i.class, i.ortho.photo, i.points, 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 ('''need to be ported'''; old display architecture decommissioned) * r.le.patch, r.le.pixel, r.le.setup, r.le.trace: replaced by r.li.* * r.sum (?) * r.terraflow.short (FP version is sufficient) * v.digit (new wxPython digitizer) == Renamed options == * r.basins.fill * c_map -> cmap_input * t_map -> tmap_input * result -> output * r.flow * elevin -> elevation_input * aspin -> aspect_input * barin -> barrier_input * flout -> flowline_output * lgout -> flowpath_output * dsout -> density_output * r.li.* * map -> input * r.topmodel * elevation -> elevation_input * basin -> basin_input * depressionless -> depression_output * direction -> direction_output * belevation -> basin_output * topidx -> topidx_output * r.uslek * psand -> psand_input * pclay -> pclay_input * psilt -> psilt_input * pomat -> pomat_input * usle_k -> output * r.water.outlet * drainage -> input * basin -> output * r.watershed * elevation -> elevation_input * depression -> depression_input * flow -> flow_input * disturbed_land -> land_input * blocking -> block_input * accumulation -> accumulation_output * drainage -> drainage_output * basin -> basin_output * stream -> stream_output * half_basin -> half_basin_output * max_slope_length -> slope_length_output * slope_steep -> slope_steep_output * r.sim.sediment * elevin -> elevation_input * wdepth -> wdepth_input * dxin -> dx_input * dyin -> dy_input * detin -> det_input * tranin -> tran_input * tauin -> tau_input * manin -> man_input * maninval -> man_value * tc -> tc_out * et -> et_output * conc -> conc_output * flux -> flux_output * erdep erdep_output * r.sim.water * elevin -> elevation_input * dxin -> dx_input * dyin -> dy_input * rain -> rain_input * rain_val -> rain_value * infil -> infil_input * infil_val -> infil_value * manin -> man_input * manin_val -> man_value * traps -> traps_output * disch -> disch_output * err -> er_output