This is a DRAFT page for the future release of GRASS GIS 7.4

A short summary of changes: New features in GRASS 7.4


Stable Release

Release Candidate 1 (RC1)

SVN Source Code

  • Milestone: 7.4.0
  • SVN Checkout latest 7.4 release branch (including yet unpublished bugfixes):
      svn checkout

Overview of changes

A series of new features and stability fixes, manual improvements, and a few language translations have been added.

The GRASS GIS 7.4.0 release provides more than 649 fixes and improvements with respect to the stable release 7.2.0.

New modules

Major module changes

  • G74:g.proj: When a new location is created from vector data, use the default region s=0 n=1 w=0 e=1 res=1 to avoid potentially invalid region settings (r71491)
  • fixed longitude wrapping for lat/lon locations
  • support import of raster maps exceeding 90N or 90S or with an EW extent larger than 360 degrees
  • lat/lon: automatically fix floating point precision errors in the grid geometry of imported raster maps created with GIS software that uses limited floating point precision (common problem).
  • G74:r.out.gdal: now creates overviews to enhance compatibility with other GIS software packages
  • G74:r.regression.multi: added RMSE and MAE estimation
  • G74:r.what: added new -v flag to return also vector category
  • G74:r3.null: unit tests added
  • G74:v.vect.stats: New cat and where options for area and point vector maps to perform counts or estimate statistics only with selected points over selected areas (r71543)
  • G74:v.out.ogr: New -l flag to list supported formats (r71552)
  • G74:v.out.ogr: Default format changed from Esri Shapefile to OGC GeoPackage? (#3428)
  • and added flag for unique and original categories (#517)
  • G74:v.edit: tool=merge has an improved iteration over list of lines, improved skip invalid lines and zero length lines; added Vedit_extend_lines, improved intersection check; better handling of Vedit_connect_lines by extending both lines; fixed snapping to background map.
  • G74:v.external: new where option
  • G74:i.segment: new mean shift algorithm
  • G74:i.atcorr: added support for Pleiades1a, Pleiades1b, Spot6, Spot7, Sentinel-2A, Rapideye, Worldview3
  • G74:i.modis.qc: Added mod09GA QA definitions
  • Parallelized with OpenMP for multi core systems
  • Parallelized with OpenMP for multi core systems
  • G74:r.sun: Parallelized with OpenMP for multi core systems (port of addOn)

Minor module changes

  • G74:r.clump: fuzzy clumping, multispectral clumping, minimum clump size
  • G74:r.sim.water: added parallelization support
  • G74:r.sim.sediment: added parallelization support
  • added -d flag to use base raster resolution instead of computational region
  • new -r flag to optionally limit import to the current region
  • G74:r.import: added support to subset to region boundaries when importing (extent=region)
  • G74:r.mapcalc: implemented computational region settings based on disjoint union and intersection computation from all input raster maps in an expression
  • G74:r.mapcalc: added area() function to calculate area of pixels
  • G74:r.mapcalc: introduced new functions to access current region dimensions in number of cells
  • G74:r.reclass: it is possible to use more than 100 rules now
  • G74:r.resamp.stats: range, count and diversity methods introduced
  • Fix import of OSM data (r71464)
  • When a new location is created, use the default region s=0 n=1 w=0 e=1 res=1 to avoid potentially invalid region settings (r71490)
  • Support new curve geometry types starting with GDAL 2.0 (r71508, r71514)
  • code restructuring (r71550)
    • projection checks are now performed for all input layers, not only the first layer
    • projection checks are a bit more strict and more verbose in case of trouble
    • the new GDAL 2.2 API is used where possible, avoiding deprecated functions
    • OSM import is properly working, also with spatial filters and with GDAL < 2.2
    • attribute import and table creation is finished before cleaning to avoid lengthy cleaning if tables can not be created, and to avoid a rare segfault when opening a GRASS database driver
    • the code has been restructured to make it a bit less unreadable and to fix the logic of steps (e.g. check output only if output is created)
  • G74:v.rast.stats: added new -d flag for line densification (as in and corresponding tests
  • G74:v.what: new -m flag to query overlapping features
  • G74:v.patch: build topology after appending
  • new parallel implementation and testsuite
  • G74:t.rast.series: added quantile option with test
  • G74:t.rast.mapcalc: added warning before removing empty (null) maps
  • G74:t.rast.export: added GDAL options to support GeoTiff? compression
  • Add test to verify the support of non ascii code
  • G74:t.rast.what:
    • Fixed null value bug, null value definitions are now passed to G74:r.what correctly
    • added function to convert granularity to a smaller granularity

Improvements in the Graphical User Interface

  • Data Catalog (available in the Data tab) can now move and copy data between mapsets and locations, reproject rasters and vectors. This can be performed using right mouse click or drag and drop
  • Metadata of the listed maps in the Data Catalog are now available in the context menu (internally calling,
  • Show computational region function is now available also from menu Settings > Computational region > Show current region extent in Map Display
  • Help and Advanced search buttons in Modules tab to show documentation (manual pages) for modules
  • Selected sample locations can be now downloaded from the Startup windows using a Download button next to location selection
  • The GRASS GIS Spatial Database Directory is now automatically filled (if available on disk) when user starts GRASS GIS for the first time
  • Access errors for creating location are now shown in the GUI instead of a traceback in the command line
  • Map Display title is now more readable and says GRASS GIS Map Display: name - location/mapset
  • Map Display new web browser-like shortcuts for re-rendering
  • Simple Python Editor is now available from the File menu
  • Font can be selected interactively in module dialogs and there are some new symbols for vectors
  • G74:g.gui.gcp: vector map rectification has been improved (#3066)



  • PyGRASS:
    • Implemented MultiModule class and enabled temporary region environment for multi module runs. This class allows to put multiple modules into the parallel module queue, for example coupled g.region and r.mapcalc calls, that must be run in a specific order but many of these combined calls should run in parallel
    • fix _check function to not raise an Error when iterating over available mapsets in a location if a non valid mapset exists

User Manuals - Documentation

GRASS 7 Library changes

  • Temporal framework:
    • Implemented temporal algebra complement tests that show the current condition bugs
    • Added spatial topological operators to the temporal algebra (r71369)
    • Tests regarding implicit temporal aggregation
    • improved gran_to_gran function to return correctly years and second values
    • added function to convert granularity to a smaller granularity
    • Enabled raster region specific parallel processing by using the MultiModule? class
  • libproj:
    • improved integration of GDAL and streamlining of spatial reference system handling
    • added GPJ_grass_to_wkt2() and GPJ_grass_to_osr2()
  • python vector scripting library:
    • added layer variable to vector_info and vector_info_topo functions
  • libgis:
    • support global datasets which slightly exceed -180..+180, -90..+90
    • G_window_percentage_overlap() now accounts for N == S or E == W
    • new G_adjust_window_ll() to automatically fix lat/lon errors
    • relax ll restrictions when reading DMS coords
    • support for HTML/CSS hash hexadecimal colors in G_str_to_color()
  • libraster:
    • fix/improve Rast_align_window()
    • NULL file compression by default
  • libsim:
    • more control over seeding for random number generator

New Addons since GRASS 7.2.0

Closed tickets

Closed bugs since the last release

v.kernel and overwriting
r.viewshed binary flag (-b) not working correctly
vector import wizzard and --ui fails to import a vector
GetEventHandler assertation after loading workspace twice
Behavior of v.sort.points
#3356 incorrect area calculations in lat-long location
r.import inconsistent behavior when using and r.proj
encoding issue when launching modules
Patch to fix various spelling errors

Closed wishes since the last release

#2055 lacks flag "-r Limit import to the current region"
Include map elements into GRASS workspaces
support for background option for grid labels in d.grid
Add text after labels in d.legend
d.legend.vect: possibility to change text of displayed labels and select labels to show/not show
r.terraflow requires all output options to be given
r.seasons: add option to use an input map with per-cell thresholds
Better error message if fails during networking
v.vect.stats: add "where" option
GUI: Make metadata accessible in Data tab

Last modified 2 days ago Last modified on Nov 17, 2017 7:36:09 AM