A short summary of changes: New features in GRASS 7.4


Stable Release

Release Candidate 2 (RC2)

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 710 fixes and improvements with respect to the stable release 7.2.0.

New modules

  • G74:r.fill.stats: Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW).
  • G74:r.geomorphon: calculate geomorphons (terrain forms) and associated geometry using machine vision approach (moved from addons)
  • G74:g.gui.image2target: managing Ground Control Points for 3D correction.
  • G74:g.gui.photo2image: correct scanning distortions of a scanned aerial photo
  • G74:v.clip: extract features of input map which overlay features of clip map (moved from addons)
  • G74:v.profile: new vector map profiling tool (moved from addons)

Major module changes

(see also below for closed bugs)

  • 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
  • G74:i.atcorr: added support for Pleiades1a, Pleiades1b, Spot6, Spot7, Sentinel-2A, Rapideye, Worldview3. Fixed band order for WorldView2
  • G74:i.modis.qc: Added mod09GA QA definitions
  • G74:i.segment: new mean shift algorithm
  • 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.sim.water: Parallelized with OpenMP for multi core systems (integration of addon)
  • G74:r.sun: Parallelized with OpenMP for multi core systems (integration of addon)
  • G74:r.what: added new -v flag to return also vector category
  • 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
  • and added flag for unique and original categories (#517)
  • G74:v.out.ogr: Default format changed from Esri Shapefile to OGC GeoPackage (#3428)
  • G74:v.out.ogr: New -l flag to list supported formats (r71552)
  • Parallelized with OpenMP for multi core systems
  • Parallelized with OpenMP for multi core systems
  • 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)
  • lat/lon locations: 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).
  • support import of raster maps exceeding 90N or 90S or with an EW extent larger than 360 degrees
  • various commands: unit tests added

Minor module changes

(see also below for closed bugs)

  • G74:i.atcorr: fix loading spectral responses
  • G74:r.clump: fuzzy clumping, multispectral clumping, minimum clump size
  • G74:r.external.out: export also coordinate reference system (CRS)
  • 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.what: reset lists for each input map
  • 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

Projection support

  • Regarding EPSG:3857 which uses spherical development of ellipsoidal coordinates: Relative to WGS 84 / World Mercator (EPSG:3395) errors of 0.7 percent in scale and differences in northing of up to 43km in the map (equivalent to 21km on the ground) may arise. This has been fixed in recent GRASS 7.4.0+, providing same results like GDAL.

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
  • diglib: fix bug caused by compiler optimizations
  • 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
    • support range of categories for CELL type
    • eliminate RPC/XDR dependency from raster library
  • libsim:
    • more control over seeding for random number generator

User Manuals - Documentation

Message Translations


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
Problem with menu "path to GRASS database" in v.proj en r.proj windows
r.import: ERROR: Input raster map is outside current region
grass-7.0.1: compiling on Gentoo shows warnings when built with -Wagressive-loop-optimizations
i.atcorr's broken
vector import wizzard and --ui fails to import a vector
GetEventHandler assertation after loading workspace twice
#3343 broken and duplicated in trunk and addons
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
v.import: ERROR: Invalid e-w resolution field: 0 when importing EU_LAEA point into Sinusoidal location
v.buffer silently ignores options depending on buffering alhorithm in use
Patch to fix various spelling errors
Trunk fails to compile on Xenial
v.what test broken
Compilation failure with >=glibc-2.14 due to missing rpc
#3477 segmentation fault
7.4 version not available for Ubuntu 17.10

Closed wishes since the last release

Interactive geometry selection and export tool for wxgui
add EPSG:900913 to location wizard
r.horizon bugfix and speedup
wxgui: ctrl-t to tile layer manager and map window full screen
#2055 lacks flag "-r Limit import to the current region"
rfe auto-calc memory= value
wish: all modules that create a new map should put the module call into history
t.rast.aggregate: Name output rasters based on start-time
GRASS 7.0.0. r.viewshed issue
Include map elements into GRASS workspaces
t.rast.import: add memory parameter
GRASS 7.0 Beta 3 for windows cannot read .laz files
Missing Vect_new_map_struct
support for background option for grid labels in d.grid
support for color and background color in "Add text layer" from wx monitors
Adding Spot6/7 and Pleiades1A/B to i.atcorr
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
Patch to fix various spelling errors

Last modified 5 years ago Last modified on Nov 8, 2018, 2:11:45 PM
Note: See TracWiki for help on using the wiki.