wiki:Grass7/NewFeatures74

List of new features in GRASS GIS 7.4

GRASS GIS 7.4 is actively developed and maintained with a first 7.4.0 stable release in January 2018. In total, it comes with more than 480 fixes and improvements with respect to the previous stable releases 7.2.x. This page summarizes the manifold new features which have been added to GRASS 7.4.

Startup of GRASS GIS 7.4.0 with sample data download

What's new in a nutshell

After more than 1 year of development the new stable release GRASS GIS 7.4 is available. Efforts have concentrated on making the user experience even better, providing many new useful additional functionalities to modules and further improving the graphical user interface. Several modules were migrated from addons to the core GRASS GIS package and the suite of tools for ortho-rectification was reimplemented in the new GRASS 7 GUI style. In order to support the treatment of massive datasets, new compression algorithms were introduced and NULL files are now also compressed by default.

Releases

  • See list here: Release/7.4.0-News (Jan 2018)
  • The development was officially moved to a dedicated release branch on November 12, 2017 (r71701).

Graphical User Interface

GRASS GIS 7.4 graphical user interface comes with a new Download button in the Startup windows next to location selection that allows to download selected sample locations directly into grassdata directory.

The Data Catalog (available in the Data tab) can now move and copy data between mapsets and locations, as well as reproject rasters and vectors. This can be done just by using right mouse click or drag and drop. Moreover, metadata of the listed maps are available in the context menu.

Copy raster and vector maps including reprojection
wxGUI Data Catalog: Copy raster and vector maps over different locations including reprojection

There is also a new Show computational region function available also from menu Settings > Computational region > Show current region extent in Map Display.

show current computational region extent in map display
Show current computational region in the Map Display

The Modules tab includes now Help and Advanced search buttons to show documentation for modules. Moreover, the Map Display has new web browser-like shortcuts for re-rendering maps. The Simple Python Editor is now available from the File menu. Font type can be selected interactively in module dialogs and there are some new symbols for vectors display. Not only that, but there are two new modules that were ported from GRASS 6:

g.gui.image2target screenshot (by Luca Delucchi) Georectified aerial photo (screenshot by Luca Delucchi)
G74:g.gui.image2target Georectified photo

Modules (commands)

A series of new modules has been added and many improved.

General modules

When a new location is created from vector data, G74:g.proj uses the default region s=0 n=1 w=0 e=1 res=1 to avoid potentially invalid region settings.

Raster modules

A new module, G74:r.geomorphon, to calculate geomorphons (terrain forms) and associated geometry using machine vision approach has been integrated (moved from Add-ons) into the core functionalities of GRASS GIS. A very nice addition to G74:r.out.gdal is the possibility to create overviews which enhances the compatibility with other GIS software packages.

G74:r.in.gdal and G74:r.external provide support for import of raster maps exceeding 90N or 90S or with an EW extent larger than 360 degrees. Moreover, for imported lat-lon maps created with GIS software that uses limited floating point precision (common problem), an automatic fix of floating point precision errors in the grid geometry was implemented. Furthermore, G74:r.in.gdal and G74:r.import allow to optionally limit the import map to the current region (through -r flag and extent=region, respectively).

Several other raster modules have been improved with new options, flags or parallelization support:

example of r.regression.multi by Paulo van Breugel example of fuzzy clumping
Example of r.regression.multi Fuzzy clumping using threshold=0.07 and minsize=10

Vector modules

The already impressive list of vector functions in GRASS GIS now includes two new modules that have been moved from add-ons: G74:v.clip: to extract features of input map which overlay features of clip map and G74:v.profile: a vector point and line profiling tool complementing G74:r.profile.

v.clip example contributed by Paulo Van Breugel
Example of vector clipping

G74:v.in.ogr has received several improvements in the past year. The code has been restructured to make it more readable and to fix the logic of steps (e.g. check output only if output is created). Furthermore, the new GDAL 2.2 API is used where possible, avoiding deprecated functions. Projection checks are now performed for all input layers, not only the first layer and, they are a bit more strict and verbose in case of problems. Some other improvements and fixes include:

  • Use of the default region s=0 n=1 w=0 e=1 res=1 to avoid potentially invalid region settings when a new location is created from a vector file.
  • Support for new curve geometry types starting with GDAL 2.0
  • Proper import of OSM with spatial filters and with GDAL < 2.2

Several other vector modules have been significantly improved with new options, flags, fixes and other enhancements:

  • New cat and where options for area and point vector maps in G74:v.vect.stats to perform counts or estimate statistics only with selected points over selected areas
  • G74:v.out.ogr has a new -l flag to list supported formats and the default format changed from Esri Shapefile to OGC GeoPackage
  • G74:v.edit has various enhancements: new Vedit_extend_lines function, the merge tool has an improved iteration over list of lines, improved skip of invalid lines and intersection check, better handling of Vedit_connect_lines by extending both lines and fixed snapping to background map
  • New -d flag for line densification in G74:v.rast.stats (as in G74:v.to.rast)
  • New -m flag to query overlapping features in G74:v.what
  • New parallel implementation and testsuite for G74:v.surf.rst

Imagery modules

G74:i.atcorr now includes support for the atmospheric correction of 7 new satellite images: Pleiades1a, Pleiades1b, Spot6, Spot7, Sentinel-2A, Rapideye, Worldview3 and mod09GA QA definitions was added to G74:i.modis.qc. In addition to the already existent region growing algorithms, G74:i.segment now also includes mean shift.

support for more satellites in i.atcorr support for mod09 in i.modis.qc
New satellites supported in i.atcorr New QA definitions in i.modis.qc

Temporal GIS modules

The main change in the temporal framework is the introduction of spatial topological operators to the temporal algebra in G74:t.rast.algebra. Moreover, the quantile method has been added to G74:t.rast.series. On the other hand, G74:t.rast.what now has a new flag -v that returns the category for vector points map and a bug in NULL values was fixed, so null value definitions are now passed to G74:r.what correctly. G74:t.rast.export has now support for GDAL options to support GeoTiff compression.

Scripting

A new class has been implemented in PyGRASS, MultiModule, which enables temporary region environment for multi module runs. This class allows to put multiple modules into the parallel module queue, for example coupled G74:g.region and G74:r.mapcalc calls, that must be run in a specific order but many of these combined calls should run in parallel.

User Manuals - Documentation

Translations

Translations are now managed in Transifex (please join and translate messages): https://www.transifex.com/grass-gis/grass72

User manual pages improvements

More than 130 User Manual pages have received major or minor improvements. Several of these include new examples and screenshots contributed by high-school students participating in the 2017-2018 edition of the Google Code-In contest.

GRASS 7 Library changes

In the past year of development, there were several changes in different GRASS GIS libraries. The most relavant changes are described below:

  • In the libraster there is now NULL file compression by default and longitude wrapping has been fixed for lat/lon locations.
  • The temporal framework has now support for spatial topological operators in the temporal algebra, several tests were added as well as a new function to convert granularity to a smaller granularity. Raster region specific parallel processing has been enabled by means of the MultiModule new class in PyGRASS.
  • libproj now provides improved integration of GDAL and streamlining of spatial reference system handling with better support for US datums, as well as new functions (GPJ_grass_to_wkt2 and GPJ_grass_to_osr2).
  • libgis has received several major and minor enhancements. There are new functions such as G_adjust_window_ll to automatically fix lat-lon errors and the lat-lon restrictions when reading DMS coords were relaxed. On the other hand, G_window_percentage_overlap now accounts for N == S or E == W. The function G_compare_projections has an enhanced ellipsoid check. Moreover, BZIP2 compression has been improved for speed and support for HTML/CSS hash hexadecimal colors has been added in G_str_to_color.
  • GRASS GIS now supports global datasets which slightly exceed -180..+180, -90..+90

Source Code Portability

GRASS GIS 7.4 Addons

There are twenty six 26 new addons that now enlarge the already impressive list of extensions available (see http://grass.osgeo.org/grass7/manuals/addons/).

Among these new extensions there is a set of components, r.gsflow.* and v.gsflow.*, that uses GRASS GIS to create inputs for the integrated hydrologic model GSFLOW. Developed by the US Geological Survey, GSFLOW combines the groundwater model MODFLOW with a rainfall-runoff model, PRMS, but lacked a streamlined way to generate inputs and execute the model. The new GRASS GIS addons build the computational domain for the model, including nested sub-basins for runoff, grid cells for groundwater, and segments for the stream network that are required by GSFLOW; they then export their attributes, which are read in by GSFLOW-GRASS to create the input files and run GSFLOW. In this (yet unpublished) paper it is possible to find more information and details about the workflow to run GSFLOW model.

gsflow addons example contributed by Andy Wickert
Outputs of v.gsflow.* and r.gsflow.* addons

Migrating from GRASS GIS 6 to version 7.x

  • see here for changes in parameter names and changed flags
  • see here for removed modules and renamed modules
  • see here for renamed options
Last modified 7 months ago Last modified on Feb 1, 2018 2:32:45 PM

Attachments (12)