wiki:Grass7/NewFeatures76

Version 32 (modified by veroandreo, 6 years ago) ( diff )

wip4

List of new features in GRASS GIS 7.6

NOTE: this page is a living document to keeping track of new features that come with GRASS GIS 7.6.0+

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

What's new in a nutshell

After almost 1 year of development the new stable release GRASS GIS 7.6 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.

Releases

  • See list here:
  • The release development was officially moved to a dedicated release branch on Aug 31, 2018 (r73210).

Graphical User Interface

GRASS GIS 7.6 graphical user interface now displays the computational region extent by default in the Map Display window. This simple new feature allows to always visualize such an important basic concept in GRASS GIS and makes it a lot easier for newcomers. Moreover, a new widget has been implemented for commands including an SQL WHERE parameter to ease selection of features/data.

[screenshots here]

Many fixes were aimed to enhance compatibility with wxPython 4. The data catalog, the graphic modeler and the startup have also received many improvements in this new GRASS GIS release.

Modules (commands)

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

General modules

The core G7:g.region module comes with a new grow option that allows to increase or decrease by a certain number of pixels the region extent in all directions.

Raster modules

This new GRASS GIS release comes with 2 new dedicated raster modules. The first one, G76:r.path, can be used to trace paths from different starting points following input directions, such as the outputs of G76:r.cost, G76:r.walk or G76:r.watershed, among others. The second, G76:r.buildvrt, provides the very useful functionality of creating virtual raster (VRT) mosaics from a list of input raster maps. This allows processing big areas while avoiding the creation of physical maps, especially useful when space is limited.

[screenshots here]

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

  • G76:r.proj offers a new pipeline option for high-accuracy re-projection
  • G76:r.info recognizes different types of raster maps, i.e., "raster" (GRASS native), "reclass" (reclassification of another raster map), "GDAL-link" (GRASS link to a GDAL raster band), "virtual" (virtual mosaic of raster maps)
  • G76:r.mapcalc comes with new functions floor() and ceil()
  • G76:r.slope.aspect has a new -n flag to create aspect as degrees clockwise from North (azimuth) and a new -e flag to compute values at edges
  • G76:r.in.srtm now also supports the import of SRTM Water Body Data products (SWBD)
  • G76:r.random has a new seed option to set the seed of the RNG, making it possible to reproduce the same random pixels in different runs
  • G76:r.cost has a new solver option to control which direction is used in case of multiple directions with equal costs
  • G76:r.colors includes inferno, magma and plasma color tables as well as a new flag -d to list available rules with description (e.g. "srtm: color palette for Shuttle Radar Topography Mission elevation [range: -11000 to 8850]")

[screenshot here ideally]

Many raster modules use the new GRASS GIS API for coordinate transformation and are also ready to use PROJ.5 API if available (See Library changes section). This was a significant improvement and a great effort implemented during the OSGeo Code Sprint in Bonn.

Vector modules

Several vector modules have been significantly improved with new options, flags, fixes and other enhancements. Here are the most significant ones:

  • G7:v.proj comes now with a new pipeline option for high-accuracy re-projection
  • G7:v.in.ogr now also converts OpenStreetMap line topology to GRASS topology, inserting nodes where appropriate (further details can be found in this dedicated wiki page OSM vs GRASS topology)
  • G7:v.extract can now dissolve areas not only by category number, but also by attributes, while preserving category values and attribute tables. This is a significant improvement over G76:v.dissolve
  • G7:v.what.rast now supports to collect statistics from multiple input raster maps, instead of only one
  • G76:v.overlay has been improved in speedup for large and complex input areas
  • G76:v.rast.stats now also reports the number of NULL cells and it has a new where option, too
  • G76:v.to.rast now also supports centroids convertion
  • It is now possible to build squared buffers around points when -s flag is set

[screenshot here]

Imagery modules

  • G76:i.atcorr: fixed numerical instability, added example to process Sentinel bands, added PlanetScope 0c-0d 0e 0f-10 support
  • G76:i.segment: fix for memory management estimation, avoid integer overflow with extremely large regions, fix writing out goodness of fit, fix writing out segment ids

Temporal GIS modules

[screenshot]

Scripting

...

User Manuals - Documentation

Translations

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

User manual pages improvements

More than 130 User Manual pages have received major or minor improvements.

GRASS 7 Library changes

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

  • a new raster compression method has been added: ZSTD (ZSTD, see ZSTD on github). ZSTD is an improvement over ZLIB's deflate method, providing both faster and higher compression than ZLIB.
  • a new raster map type has been added: GRASS virtual raster (VRT) which is a virtual mosaic of the list of input raster maps.
  • support for PROJ 5: previously, reprojection from one CRS to another CRS used WGS84 as pivot datum: CRS1 -> WGS84 -> CRS2. This method provided reasonable results and allowed for reprojection on-the-fly. However, using a fixed pivot datum has been regarded as a suboptimal solution for coordinate reprojection, therefore a new mechanism has been introduced in PROJ 5, where custom pipelines for coordinate conversion and transformation can be defined. Together with the new PROJ 5+ API, this pipeline mechanism is now supported starting with proj-5.1.0. Custom coordinate conversion/transformation pipelines can now be defined for raster and vector reprojection.
  • vector modules are now less "chatty" with regard to topology building: only problems are reported, standard topology building messages are only shown with --verbose. This should make it easier for users to spot problems.
  • the segment library uses a new fast all-in-memory cache instead of a file-based cache if all data can be kept in memory
  • ...

Source Code Portability

  • ...
  • ...

GRASS GIS 7.6 Addons

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

Among these new extensions there is a set of new addons to download, import and preprocess Sentinel-2 imagery: G7A:i.sentinel.download, G7A:i.sentinel.import, G7A:i.sentinel.preproc and G7A:i.sentinel.mask, additional imagery modules like, G7A:i.pysptools.unmix for extracting endmembers and spectral unmixing using pysptools or G7A:i.signature. to...

G7A:r.connectivity
G7A:v.rast.bufferstats
G7A:v.what.strds.timestamp

Migrating from GRASS GIS 6 to version 7.x

If you are still using GRASS GIS 6, here details upgrade instructions for own scripts:

  • see here for changes in parameter names and changed flags
  • see here for removed modules and renamed modules
  • see here for renamed options

Attachments (10)

Note: See TracWiki for help on using the wiki.