Version 155 (modified by 12 years ago) ( diff ) | ,
---|
List of new features in GRASS 7
GRASS GIS 7 is the current development version of GRASS GIS. In total, more than 10,000 changes have been implemented so far with respect to GRASS GIS 6.4. The development was started in April 2008 (r31142). Since then a lot of new features have been added to GRASS 7; until the official release becomes available, it is already possible to use GRASS GIS 7 through nightly snapshots.
The graphical user interface based on wxPython (introduced in GRASS GIS 6.4) has been enriched with many new features in order to make complex GIS operations available as simple as possible. The old Tcl/Tk based GUI has been dropped. Relevant new features are available in the core system, among the most important the new Python interface to the C library. This new feature permits Python developers to create new modules in a simple way while at the same time creating powerful and fast modules. Furthermore, the vector library was particularly improved to make it faster and more efficient with support of huge files. This required a easy to manage topology format update including a new spatial index. Finally, there are a series of new modules to analyse raster and vector data; some of the already existing modules were improved and made faster (some even 1000 x faster). For details see below.
Table of Contents
Graphical User Interface
- wxGUI improved (see manual)
- Advanced GRASS command console
- Location wizard: support for creation of planetary ellipsoid locations
- Graphical modeler
- Improved wxNviz
- wxWidgets version of ximgview
- Tcl/Tk stuff dropped in favour of wxPython
- New GUI modules
- G7:g.gui.animation: new
- G7:g.gui.dbmgr: new
- G7:g.gui.gmodeler: new
- G7:g.gui.iclass: new
- G7:g.gui.mapswipe: new
- G7:g.gui.psmap: new
- G7:g.gui.rlisetup: new
- G7:g.gui.vdigit: new
Display modules
- old display architecture removed including related modules
- new display architecture based on CAIRO and wxPython
- G7:ximgview: new
General modules
- G7:g.cairocomp: new
- G7:g.mapset: new flag to print current mapset
- G7:g.ppmtopng: new
- G7:g.region: new flag to export region bounding box in WMS style
Image processing
- G7:i.albedo: new
- G7:i.aster.toar: new
- G7:i.biomass: new
- i.class: rewritten in wxGUI
- G7:i.cca: supports now much more raster maps for canonical analyses (multi-spectral (8) -> hyper-spectral (thousands)), converted from Fortran style to C-style
- G7:i.eb.eta: new
- G7:i.eb.evapfr: new
- G7:i.eb.h_sebal01: new
- G7:i.eb.netrad: new
- G7:i.eb.soilheatflux: new
- G7:i.emissivity: new
- G7:i.evapo.mh: new
- G7:i.evapo.pm: new
- G7:i.evapo.pt: new
- G7:i.evapo.time: new
- G7:i.fft and G7: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. G7: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.
- G7:i.latlong: new
- i.fusion.brovey: removed, functionality provided by G7:i.pansharpen
- G7:i.landsat.toar: new (from addons)
- G7:i.landsat.acca: new (from addons)
- G7:i.modis.qc: new
- i.ortho.photo: rewritten as G7:i.ortho.rectify: restructured and optimized; batch job capable
- G7:i.pansharpen: new
- G7:i.segment: new
- G7:i.vi: new
Raster modules
- Large File Support (LFS) globally enabled
- G7:r.colors.out: new
- G7:r.cost faster by orders of magnitude (10x - 100x)
- G7:r.cross handling of null values fixed; Use btree library instead of inlined version for speed
- G7:r.external.out: new
- G7:r.fillnulls: fill each hole separately thus improving quality and speed
- G7:r.gwflow/!G7:r3.gwflow: Groundwater flow module update
- G7:r.in.lidar: new
- G7:r.in.wms: new implementation, + WMTS and NASA OnEarth support
- G7:r.mapcalc: white space is needed before/after the = sign (r.mapcalc "outmap = inmap"); use pthreads for parsing
- G7:r.neighbours: added new option to process only marked cells (i.e: selective elevation map improvement)
- G7:r.pack, G7:r.unpack: new
- G7:r.regression.multi: new
- G7:r.resamp.filter: new - resamples raster map layers using an analytic kernel
- G7:r.solute.transport: new; New module to compute the solute transport of groundwater in porous media using an implicit finite volume approach
- G7:r.statistics2: new
- G7:r.statistics3: new
- G7:r.sunhours: new
- G7:r.uslek: new
- G7:r.usler: new
- G7:r.walk faster by orders of magnitude (10x - 1000x)
- G7: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.
Vector modules
- Large File Support (LFS) globally enabled
- G7:v.kernel faster by orders of magnitude (10x - 1000x)
- G7:v.krige: new
- G7:v.mkgrid: breaks are breaks not number of segments; speedup 16x times
- G7:v.net: improved, it allows now to snap the points onto the network
- G7:v.net.distance: improved
- G7:v.net.bridge: improved
- G7:v.net.salesman: optional tour optimization added. The standard algorithm to find the shortest tour is heuristic and often does not find the optimal tour for more than 10 nodes to visit. The optimization methods available are bootstrapping and a genetic algorithm.
- G7:v.net.spanningtree: improved
- G7:v.net.flow: improved
- G7:v.net.connectivity: improved
- G7:v.net.timetable: improved
- G7:v.net.components: improved
- G7:v.net.allpairs: improved
- G7:v.net.centrality: improved
- G7:v.in.ogr faster for polygon-import, cleaner output.
- G7:v.out.ogr: reversed functionality of -c flag to preserve island by default.
- G7:v.in.lidar: new
- G7:v.colors: rewrite in C, support for vector color tables
- G7:v.colors.out: new
- G7:v.overlay: up to 40x faster for large vectors (40,000+ lines in ainput)
- G7:v.out.postgis: new
- G7:v.pack: new
- G7:v.unpack: new
3D raster modules
- G7:r3.colors: new
- G7:r3.colors.out: new
- G7:r3.out.bin: new
- G7:r3.in.bin: new
- G7:r3.out.netcdf: new
- G7:r3.retile: new
Temporal GIS modules
The temporal GRASS GIS 7 framework has been developed to manage, process and analyse large scale, spatio-temporal environmental data. In detail, the framework supports querying and map calculation of spatio-temporal data, aggregation, statistics and gap filling, and data export, import, and conversion. A spatio-temporal topology builder is available to build spatio-temporal topology connections between map objects for 1D, 3D and 4D extents. The topology creation is based on the R*Tree implementation in the vector library which supports even 4D extents.
- G7:t.create: new
- G7:t.info: new
- G7:t.list: new
- G7:t.remove: new
- G7:t.rename: new
- G7:t.register: new
- G7:t.shift: new
- G7:t.snap: new
- G7:t.sample: new
- G7:t.support: new
- G7:t.topology: new
- G7:t.unregister: new
- G7:t.rast.aggregate.ds: new
- G7:t.rast.aggregate: new
- G7:t.rast.colors: new
- G7:t.rast.export: new
- G7:t.rast.extract: new
- G7:t.rast.list: new
- G7:t.rast.import: new
- G7:t.rast.mapcalc: new
- G7:t.rast.neighbors: new
- G7:t.rast.gapfill: new
- G7:t.rast.out.vtk: new
- G7:t.rast.series: new
- G7:t.rast.to.rast3: new
- G7:t.rast.univar: new
- G7:t.rast3d.mapcalc: new
- G7:t.rast3d.list: new
- G7:t.rast3d.extract: new
- G7:t.rast3d.univar: new
- G7:t.vect.extract: new
- G7:t.vect.export: new
- G7:t.vect.import: new
- G7:t.vect.list: new
- G7:t.vect.observe.strds: new
- G7:t.vect.db.select: new
- G7:t.vect.what.strds: new
- G7:t.vect.univar: new
Scripts
- All Bash scripts converted to Python, especially for portability reasons and speed.
- Initialization scripts also based on Python
GRASS 7 Library changes
GRASS GIS Temporal Framework
- new Python framework to implement spatio-temporal modules
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. See especially Function name changes from GRASS 6 to GRASS 7
Libvector
- Large File Support (LFS) added
- New topology, requires rebuilding topology with G7:v.build (G7:v.build.all) when switching between GRASS 6.x and GRASS 7
- New spatial index: faster queries (>10x for large vectors), less memory for opening an existing vector
- New option added to use a file-based version of the spatial index which can be activated by setting the new shell environment variable GRASS_VECTOR_LOWMEM (e.g., in bash: 'export GRASS_VECTOR_LOWMEM=1' and deactivated with 'unset GRASS_VECTOR_LOWMEM')
- New main topology: reduced memory and disk space requirements, generally faster processing
- 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)
- Vector network analysis for large datasets (as other vector operations) should require much less memory in GRASS 7 because of substantial vector library changes
User Manual - Documentation
- Use Python to generate HTML docs
API improvements
- Programmer's manual cleanup: http://grass.osgeo.org/programming7
- Improved Python API
- read/write GRASS rasters to/from NumPy
- New Python high level map interaction: pygrass
- libgis supports the automatic generation of a WPS 1.0.0 process description XML document for each module (c, c++, python, shell)
- Function name changes from GRASS 6 to GRASS 7: See Grass7/RasterLib/ListOfFunctions etc.
Source Code 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 G7:r.statistics, G7:r.statistics2, G7:r.statistics3
- r.bilinear merged into G7:r.resamp.interp
- r.digit (needs to be ported; old display architecture decommissioned, wxRdigit under development)
- r.le.patch, r.le.pixel, r.le.setup, r.le.trace: replaced by G7:r.li.*
- r.terraflow.short (FP version is sufficient)
- v.digit (new wxPython digitizer)
Renamed modules
- i.class rewritten as G7:g.gui.iclass (new wxGUI)
- i.ortho.photo rewritten as G7:i.ortho.rectify: restructured and optimized; batch job capable
- d.nviz -> G7:m.nviz.script
- g.transform -> G7:m.transform
- nviz_cmd -> G7:m.nviz.image
Renamed options
Some parameter names (options) have been renamed to achieve greater consistency. User scripts from GRASS 6 may need minor updates to run with GRASS 7 according to the changes listed below:
Global module changes
- fs= (field separator) -> separator=
Display module changes
- G7:d.correlate
- layers -> map
- G7:d.erase
- color -> bgcolor
- background -> bgcolor
- G7:d.rast
- catlist and vallist options merged into new values option
- overlay flag inverted to new opaque flag
- G7:d.rast.leg
- rast -> raster
- G7:d.vect
- wcolumn -> width_column
- wscale -> width_scale
- rot_column -> rotation_column
Database management module changes
- G7:db.out.ogr
- db_table -> table
- G7:db.select
- vs -> vseparator
General map management module changes
- G7:g.mapsets
- addmapset,removemapset -> operation
- measure -> method
- G7:g.pnmcomp
- background -> bgcolor
- G7:g.region
- n -> north
- s -> south
- e -> east
- w -> west
- t -> top
- b -> bottom
Image processing module changes
- G7:i.atcorr
- iimg -> input
- iscl -> range
- ialt -> elevation
- ivis -> visibility
- icnd -> parameters
- oimg -> output
- oscl -> rescale
- input -> map
- input -> map
- G7:i.image.mosaic
- images -> input
- G7:i.in.spotvgt
- file -> input
- rast -> output
- G7:i.in.gns
- file -> input
- vect -> output
- G7:i.spectral
- raster -> input
- coord -> east_north
- G7:i.tasscap
- outprefix -> output_prefix
- G7:i.maxlik
- sigfile -> signaturefile
- class -> output
Raster module changes
- G7:r.basins.fill
- c_map -> cnetwork
- t_map -> tnetwork
- result -> output
- G7:r.blend
- output -> output_prefix
- G7:r.colors.stddev
- input -> map
- G7:r.external
- the -r flag has been removed, approximate range is not ok
- G7:r.fill.dir
- elevation -> output
- direction -> outdir
- type -> format
- G7:r.flow
- elevin -> elevation
- aspin -> aspect
- barin -> barrier
- flout -> flowline
- lgout -> flowpath
- dsout -> density
- G7:r.li.*
- map -> input
- G7:r.out.tiff
- -t flag -> -w
- G7:r.in.wms
- mapserver -> url
- G7:r.plane
- name -> output
- G7:r.reclass
- use of rules parameter is mandatory in grass 7.0, also when the reclass rules are piped through another program (use rules=-)
- G7:r.topmodel
- belevation -> basin_elevation
- G7:r.sim.sediment
- elevin -> elevation
- dxin -> dx
- dyin -> dy
- detin -> det
- tranin -> tran
- tauin -> tau
- manin -> man
- maninval -> man_value
- G7: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
- G7:r.sun
- Shading (-s) is now the default. Use planar mode (-p) to ignore shadows.
- elevin -> elen_in
- aspin -> asp_in
- slopein -> slope_in
- linkein -> linke_in
- latin -> lat_in
- longin -> long_in
- coefbh -> coef_bh
- coefdh -> coef_dh
- horizonstep -> horizon_step
- declin -> declination
- dist -> distance_step
- numpartitions -> num_partitions
- civiltime -> civil_time
- G7:r.surf.area
- input -> map
- input -> map
- G7:r.texture
- measure -> method
- G7:r.to.vect
- feature -> type
- G7:r.uslek
- usle_k -> output
- G7:r.water.outlet
- drainage -> input
- basin -> output
- G7:r.what
- east_north -> coordinates
- G7:r.distance
- maps -> map
- G7:r.cost
- coordinate -> start_coordinates
- G7:r.walk
- coordinate -> start_coordinates
- G7:r.drain
- voutput -> vector_output
- coordinates -> start_coordinates
- vector_points -> start_points
Vector module changes
- G7:v.edit
- t -> b
- measure -> method
- G7:v.info
- layer=integer -> layer=string
- G7:v.in.e00
- file -> input
- vect -> output
- G7:v.in.wfs
- wfs -> url
- input -> map
- G7:v.out.ogr: the meaning of the -c flag has been reverted in GRASS 7 because the default must be to export only features with categories in the selected layer (the user needs to select a GRASS vector layer for v.out.ogr which will be translated to an OGR layer). If features without category are exported, the logic of matching a GRASS vector layer to a OGR layer is violated. This is particularly true for areas with islands which are in simple feature terminology polygons with holes.
- G7:v.rast.stats
- colprefix -> column_prefix
- input -> map
- G7:v.what.vect
- vector -> map
- qvector -> qmap
- G7:v.surf.rst
- maskmap -> mask
- treefile -> treeseg
- overfile -> overwin
- elev -> elevation
- G7:v.drape
- rast -> elevation
- elev -> elevation
Attachments (10)
-
grass700RC2_startup.png
(89.6 KB
) - added by 10 years ago.
GRASS GIS 7.0.0 startup screen
-
splash_screen.png
(186.8 KB
) - added by 10 years ago.
GRASS 7 splash screen
-
d_shade.jpg
(77.5 KB
) - added by 10 years ago.
Screenshot d.shade
-
i_col_enh_corr.jpg
(53.1 KB
) - added by 10 years ago.
Screenshot i.landsat.toar
-
temporal_timeline_2D.jpg
(54.2 KB
) - added by 10 years ago.
Screenshot temporal framework t.*
-
v_hull_3d.png
(47.9 KB
) - added by 10 years ago.
Screenshot v.hull 3D map
-
v_net_distance.jpg
(84.0 KB
) - added by 10 years ago.
Screenshot v.net.distance
-
wxGUI_gmodeler.png
(65.6 KB
) - added by 10 years ago.
Screenshot wxGUI graphical modeler
-
wxGUI_iscatt.jpg
(73.5 KB
) - added by 10 years ago.
Screenshot wxGUI scatterplot tool
-
wxGUI_vnet.jpg
(43.6 KB
) - added by 10 years ago.
Screenshot wxGUI vector network analyst
Download all attachments as: .zip