Grass GIS Changelog

What's new in Grass GIS 8.0.0

Feb 15, 2022
  • Graphical User Interface (GUI):
  • GRASS GIS 8.0 graphical user interface comes with an entirely new concept of startup mechanism. Users will no longer find any confusing startup screen when launching the software. The GRASS GUI data management centerpiece now lies in the enriched Data Catalog, which enables a user-friendly management of GRASS data hierarchy elements - databases, locations, and mapsets. To make the initial contact easier, all these special terms are clarified in the pre-prepared location launched when the software is run for the first time. Additionally, some info bars appear to help with setting up a new location and importing data. Thanks to the Data Catalog, the next time GRASS is launched users can switch easily from the last used mapset to another one. This makes working with the software easier for both GIS beginners and existing GRASS users.
  • Raster modules:
  • A new metadata class can now be added to raster maps. We called it semantic labels. Examples of semantic labels are satellite bands (blue, green, red, nir, etc.), dataset names in remote sensing products (ndvi, evi, lst, etc.), or whatever the user wants to use to identify raster maps. This new feature brings in a series of advantages. Users can register time series of satellite images and then select which bands or semantic labels to work with, for example, estimate NDVI from a Sentinel 2 time series: t.rast.mapcalc inputs=test.S2_8,test.S2_4 output=ndvi basename=ndvi expression="float(test.S2_8 - test.S2_4) / (test.S2_8 + test.S2_4)"
  • 3D view of a point cloud:
  • Semantic labels might be added either by means of the enhanced r.support or with a new module r.semantic.label that manages (adds, removes or print) semantic label information assigned to a single raster map or to a list of raster maps. Furthermore, semantic labels can also be passed in a text file when registering raster maps into time series by means of t.register.
  • There’s a new raster module, r.in.pdal, a PDAL based replacement of r.in.lidar that allows to import any point dimension (including user defined ones e.g. from PDAL filters), supports 19 binning methods (including eigenvalues) and point filtering by values in any dimension.
  • Imagery modules:
  • All raster classification modules now generate signature files with embedded semantic labels. This allows to apply the signature file from one imagery scene (group) to any number of other scenes as long as they consist of the same bands (as identified by their semantic labels). This makes it so much easier to classify different imagery groups with identical semantic labels.
  • The new module i.band.library stores and prints available semantic labels used for multispectral data. So far only system-defined band references are supported, i.e., Landsat 5, Landsat 7, Landsat 8 and Sentinel 2.
  • Temporal GIS modules:
  • With the addition of semantic labels, the temporal database was modified to version 3 and hence, to be able to read and process GRASS 7.x space-time datasets, users will be prompted to run the new t.upgrade module. If users want to read space-time datasets newly created in GRASS 8 back in GRASS 7.x, they can run t.downgrade.
  • General modules:
  • g.extension, the tool allowing to install extensions, received extensive changes to adapt to the new addons repository structure with branches pointing to different GRASS major versions. This change introduced the possibility to install pull request branches making it so much faster to test new changes.
  • Scripting and code quality:
  • Major efforts have been made to port all Python scripts to Python 3.6. Also, there’s a new Python subpackage for working with locations and mapsets. All Python code has been formatted with black and checked against flake8. Most warnings in C code were removed and are now checked and, all code is tested with CodeQL.
  • PROJ and GDAL support:
  • PROJ 4 to PROJ 8 compatibility has been implemented. WKT2 can be used for CRS definitions. High-accuracy coordinate transformations supported. GDAL 3 compatibility improved with speed-ups.

New in Grass GIS 7.6.0 (Jan 28, 2019)

  • 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. Furthermore, ZSTD has been added a new raster compression method which is an improvement over ZLIB's deflate method, providing both faster and higher compression than ZLIB. Also a new raster map type has been added: GRASS virtual raster (VRT) which is a virtual mosaic of the list of input raster maps. In addition, support for PROJ v. 5 has been implemented. For details, see below.
  • 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.
  • Modules (commands):
  • A series of new modules has been added and many improved as outlined below.
  • 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 3 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 one, G76:r.buildvrt, provides the very useful functionality of creating virtual raster (VRT) mosaics from a list of input raster maps. This is very useful when the original data are available in tiles which can now be virtually mosaiked to a single map without overhead for easier analysis. G76:r.buildvrt hence allows processing big areas while avoiding the creation of physical maps, especially useful when space is limited. ​Finally, there is now G76:r.mapcalc.simple, a tool to calculate a new raster map from a simple r.mapcalc expression.
  • 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 provided by PROJ v. 5
  • 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]")
  • 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 provided by PROJ v. 5
  • G7:v.in.ogr now also converts OpenStreetMap line topology to GRASS GIS 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
  • G76:v.overlay has been improved significantly to speedup large and complex input areas processing
  • G76:v.rast.stats now also reports the number of NULL cells and it has a new 'where' option. In addition, multiple raster maps can now be passed as input to the module to collect statistics
  • G76:v.to.rast now also supports conversion of centroids
  • ​G76:v.buffer now offers to also build squared buffers around points when the -s flag is set
  • Imagery modules:
  • Various imagery modules received fixes and enhancements. A lot of work has been put into G76:i.atcorr to fix numerical instability in the 6S method for atmospheric correction. The module now also supports PlanetScope 0c-0d, 0e, and 0f-10 images. A detailed example to process Copernicus Sentinel 2 bands was added to the manual page to make it easier to use for newcomers. G76:i.segment was improved as well for memory management estimation and avoidance of integer overflow when processing extremely large regions. The writing out of goodness of fit and segment ids was also fixed.
  • Temporal GIS modules:
  • The most important change in the temporal modules was the long awaited suffix option in G7:t.rast.algebra. This allows to get time and granularity based raster map names out of G76:t.rast.algebra calls. G76:t.info includes support to print history and to use its output in combination with eval. A very nice improvement in the temporal plot tool (G76:g.gui.tplot) now allows to set labels for title, x and y axes, and to export the plotted time series data in a CSV file.
  • Python Scripting:
  • The Python scripting library has been improved (note: Python3 support will be available in GRASS GIS 7.8.0, it is under development in grass77).

New in Grass GIS 7.4.0 (Feb 9, 2018)

  • 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.
  • NEW MODULES:
  • 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:
  • 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 r.sim.water.mp addon)
  • G74:r.sun: Parallelized with OpenMP for multi core systems (integration of r.sun.mp 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
  • G74:v.net.alloc and ?G74:v.net.iso: 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)
  • G74:v.surf.bspline: Parallelized with OpenMP for multi core systems
  • G74:v.surf.rst: 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:
  • 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
  • G74:r.in.lidar: added -d flag to use base raster resolution instead of computational region
  • G74:r.in.gdal: 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
  • G74:v.in.ogr: Fix import of OSM data (r71464)
  • G74:v.in.ogr: 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)
  • G74:v.in.ogr: Support new curve geometry types starting with GDAL 2.0 (r71508, r71514)
  • G74:v.in.ogr: 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 ?G74:v.to.rast) 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
  • G74:v.surf.rst: 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
  • G74:t.info: 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 ​G7:v.info, ​G7:r.info)
  • 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)
  • SCRIPTING:
  • 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:
  • Various manual pages: new screenshots added, thanks to ​Google Code-in
  • ​G74:i.ortho.photo: new manual page
  • MESSAGE TRANSLATIONS:
  • Translations now managed in Transifex (please join and translate messages): ​https://www.transifex.com/grass-gis/grass72
  • Dockerfile:
  • Updated, docker image
  • NEW ADDONS SINCE GRASS 7.2.0:
  • ​G7A:d.explanation.plot: Draws a plot of multiple rasters to explain a raster operation for example a + b = c
  • ​G7A:i.in.probav: Imports PROBA-V NDVI data into a raster map with real NDVI data range
  • ​G7A:i.variance: Analyze variation of variance with variation of resolution
  • ​G7A:r.clip: Extracts portion of the input map which overlaps with current region
  • ​G7A:r.colors.contrastbrightness: Changes the contrast/brightness of a raster
  • ​G7A:r.fill.gaps: Rapidly fills 'no data' cells (NULLs) of a raster map with interpolated values (IDW) (ported from GRASS6)
  • ​G7A:r.green.gshp.technical: Calculates the Ground Source Heat Pump technical potential using the ASHRAE method
  • ​G7A:r.green.gshp.theoretical: Calculates the Ground Source Heat Pump potential
  • ​G7A:r.green.hydro.planning: Calculates hydropower energy potential with user's recommendations (renamed from r.green.hydro)
  • ​G7A:r.gsflow.hydrodem: Creates hydrologically correct MODFLOW DEM from higher-res DEM
  • ​G7A:r.learn.ml: Supervised classification and regression of GRASS rasters using the python scikit-learn package (renamed from r.randomforest)
  • ​G7A:r.mblend: Blends two rasters of different spatial resolution
  • ​G7A:r.object.activelearning: Performs active learning for OBIA classification
  • ​G7A:r.object.spatialautocor: Calculates spatial autocorrelation of raster objects
  • ​G7A:r.sim.water.mp: r.sim.water with openmp support --> integrated in core GRASS GIS
  • ​G7A:r.spread.sod: Stochastic landscape spread model of forest pathogen - Sudden Oak Death (SOD)
  • ​G7A:r.sun.mp: r.sun with openmp support --> integrated in core GRASS GIS
  • ​G7A:t.rast.kappa: Calculates kappa parameter in a space time raster dataset
  • ​G7A:t.rast.what.aggr: Samples a space time raster dataset at specific vector point map returning aggregated values and writes the output to stdout or to attribute table
  • ​G7A:v.gsflow.export: Exports databse tables and pour point for GSFLOW input and control files
  • ​G7A:v.gsflow.gravres: Sets parameters for GSFLOW Hydrologic Response Units (HRUs)
  • ​G7A:v.gsflow.grid: Builds grid for the MODFLOW component of GSFLOW
  • ​G7A:v.gsflow.hruparams: Sets parameters for GSFLOW Hydrologic Response Units (HRUs)
  • ​G7A:v.gsflow.reaches: Builds stream "reaches" that link PRMS segments to MODFLOW cells
  • ​G7A:v.gsflow.segments: Prepares stream segments for PRMS and GSFLOW
  • ​G7A:v.net.curvedarcs: Draws curved arcs between points (e.g. flows)
  • ​G7A:v.stream.inbasin: Subsets a stream network into just one of its basins
  • ​G7A:v.stream.network: Builds a linked stream network: each link knows its downstream link
  • ​G7A:v.what.rast.multi: Uploads values of multiple rasters at positions of vector
  • CLOSED TICKETS:
  • Closed bugs since the last release:
  • v.kernel and r.surf.fractal overwriting
  • r.viewshed binary flag (-b) not working correctly
  • r.external.out does not write CRS information
  • vector import wizzard and v.in.ogr --ui fails to import a vector
  • GetEventHandler assertation after loading workspace twice
  • v.label.sa broken and duplicated in trunk and addons
  • Behavior of v.sort.points
  • v.to.db: incorrect area calculations in lat-long location
  • r.import inconsistent behavior when using r.in.gdal and r.proj
  • encoding issue when launching modules
  • 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
  • i.ortho.photo segmentation fault
  • 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
  • r.in.gdal lacks flag "-r Limit import to the current region"
  • rfe r.in.gdal: 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
  • 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 v.in.wfs fails during networking
  • v.vect.stats: add "where" option
  • GUI: Make metadata accessible in Data tab
  • Patch to fix various spelling errors

New in Grass GIS 7.0.5 (Dec 29, 2016)

  • Minor module changes:
  • G70:d.barscale/northarrow: fix layout when using frame, see #3121
  • G70:db.connect: connection to remote database does not work (see #3167)
  • G70:db.login: PostgreSQL DB driver "pg": fix connection debug message to include also login info
  • G70:d.histogram: fix x axis labels for small numbers, see #2463
  • G70:d.mon: enlarge width to unhide selection window; solves Gtk-CRITICAL GtkCheckButton? message flooding (#3117)
  • G70:d.northarrow: fix multiplication of arrow in latlon regions, see #1242 and #1410
  • G70:d.wms: fix move temp file with os.rename (fix #3148)
  • G70:g.extension: fix loading of temporal addons
  • G70:g.region: fix uninitialized struct - fixes convergence angle, #1500
  • G70:i.segment: fix manhattan distance
  • G70:i.vi: print msg which index is actually calculated; fix ARVI name; apply standard NDVI color table in case of viname=ndvi; writing of color tables fixed
  • G70:r.mapcalc: fix wrong result when neighborhood modifier takes a cell above first
  • G70:r.out.gdal: enhance compatibility WRT metadata
  • G70:r.to.vect: delete output on error (see #2394)
  • G70:v.category: fix copy categories; fix Windows bug
  • G70:v.edit tool=merge: improve iteration over list of lines, handle zero-length lines
  • G70:v.in.ogr key flag does not change category values and you loose connection between features and attributes (fix #1494);fix segmentation fault (fix #2868)
  • G70:v.out.ogr: fix export areas without category as one multi-feature
  • G70:v.out.postgis: fix epsg vs. srid check
  • G70:v.what: escape backslash in attributes for valid JSON, see #3133
  • G70:wxGUI: escape ampersand when writing d.wms into workspace, see #3147: i.eb.* + i.evapo.*: fix for MegaJoules per meter square per day
  • GUI changes:
  • wxgui: fix for profile surface map, bivariate scatter plot, histogram of raster map broken with wxPython 3.0.2 (#2558)
  • wxGUI: fix font dialogs on Mac, see #3046
  • wxGUI/nviz: when showing legend parameter at can have floats not just int
  • wxGUI: catch also UnicodeDecodeError when reading current directory as GISDBASE
  • G70:g.gui.gmodeler
  • substitute all occurrences of variable in command (bugfix)
  • wxGUI: fix escape button to close dialogs and fix keyboard shortcuts on Mac, see #797
  • wxGUI: solve #2558 and #3112 by distributing wx.lib.plot.py with GRASS
  • wxGUI web_services: archived NASA OnEarth replaced with NASA GIBS WMTS
  • G70:g.gui.gmodeler - not possible to remove data from model (trac #2947)
  • wxGUI: escape single quotes when editing attributes from GUI, see #2252
  • GUI/vdigit: fix snapping units, see #2848
  • PyGRASS changes:
  • python script: backported raster_what function to work with or without localized labels fixed #2912
  • Library changes:
  • G_tempfile() lacks perror support (fix #2278)
  • Map projection changes:
  • libgis: register NAD83/2011 datum (EPSG:6543)
  • Portability changes:
  • Patches to make the build reproducible (fileordering, randomness)
  • Manual pages:
  • G70:grass7 and ​G7:helptext intro pages: minor cleanup and fixes
  • G70:g.gui.gmodeler manual: fixed spelling errors
  • G70:i.atcorr manual and ​G7:imageryintro manual: clarify TOAR part; cross links added; keywords added
  • G70:r.import manual: fix WorldClim? import example
  • G70:r.import manual: SRTM V3 example added
  • G70:r.in.gdal manual: add Worldclim import trick
  • G70:r.mapcalc manual/rasterintro: explain precision differences
  • G70:r.neighbors manual: fix average example (was wrongly in maximum)
  • G70:r.sim.water manual: cleanup
  • G70:r.statistics + r.stats.quantile + r.stats.zonal manual: extended
  • G70:r.univar/G70:r3.univar manuals: examples improved
  • G70:r.watershed manual: update manual
  • G70:v.distance manual: explain units of dmin and dmax
  • G70:v.overlay manual: remove duplicated notes about olayer option from the manual, figure caption cosmetics
  • Message translation updates:
  • Spanish translation: Polish translation
  • New addons since release 7.0.4:
  • G7A:i.image.bathymetry: Satellite Derived Bathymetry (SDB) from multispectral images
  • G7A:i.landsat8.qc: Reclass Landsat8 QA band according to acceptable pixel quality as defined by the user
  • G7A:r.colors.cubehelix: Create or apply a cubehelix color table to a GRASS raster map
  • G7A:r.colors.matplotlib: Convert or apply a Matplotlib color table to a GRASS raster map
  • G7A:r.object.geometry: Calculates geometry parameters for raster objects.
  • G7A:r.quantile.ref: Determines quantile for input value from reference raster map layers.
  • G7A:r3.what: Queries 3D raster in specified 2D or 3D coordinates.
  • G7A:v.clip: Extracts features of input map which overlay features of clip map.
  • G7A:v.explode: Explode polylines, splitting them to separate lines (uses v.split + v.category)
  • G7A:v.in.pygbif: Search and import GBIF species distribution data directly from GBIF API using pygbif
  • G7A:v.sort.points: Sorts a vector point map according to a numeric column
  • G7A:v.strds.stats: Calculates univariate statistics from given space-time raster datasets based on a vector map
  • G7A:v.surf.tps: Performs thin plate spline interpolation with regularization and covariables
  • G7A:v.what.spoly: Queries vector map with overlaping spaghetti polygons (e.g. Landsat footprints) at given location. Polygons must have not intersected boundaries
  • Closed bugs since the last release:
  • #590: wxGUI vector display forgets layer selection
  • #797: Cmd-C on Mac closes display
  • #909: FTBFS: r.mapcalc in trunk
  • #960: Some hotkeys disabled in 6.5 wxgui
  • #965: Location wizard: doesn't create MYNAME
  • #1242: vector fills and line widths not displaying in latlon regions
  • #1258: Trouble with external OGR sources and relative paths (v.external)
  • #1410: scalebar displays multiples north arrows
  • #1427: strange, low res display output behavior
  • #1442: GRASS 7: d.grid layout suboptimal
  • #1474: random color -c flag broken in d.vect
  • #1494: v.in.ogr key flag does not change category values and you loose connection between features and attributes
  • #1568: 'make install' results in an installation dependent upon temporary build directories
  • #1574: WXGUI Launch script: "output already exists"
  • #1593: location wizard setting default extents broken
  • #1705: i.group segfaults on empty input
  • #1804: r.clump NULL handling
  • #1857: Correction help file r.colors
  • #1863: DBMI Protocol Error in v.extract
  • #1873: winGrass hangs when issuing exit command from the console if not GUI hasn't been closed first
  • #1876: pressing "save" on Digitization settings dialog raises error
  • #1909: remove deleted layer from layer tree
  • #1920: create IPython magic to launch GRASS wxGUI components Ipython qt console
  • #1921: create IPython magic to control from IPython Notebook
  • #1966: filesystem cruft from wingrass installer
  • #1988: towgs84 datum transform options not maintained with shapefile export
  • #2028: SetVirtualSizeHints is deprecated in wxWidgets 2.9
  • #2058: Example instructions in (grass/trunk) d.graphs' manual refer to d.frame
  • #2097: r.modis install using g.extension fails
  • #2099: G_OPT_M_COLR not recognized in Python script
  • #2115: wxgui renders disabled layers on map change
  • #2119: wxgui: attribute table manager fails with "Inconsistent number of columns in the table"
  • #2140: m.proj does not handle cs2cs failure
  • #2147: db.databases not working in GRASS 7
  • #2178: No polygon fill when using the png display driver
  • #2252: wxGUI vector digitizer passing unescaped text to database
  • #2272: Improve consistency in random generator usage
  • #2278: G__tempfile() lacks perror support
  • #2360: grass startup script and wx preference file: language setting in wx does not contain country specific language code
  • #2389: Error in Grass-gis 7.1. svn
  • #2398: grass.exec_command should add .exe where needed
  • #2406: wxview compilation error
  • #2438: Vect_get_line_type cannot handle line out of range
  • #2452: v.surf.rst option devi Windows problem
  • #2463: d.histogram x-axis numbering incorrect
  • #2469: Zoom to saved region in Map Display not working
  • #2480: v.class.ml: ImportError: No module named training_extraction
  • #2481: g.gui.iclass: cannot display analysis results because of "No graphics device selected"
  • #2506: g.rename fails to rename map when there is already map of the same name in PERMENENT
  • #2509: d.mon output overwrite
  • #2513: v.colors freezes using the pg driver and attr
  • #2514: G_OPT_C_BG and G_OPT_C_FG differ in support of color_none
  • #2524: wxGUI v.in.ogr wrapper fails to find any layers if file path contains non-latin letters
  • #2540: [PATCH] Add options to r.out.gdal to suppress GRASS specific metadata items
  • #2586: Display of labels in raster query results window is limited to the first 60 characters
  • #2594: r.univar output error
  • #2605: d.rast.leg: invalid literal for float(): rectangle
  • #2623: GRASS won't start after creating addons
  • #2658: [PATCH] v.to.db compactness gives wrong results in feet location
  • #2659: replace function bug in t.rast.mapcalc.py
  • #2664: The r.watershed module documentation has the wrong value for cells that do not get included in a complete watershed.
  • #2683: grass 7 doesn't start in text mode on CentOS 7
  • #2710: vector digitizer: new vector layer is not checked in layer manager
  • #2730: wxGUI: wx.metadata/wx.mwprecip/etc: Unable to fetch interface description for command 'wx.metadata'
  • #2817: Adding multiple raster/vector maps is slow
  • #2848: g.gui.vdigit: snapping distance seems to only be defined in map units, not screen pixels
  • #2854: results in winGRASS7 32bit vs 64bit: should they be identical?
  • #2868: v.in.ogr Segmentation fault
  • #2893: Specify crs when exporting to GeoJSON
  • #2902: i.segment.hierarchical: Execution of subprocesses was not successful
  • #2912: raster_what() not compliant with localised version of GRASS
  • #2934: Documentation error in i.vi WRT to MSAVI parameters
  • #2947: g.gui.gmodeler - not possible to remove data from model
  • #2968: g.extension problem with module containing various python files: "ImportError: No module named"
  • #2981: r.watershed & blocking
  • #3012: g.region -p reporting correct projection, but unknown datum NAD83(2011) /North Carolina (USft)
  • #3030: v. generalize fails to generalize polygons in a random manner
  • #3036: Bug with location wizard on OSX (version 7, homebrew)
  • #3039: "Analyze map" not working with GRASS 7.0.4 (OSX - homebrew)
  • #3040: - old manuals?
  • #3041: Grass Nviz crashes
  • #3042: Patches to make the build reproducible (fileordering, randomness)
  • #3045: OSX: command-C closes window instead of copying text
  • #3046: Cannot set display font
  • #3049: g.proj.html: remove link to g.setproj in GRASS 7
  • #3052: Watts to MegaJoules/Day conversion issue
  • #3067: r.mapcalc gives wrong result when neighborhood modifier takes a cell above first
  • #3070: Update link in r.param.scale
  • #3072: ddd
  • #3073: addons installl error
  • #3085: Batch import with import raster data tool does not recognize projection information
  • #3088: Patch to fix various spelling errors
  • #3089: exec_command fails if '.exe' not included in filename.
  • #3105: r.stats.zonal parameter description
  • #3108: db selection: integer overflow
  • #3112: wxgui scatterplot tool: C++ assertion "m_window" failed at ../src/gtk/dcclient.cpp(2043) in DoGetSize(): GetSize() doesn't work without window
  • #3133: v.what output is not valid JSON format
  • #3135: Pressing Run button in GUI dialogs open a new dialog
  • #3138: Patch to fix various spelling errors
  • #3144: i.segment.hierarchical: RuntimeError: Execution of subprocesses was not successful
  • #3147: d.wms entry in workspace file is not well formed
  • #3148: d.wms cannot move temp file with os.rename
  • #3163: Patch for spelling errors
  • #3165: v.out.ogr -c seg fault
  • #3167: db.connect: connection to remote database does not work
  • Closed wishes since the last release:
  • #84: scritps for converting raster maps into GRASS 7 format, and back
  • #307: v.in.dxf: output name should be required
  • #386: Thematic grouping of grass modules in the command line
  • #742: v.coregister / v.align : A module to translate and rotate a point cloud to best match one another
  • #1209: v.random, restrict output
  • #1236: r.in.wms sleep parameter
  • #1376: Interactive spectral plot gui
  • #1377: wingrass7 hotkey Ctrl+V an have unexpected behaviour from windows user point of view
  • #1390: fully qualified name on g.mlist
  • #1703: wxGUI vector and raster querying
  • #1719: GRASS 7 Monitor command line support
  • #1732: r.colors feature request (add flag to copy categories without having to run r.category separately)
  • #1923: add "area" to head in r.report
  • #1980: Multiple time stamp support for raster and 3D raster maps
  • #1984: i.pca should accept also group names as input (like r.out.gdal)
  • #2045: r.to.vect: use less memory
  • #2143: d.legend: add option to output legend definition as text
  • #2148: wxGUI modeler: allow to name elements in the model schema
  • #2208: r.in.gdal/v.in.ogr: reprojection at import
  • #2952: g.gui.gmodeler - global overwriting option is not respected
  • #3060: Create location from command line using "r.in.gdal" and similar
  • Closed tasks since the last release:
  • #1107: r.terraflow: consistent type for D8CUT
  • #1446: add --with-opencl support to ./configure
  • #2196: g.manual on Windows opens extra file explorer window
  • #2657: pygrass: remove RasterNumpy references

New in Grass GIS 7.0.4 (May 3, 2016)

  • New modules:
  • ​G7:g.search.modules - Search in GRASS modules using keywords
  • Major module changes:
  • ​G7:db.login + PG & mySQL driver: support hostname and port
  • ​G7:g.proj: read EPSG CSV files from GDAL data directory and no longer an private and meanwhile outdated copy (solves #2456)
  • ​G7:r.in.lidar: fix scan box calculation for percent < 100
  • ​G7:r.in.xyz: fix scan box calculation for percent < 100
  • ​G7:r.mapcalc: Fix row cache bug
  • ​G7:r.series: sync weights handling to r.neighbors
  • ​G7:r.sun: mode 1 fix for time offset due to timezone, see #2941 for explanations
  • ​G7:v.in.ogr: declare missing values in string and date fields as NULL, not empty strings
  • ​G7:v.select: fix reverse selection of areas
  • ​G7:v.net.steiner: shortest road is searched between node not line id's
  • Minor module changes:
  • ​G7:g.extension: option to specify proxy server #1434
  • ​G7:r.external: added -t flag for listing bands
  • ​G7:r.transect: use new r.profile parameter names
  • ​G7:v.db.join: fix cache exception
  • ​G7:v.db.select: increase query buffer
  • ​G7:v.distance: use bbox in 2D and 3D accordingly
  • ​G7:v.net.distance: change path categories, adjust line directions; add new flag to produce single line paths
  • ​G7:v.to.db: allow (unitless) calculation of perimeter in XY location
  • GUI changes:
  • ​G7:g.gui.mapswipe: fix raster layout (wxPython3)
  • ​G7:g.gui.gmodeler - all layers rewritten by last output for more than one parameter; add support for dbtables; many further fixes
  • Install additional hicolor icon sizes
  • listing maps in map selection widget using natural sort (#2818)
  • wxGUI: fix histogram of imagery group on Windows, see #2961
  • wxGUI: apply natural sort also when filtering data
  • PyGRASS changes:
  • pygrass: fixed grid doctest
  • Library changes:
  • libraster: support linking GDAL2
  • libraster: check for compressed null file
  • vlib: add 2D version of point in box function
  • vlib: support different graph versions
  • Map projection changes:
  • libgis: datum added related to SIRGAS 2000/EPSG:4674
  • libproj: use EPSG CSV files from GDAL data directory and no longer an private and meanwhile outdated copy (solves #2456)
  • libproj: fix mixing of projection name and coordinate system name
  • Portability changes:
  • Mac OSX: fix compilation of certain addons, lowercase r flag does not work on Mac
  • MS Windows:
  • r.sim.sediment: MS-Windows portability improved
  • wingrass: document GRASS_SH (how to switch from cmd to bash, see r68212)
  • wingrass: build against GDAL 2
  • wingrass: fix packaging of C++ modules (​G7:r.watershed, ​G7:r.terraflow, and ​G7:i.atcorr), see #2959
  • wingrass (64bit): fix packaging of modules which depend on libLAS (​G7:r.in.lidar and ​G7:v.in.lidar); already available in repackaged 7.0.3
  • Manual pages:
  • manual: avoid specific gender
  • ​G7:d.mon: explain non-interactive use
  • ​G7:g.copy: update manual
  • ​G7:g.findfile manual: shell examples extended
  • ​G7:g.gui.gmodeler: major manual improvements
  • ​G7:g.proj: cleanup of examples
  • ​G7:r.in.xyz: improved example for x,y,z ASCII file import
  • ​G7:r.li manual: highlight GUI and configuration file
  • ​G7:r.water.outlet: update example
  • ​G7:r.pack manual: explain current region behaviour
  • ​G7:v.buffer manual: demystify caps
  • ​G7:v.net: update manual
  • ​G7:v.net.spanningtree: update manual
  • ​G7:v.proj manual: describe automated vertex densification
  • ​G7:v.split manual: examples updated
  • ​G7:v.to.points manual: new NC sample data example
  • ​G7:t.register manual: ECAD example added
  • ​G7:t.vect.observe.strds manual: demystify 'where' clause usage
  • wxGUI/dbmgr: update images in the manual
  • Message translation updates:
  • Spanish translation

New in Grass GIS 7.0.3 RC 1 (Jan 5, 2016)

  • New modules:
  • ​G7:g.gui.tplot - Allows the user to see in a plot the values of one or more temporal raser datasets for a queried point defined by a coordinate pair. Also allows plotting data of vector dataset for a defined categories and attribute.
  • Major module changes:
  • ​G7:r.stream.extract: fix correction for diagonal flow bias
  • ​G7:r.watershed: fix correction for diagonal flow bias
  • ​G7:v.surf.idw: fix for severe bug in distance calculations
  • Minor module changes:
  • ​G7:g.remove: print warning when no files found
  • ​G7:g.proj: don't ignore epsg as parameter when printing info (-p/g)
  • ​G7:r.mapcalc: Set default workers to zero
  • ​G7:r.thin: Support reclassified raster maps
  • temporal framework: Added output and region flag to t.rast.univar
  • ​G7:v.db.join: fix db.describe and mysql support
  • ​G7:v.db.renamecolumn: fix mysql support
  • ​G7:v.generalize: add test for self-intersection
  • ​G7:v.import: show reprojection progress; catch exception when unable to open datasource
  • ​G7:v.in.ogr: backport -j flag; add new parameters "epsg" and "datum_trans"
  • ​G7:v.rast.stats: fix handling column prefixes, check for MASK only in the current mapset
  • ​G7:v.surf.bspline: move opening raster after opening driver
  • ​G7:v.what.rast: exit when no features of given type found, precision fix for -i interpolate
  • ​G7:v.what.strds: new flag to update attribute table of input vector map
  • GUI changes:
  • wxGUI/colortable: fix saving color table to file
  • wxGUI/modeler: fix setting parametrized options multiple times, overwrite flag handling fixed, various fixes
  • wxGUI: fix launching v.krige, fix encoding issues
  • Library changes:
  • libgis: Fix handling of quotes in G_tokenize()
  • PyGRASS changes:
  • grass.py: fix initialization script when gis_set.py is not available
  • pythonlib: implement db_begin/commit_transaction
  • GridModule: fix leaving processes behind, add option to name mapsets
  • Portability changes:
  • grass.desktop: high res icons added, Debian specific xpm removed
  • Makefile system: add soname on linux
  • config.guess, config.sub: updated from ​http://git.savannah.gnu.org/cgit/config.git/plain/
  • Manual pages:
  • Examples added to various manual pages (i.landsat.toar, i.vi, v.buffer, ...)
  • Message translation updates:
  • messages catalogue files (.po) updated
  • French messages updated
  • Latvian messages updated
  • Closed bugs since the last release:
  • #68: grass libraries sonames
  • #1468: i.vi only produces 0 value maps
  • #1708: r.fill.dir leaves unresolved areas
  • #2352: Conflicting definitions of db__driver_describe_table
  • #2434: v.surf.bspline: WARNING: Unable to rename null file / WARNING: Unable to write quant rules:
  • #2441: Underscore to avoid Python keywords used improperly in grass.script
  • #2598: g.extension compilation fails
  • #2612: pygrass: grid module still contains references to old type names
  • #2617: wxgui Raster query redirect to console UnicodeDecodeError
  • #2622: Text interface quits immediately when run from zsh shell
  • #2652: v.in.e00
  • #2654: r.thin crashes
  • #2692: v.in.ascii does not handle text in qoutes
  • #2711: v.patch -e crashes
  • #2727: wxGUI startup: 'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)
  • #2744: r.import latlong bug
  • #2745: i.cluster: report file has wrong linebreaks on Windows
  • #2759: v.rast.stats and mySQL
  • #2763: Broken URL in db.in.org wiki page
  • #2775: Hangs when closing db drivers
  • #2783: mswindows / osgeo4w / grass.tmpl: OSGEO4W_ROOT_MSYS="@OSGEO4W_ROOT_MSYS@" not updated
  • #2792: db.describe and mysql
  • #2795: v.krige fails to launch from wxgui menu if a vector map is selected
  • #2797: db.databases will not connect to postgres database in GRASS 7.0.2RC2 on Win7 and Ubuntu 15.10
  • #2800: wxGUI modeler: encoding issue
  • #2801: wxGUI modeler: overwrite flag not saved when reopening module dialog
  • #2803: Various typo fixes
  • #2806: Error in the example of r.lake
  • #2808: grass --version throws an exception
  • #2809: grass --version displays the wrong release number
  • #2812: Wrong command r.lake.series examples
  • #2815: Grass and Pillow > 3.0.0
  • #2819: v.db.renamecolumn mysql error
  • #2824: g.gui.timeline throws exception when trying to display temporal dataset.
  • #2826: wxGUI: encoding issues
  • #2827: wxGUI: encoding error in error messages
  • #2831: v.rast.stats does not respect layer option
  • #2832: r.damflood return code
  • #2833: g.gui.metadata export to pdf fails
  • #2835: wxgui: encoding error in manually entered rules
  • #2841: Patch for spelling errors in 7.0.3RC1
  • #2844: g.remove gui - selecting all types doesn't work
  • Closed wishes since the last release:
  • #1213: wingrass 64bit branch
  • #2777: Drop menu file in favor of desktop file
  • #2793: t.rast.univar lacks "output" option to get output in text file
  • #2811: Reduce number of Start menu shortcuts on MS Windows

New in Grass GIS 7.0.2 (Jan 5, 2016)

  • New modules:
  • ​G7:r.import - Imports raster data into a GRASS raster map using GDAL library and reprojects on the fly.
  • ​G7:v.import - Imports vector data into a GRASS vector map using OGR library and reprojects on the fly.
  • Major module changes:
  • ​G7:i.modis.qc: sync to trunk for various bugfixes
  • ​G7:v.buffer: implement -c -s flags also for GEOS; explain corners (caps) with screenshots
  • Minor module changes:
  • ​G7:db.in.ogr: fix when DB connection is not defined
  • ​G7:g.proj: fix compilation issue when OGR is disabled
  • ​G7:r.in.gdal: add -j flag to perform projection check only (used by r.import) (r65911, fixes r66466)
  • ​G7:r.patch: call Rast_cell_size just once, not for every cell (backport r64877 and part of 66449)
  • ​G7:r.unpack/v.unpack: fix importing to xy location, see #2726
  • ​G7:t.shift: fixed wrong type in t.shift
  • temporal library: Ignore the warning of missing mapset ownership
  • temporal modules (t.*): Fixed usage of the 'z' flag; inform user then -z flag is switched on (much slower then) (trunk, r66319 + r66341)
  • ​G7:v.distance: tell user if input is 3D (esp. relevant for v.what.vect)
  • ​G7:v.in.ogr: wrong projection check when importing geometry column from table with multiple geometry columns (#2740)
  • ​G7:v.kernel: always show target raster resolution; fix dangling curly braces -Wdangling-else
  • ​G7:v.krige: updated to rgrass7 - sync to trunk (contributed by pvanbosgeo)
  • ​G7:v.pack: also package PROJ_EPSG if available (as available in newer locations)
  • ​G7:v.unpack: fix unpacking when name of archive and the packed map differ (merge from trunk, r66021)
  • GUI changes:
  • wxGUI: add waiting cursor for histogram +scatter wxplot tools
  • wxGUI: add r.import and v.import to menu
  • wxGUI: fix import order so that GUI doesn't crash when there is a problem with ctypes (merge from trunk, r66065)
  • wxGUI: fix GDALImport dialog to add multiple imported layers to layer manager; update onDone methods to pass event as argument (merge from trunk, r64372 and r64373)
  • wxGUI/vnet: fix known problem with StaticBoxes on Mac (merge from trunk, r66497)
  • wxGUI/vdigit: fix attribute dialog blocking window on MacOSX with wxpython 3 (merge from trunk, r65606)
  • wxGUI/animation: backport improvements from code sprint (resizing, text color, nprocs)
  • wxGUI/modeler: fix for wxPython3
  • wxGUI/nviz: fix coloring isosurfaces
  • Library changes:
  • libgis: catch empty region file (suggested in ​https://lists.osgeo.org/pipermail/grass-dev/2015-August/075933.html) (trunk, r65962)
  • PyGRASS changes:
  • pygrass modules: Fixed #2731 reading gisrc with multiple : in an entry caused problems (trunk, r66061)
  • sphinx Python lib docs: fix language definition for 'make libpythonlatexpdf'
  • Manual pages:
  • ​G7:d.correlate: screenshot added
  • ​G7:g.gui.vdigit manual: update 'Copy features from (background) vector map' description
  • ​G7:i.cluster manual: expanded for algorithm description (trunk, r66233)
  • ​G7:i.segment manual: Landsat7 example added
  • ​G7:r.regression.line manual: update example to NC dataset
  • ​G7:r.resamp.stats: screenshot added
  • ​G7:t.register manual: extend manual
  • ​G7:v.in.db manual: Open Document spreadsheet added
  • ​G7:v.lidar.edgedetection: complete example and 2D and 3D picture (backport r66147)
  • ​G7:v.overlay: screenshots added
  • ​G7:v.select manual: full set of NC example added (contributed by Carol X Garzon-Lopez)
  • ​G7:v.select: screenshots added
  • Message translation updates:
  • Sylvain Maillard: FR translation cont'ed

New in Grass GIS 7.0.1 (Aug 13, 2015)

  • This release addresses some minor issues found in the first GRASS GIS 7.0.0 release published earlier this year. The new release provides a series of stability fixes in the core system and the graphical user interface, PyGRASS improvements, some manual enhancements, and a few language translations.

New in Grass GIS 7.0.0 (Feb 26, 2015)

  • The graphical user interface based on wxPython 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. The developers added important new functionality to the core system, among that the new Python interface to the C library. This new API permits users to create new GRASS GIS-Python modules in a simple way while yet obtaining powerful and fast modules. Furthermore, the vector library was significantly improved to make it faster and more efficient, along with support of huge files. This required a easy to manage topology format update including a new spatial index. A lot of effort has been invested to standardize parameter and flag names. 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).
  • Display system and graphical user interface:
  • New portable display system, used in the graphical user interface but as usual also with command line support. Histogram support in legends added and much more. The existing graphical user interface has been significantly improved and extended with new functionality not easily found in other GIS.
  • Image Processing:
  • Many new modules for creation of albedo, emissivity and vegetation index maps, TOA calibration, biomass growth and evapotranspiration estimation, image classification, hierarchical image segmentation, pansharpening, cloud detection in LANDSAT data, MODIS QA bitpattern management, graphical tool for Ground Control Points for geocoding imagery, Tasseled-Cap transform support for Landsat 8 and MODIS.
  • Raster support:
  • Direct output to standard GIS raster formats implemented, new LAS LiDAR point binning using univariate statistics, support for WMS and WMTS, new multiple linear regression from raster maps (results conformant with R), resampling using an analytic kernel, and much more. Speed gain for viewsheds, cost surfaces, raster import, geomorphometry, watershed calculation.
  • Vector support:
  • The topology engine has been improved in speed and precision. LAS LiDAR point clouds support added, new PostGIS 2 interface, various vector networking improvements, notable speed improvements for vector import, generalization, kernel density calculation, intersection, vector grid and hexagon calculation, automated line vertex densification in reprojection for error minimization, optionally constraining of random points to selected polygons, vector area skeletonizer added and much more.
  • 3D raster support:
  • New modules for 3D raster color table management, cleanup of the caching system.
  • New Temporal GIS support:
  • A new temporal GRASS GIS 7 framework has been developed to manage, process and analyse (big) spatio-temporal environmental data. It supports querying, map calculation, aggregation, statistics and gap filling for raster, vector and 3D raster data. A temporal topology builder is available to build spatio-temporal topology connections between map objects for 1D, 3D and 4D extents.
  • Bash and Python Scripts:
  • All Bash scripts known from GRASS GIS 6 have been converted to Python for portability and speed reasons. Users may obviously continue to run their shell scripts as before. Furthermore a completely new Python interface has been developed.
  • Detailed lists of all the new features added to Grass GIS, are available at:
  • http://trac.osgeo.org/grass/wiki/Release/7.0.0-News
  • http://trac.osgeo.org/grass/wiki/Grass7/NewFeatures

New in Grass GIS 7.0.0 RC 2 (Feb 18, 2015)

  • The graphical user interface based on wxPython 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. A lot of effort has been invested to standardize parameter and flag names. 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.

New in Grass GIS 7.0.0 RC 1 (Jan 21, 2015)

  • The graphical user interface based on wxPython 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. A lot of effort has been invested to standardize parameter and flag names. 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.
  • The first release candidate GRASS GIS 7.0.0RC1 ships 10,400 fixes and improvements with respect to GRASS GIS 6.4.0 after more than six years of development.

New in Grass GIS 7.0.0 Beta 4 (Jan 5, 2015)

  • The graphical user interface based on wxPython 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. A lot of effort has been invested to standardize parameter and flag names. 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).

New in Grass GIS 7.0.0 Beta (Aug 7, 2014)

  • Significant performance improvements for many modules
  • About 100 new modules, for a list, see new features
  • The new temporal processing GRASS GIS 7 framework for raster, vector and voxel time series management and analysis
  • Native support for PostGIS vector format including Topology extension
  • Large File Support (LFS) globally enabled for raster and vector data
  • New spatial index for vector data
  • SQLite is default DB backend
  • New graphical tools:
  • animating of raster and vector time series;
  • new georectifier;
  • graphical modeler with Python script output;
  • tool for supervised classification of imagery data;
  • map swiping tool;
  • tool for creating hardcopy map output;
  • new tool for r.li module configuration file creation;
  • comparison tool for temporal datasets;
  • improved vector digitizer.

New in Grass GIS 6.3 RC6 (Mar 24, 2008)

  • Documentation: various improvements
  • GRASS libraries: veditlib: various fixes, minor improvements
  • GRASS libraries: memory leak fixed in ellipsoid code
  • GRASS libraries: Python/SWIG interface updated (new examples added)
  • GRASS libraries: re-enabled automatic creation of VAR file (#7)
  • GRASS modules: d.vect.thematic, i.in.spotvgt, r.tileset: portability fixes (#81)
  • GRASS modules: g.manual: Cygwin portability fix for browser detection
  • GRASS modules: r.le.setup: fix segfault
  • GRASS modules: r.in.wms: various improvements, portability fixes
  • GRASS modules: r.sim.sediment, r.sim.water: various fixes
  • GRASS modules: v.db.join: multi-layered vectors bug fix (#75)
  • GRASS modules: v.edit: new tool chtype, some minor fixes
  • GRASS modules: v.generalize: use GRASS_EPSILON as standard very small FP value
  • GRASS modules: v.in.wfs: fix for unwanted 'rendered' xml (#62)
  • GRASS modules: v.report, v.rast.stats: portability fixes
  • Documentation: improvements for several modules
  • Documentation: rename r.cats -> r.category
  • Graphical user interfaces - wxGUI: various fixes, basic features functional also under MS Windows
  • Portability - native winGRASS: several portability fixes (including wxGUI)
  • Czech translation started for wxGUI
  • Italian translation updated