wiki:Release/7.2.0-News

GRASS GIS 7.2.0

A short summary of changes: New features in GRASS 7.2

Releases

Stable Release

Release Candidate 2 (RC2)

Release Candidate 1 (RC1)

SVN Source Code

  • Milestone: 7.2.0
  • SVN Checkout latest 7.2 release branch (including yet unpublished bugfixes):
      svn checkout http://svn.osgeo.org/grass/grass/branches/releasebranch_7_2
    

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.2.0 release provides more than 1900 fixes and improvements with respect to to the stable releases 7.0.x.

New modules

  • G72:d.frame - Manages display frames on the user's graphics monitor
  • G72:d.legend.vect - Displays a vector legend in the active graphics frame
  • G72:g.gui.datacatalog - The Data Catalog is a wxGUI component for browsing, modifying and managing GRASS maps
  • G72:g.search.modules - Search for a GRASS GIS module based on keywords (searches descriptions or manuals)
  • G72:r3.flow - Computes 3D flow lines and 3D flow accumulation
  • G72:r3.gradient - Computes gradient of a 3D raster map and outputs gradient components as three 3D raster maps
  • G72:t.rast3d.algebra - Apply temporal and spatial operations on space time 3D raster datasets using temporal 3D raster algebra
  • G72:t.rast.algebra - Apply temporal and spatial operations on space time raster datasets using temporal raster algebra
  • G72:t.rast.contour - Produces a space time vector dataset of specified contours from a space time raster dataset
  • G72:t.rast.to.vect - Converts a space time raster dataset into a space time vector dataset
  • G72:t.rast.what - Sample a space time raster dataset at specific vector point coordinates and write the output to stdout using different layouts
  • G72:t.vect.algebra - Apply temporal and spatial operations on space time vector datasets using temporal vector algebra
  • G72:v.decimate - Decimates a point cloud
  • G72:v.out.lidar - Export point vector map as a point cloud

New experimental modules:

  • G72:r3.in.lidar - perform 3D binning and statistics on a point cloud (lacks some standard GRASS GIS module features)
  • v.in.pdal - import point clouds as vector points using PDAL library and its filters such as ground classification (not included in binaries and distributions)

Removed modules

  • v.krige removed from core distribution and moved to addons G7A:v.krige (see #3136 for details) due to instabilities (). Will be reintroduced in future with a better implementation - contributors are welcome!

Major module changes

  • G72:d.barscale - new option to specify length and units, custom label possible (done within GSoC 2016)
  • G72:d.legend - added option to show background, show ticks, more control over labels, added title, possible to switch to logarithmic (done within GSoC 2016)
  • G72:d.northarrow - added rotation option, more symbols available (done within GSoC 2016)
  • G72:d.vect - Legend tab with number of legend-related options (icon_area to represent areas in legend, icon_line to represent lines in legend, legend_label for label to be displayed in legend, -l flag to do not show anything in the legend)
  • G72:d.vect.thematic - Legend tab with number of legend-related options (icon_area to represent areas in legend, icon_line to represent lines in legend, legend_title for heading of the section in the legend)
  • G72:g.extension - downloads, compiles and installs modules using simplified URLs to GitHub, GitLab and similar repository services, local directories, remote and local ZIP and TAR files and GRASS GIS Trac, does not require Subversion (svn) anymore for standard GRASS GIS addons (applies to Linux, Mac OS X and other systems with build environment), svnurl option renamed to url (svnurl can still be used)
  • G72:r.in.lidar
    • base_raster option which allows for the conversion to LAS file Z values to height above ground using an existing elevation raster. Additionally, with -d a base_raster is used in its native resolution to enable performing statistics on with coarse resolution while reducing the heights of point using the base_raster in its full resolution.
    • -j option which allows the use of Z values for filtering of points, yet performs statistical analysis on the intensity values
    • intensity_range and intensity_scale to filter and modify intensity values
    • file option to specify list of files (file paths) in a text file (merges multiple LAS files on input as if it would be one file)
  • G72:r.mapcalc - fixed bug when some uses of neighborhood modifier gave wrong result (#3067)
  • G72:r.out.xyz - new -i flag to include no data values
  • G72:r.texture - major rewrite fixing many bugs and making the results much more useful (#3210)
  • G72:v.in.lidar
    • point cloud decimation (skip, preserve) and subset import (offset, limit)
    • vector mask to limit import to given areas (mask, mask_layer, -i for mask inversion)

All display modules for vector maps, namely G72:d.vect and G72:d.vect.thematic, now produce a legend file with instructions for G72:d.legend.vect if GRASS_LEGEND_FILE environmental variable is specified (applied in GUI in the background, can be used directly in the command line or scripts).

slightly bigger file

Minor module changes

  • G72:d.northarrow - describe arrows in the same way as barscales
  • G72:d.to.rast: fixed
  • G72:i.landsat.toar: avoid endless loop and exit if approximation of atmospheric transmittance coefficients is unstable (DOS4 method)
  • G72:r.fillnulls - add lambda parameter of G7:r.resamp.bspline
  • G72:r.in.lidar
    • -n flag to set region according to the newly created raster (useful with -e flag)
    • bug fix for low memory processing option
    • bug fix for extremely large rasters
    • -v to import use only valid points. This is a change of behavior. Previously, invalid points were always ignored. The behavior was removed because of unclear definition of invalid point in libLAS library. No invalid points are filtered out only when requested which makes it consistent with other filters. However, if invalid points are present, user gets a warning message.
  • G72:r.patch - speed optimization (approximately 10% faster than previous version)
  • G72:r.random.cells - ncells to generate only limited number of cells
  • G72:r.rgb - better error message when none of the required options is provided
  • G72:r.stats.quantile: use correct min
  • G72:v.in.lidar
    • id_layer, return_layer, class_layer, rgb_layer to store point attributes as layers and categories
    • -c flag to not add unique IDs as category to each point. More points than the category number limit can be imported. This also requires less space on disk and time during import.
    • general improvements to handle large amounts of points
    • zrange option to filter out points based on height
    • -v to use only valid points. This is a change of behavior. Previously, invalid points were always ignored. The behavior was removed because of unclear definition of invalid point in libLAS library. No invalid points are filtered out only when requested which makes it consistent with other filters. However, if invalid points are present, user gets a warning message.
  • G72:v.patch - -z and -n flags to work without topology but with z coordinate
  • G72:v.random - now accepts much larger numbers as the number of requested points
  • G72:v.distance - fix bug when 3D point inside a 2D area was classified as being outside
  • G72:v.outlier - added missing 6.4 compatibility option for lambda (lambda_i in 6.4)

GUI changes

GRASS 7.2 Data Catalog

  • G7:wxGUI + G7:d.mon: new multi-threaded implementation
  • new Data tab in Layer Manager for browsing and editing locations and mapsets
    • delete, rename and copy raster, 3D raster and vector maps
    • add map to display if it is from current mapset
    • switch mapset
    • search by name with regular expressions
  • new Raster digitizer - draw points, lines, polygons, you can launch it from Map Display drop down selection
  • shorter names for Layer Manager tabs
    • Map layers -> Layers, Command console -> Console, Search modules -> Modules, Python shell -> Shell
  • GRASS GIS Simple Python editor (accessible from Python tab or toolbar)
  • Python editor in modeler has monospaced font and shows white space
  • font selection in settings has now preview
  • updates to cartography in Map Display:
    • add multiple overlays (legends, scale bars, north arrows, text)
    • new vector legend
    • text is now rendered with G7:d.text instead of wxpython text
    • new color tables which are perceptually uniform: viridis and grass
    • viridis color table is the new default replacing rainbow (manage with G7:r.colors)
  • keyboard shortcuts and mouse actions for font size in Console tab
  • shorter toolbar for Map Display to better support small displays

Simple Python editor in GRASS GIS wxGUI with v.buffer example

PyGRASS changes

  • pygrass: documentation updates

Library changes

  • libraster: support for new raster data compression methods: NONE, ZLIB, LZ4, BZIP2. Overview:
    • Raster map compression set by export GRASS_COMPRESSOR=XXX, with XXX be
      • NONE (uncompressed)
      • RLE (generic Run-Length Encoding of single bytes)
      • ZLIB (DEFLATE, good speed and compression)
        • with zlib compression levels (export GRASS_ZLIB_LEVEL=X): -1..9 (-1 is default which is level 6)
        • Notes: ZLIB level = 0 tells ZLIB to copy the data as-is from source to destination. In case of CELL maps, the rasterlib itself will then still trim high zero bytes with trim_bytes() which can already reduce the data size considerably, but ZLIB will not compress the data.
      • LZ4 (fastest, low compression)
      • BZIP2 (slowest, high compression)
    • NULL file compression: At time it must be explicitly turned on with export GRASS_COMPRESS_NULLS=1
  • vlib: 2D version of Vect_point_in_box() function called Vect_point_in_box_2d()
  • color table changes:
    • DEFAULT_COLOR_TABLE macro which is a string literal with the name of default color table
    • added viridis and grass color tables to lib/gis/colors (visible in G72:r.colors, G72:r3.colors and G72:v.colors)
    • default color table changed from rainbow to viridis
  • improvements for standard options and flags description (English in examples, more details about topology and layers)

Map projection changes

  • libproj: outdated CSV files removed (GDAL's CSV files are used)
  • libproj: recognise NAD83(HARN) for NC; fix SIRGAS2000 datum; add explanations about datum management
  • libgis/libproj: +datum related to SIRGAS 2000/EPSG:4674
  • libgis/libproj: +S_JTSK datum
  • libproj: fix mixing of projection name and coordinate system name

Portability changes

  • libiostream uses exception specifiers only for C++ versions older than C++11, so it compiles with C++98, C++11 and C++14 (version dependent exception specifier macros)
  • G72:r.viewshed, G72:r.terraflow and G72:i.atcorr now compile with C++11 and C++14 as well as C++98 strict setting thanks to libiostream changes
  • G72:r.terraflow now complies with clang++ and strict C++11 syntax (string literal and macro combination syntax)
MS Windows

Manual pages

Graphical Index

Message translation updates

  • Message catalogue updated
  • Latvian translation updated
  • Polish translation updated

New Addons

New addons since GRASS GIS 7.0.0 (for a total of over 230 GRASS GIS 7 addons by this date !):

Closed tickets

Closed bugs since the last release

#1096
wxModeler: r.mapcalc action should allow to insert maps
#1584
error in r.walk help page
#2133
g.parser does call the form.py with full path
#2205
Unicode unequal comparison in location wizard when title contains non-ascii letters
#2239
GRASS 7: v.to.rast -d produces empty raster when used on areas
#2255
g.mlist warnings for layers found in other mapsets
#2261
failed pygrass doctest
#2298
r.stream.order hack= generates order 1 single pixels
#2304
Problems with add category to all features workflow
#2311
PyGRASS points read from map are always 2D although they have z coordinate
#2312
browse button in import vector/raster wrapper for v.in.ogr and r.in.gdal crashes entire GUI
#2318
G7: t.* modules unclear -s flag
#2327
r.diversity = Illegal areas disposition
#2339
wxGUI.Nviz flickering
#2343
GRASS 7: "inf" values break insert statements in v.rast.stats
#2357
r3.info segfaults or reports incorrect values on Windows
#2359
r.stream.distance with a large map
#2364
Error in gunittest get_svn_info()
#2365
gunittest test local input file failure
#2380
d.legend "use" argument makes legend disappear
#2381
lighting/shading for vector objects backward in nviz
#2385
v.in.ogr doesn't use information from dblogin file about external PostgreSQL server
#2410
Python ScriptError
#2416
t.vect.export using no compression argument results in creation of an archive
#2423
r.series.interp missing in wxGUI menu
#2439
g.gui.iclass crashes
#2442
np.float128 does not always exist
#2443
r.in.srtm.region add-on updates for 7.1svn
#2445
r.mask -r removal not working in GRASS 7.1 svn r.62210
#2472
v.in.lidar gives negative point count on large las files
#2479
query raster/vector map(s) does not work with vector layers
#2498
yet another problem with GUI toolbox menu
#2504
Dotted line guiding digitization tool disappeared
#2559
g.gui.metadata not functioning
#2574
v.surf.icw - not working with the last version of grass7
#2575
i.segment threshold error message should be updated
#2644
osx - wxpython 3 64 bit - v.digit gui freeze when digitizing new vector
#2645
mac OSX - wxpython 3 (64 bit) profile surface map fails to start
#2646
mac OSX - wxpython 3 (64 bit) create histogram of raster map fails to start
#2647
mac OSX - wxpython 3 (64 bit) - ps.map fails to generate map preiew
#2650
v.in.ascii - dropdown menu - gui components doesn't get update
#2671
r.surf.idw won't make interpolation
#2677
mapswipe add raster map doesn't work with wxPython 3
#2680
d.mon: input file has incorrect dimensions
#2687
r.info picks map from current Mapset instead of PERMANENT
#2691
Rendering failed: Error reading PPM file
#2694
rendering command layer and adding 3d raster layer broken
#2697
data catalog does not show all raster layers, while showing some non-existing
#2712
WARNING: Unable to rename null file
#2713
GUI hangs when adding vector map from cli
#2731
t.rast.aggregate: ValueError: too many values to unpack
#2741
d.to.rast fails
#2743
v.net.steiner core dump
#2746
g.gui.vdigit fails to start with "PyAssertionError: C++ assertion "GetEventHandler() == this" failed at ../src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed"
#2758
i.gensigset error G_calloc: unable to allocate 115671215 * 8 bytes of memory at lib/imagery/sigset.c:24
#2765
added "_1" to attribute table's name when working with v.overlay
#2771
r.in.lidar gives error for multiple pass processing
#2778
v.rast.stats: ERROR: Input window changed while maps are open for read.
#2813
wxplot tools fails with wxPython 3
#2843
g.gui fails to import set_gui_path
#2869
Default locale not found
#2871
lib/iostream/mm.cpp:Fails to build with GCC 6: declaration of ... has a different exception specifier
#2879
grass.script.array cannot read raster on Windows
#2888
r.external wizzard shows "projection match: no" although location was created by one of the dataset
#2899
d.histogram launched from map display toolbar doesn't work
#2920
"query raster/vector map(s)" tool does not work for raster maps
#2928
query tool does not work in wx display
#2932
z values read instead of intensity in r.in.lidar
#2943
Absolute path in TGIS connection can make db inaccessible in a (mixed) multi-user environment
#2945
MD5sum for WinGRASS-7.1.svn-r67975-87-Setup-x86_64.exe does not match md5sum file
#2960
db.login port parameter
#2985
Patch for spelling errors
#2997
python editor refuses to run script with UI after closing GUI dialog
#3000
i.gensig overwrites signature file without warning
#3010
PyGRASS fails to write vector map with attributes
#3011
OSGeo4W-winGRASS71 r68376: starting wxgui fails
#3020
Make N with arrow optional in d.barscale styles
#3022
d.polar ends with ValueError: could not convert string to float: dimensions:
#3035
r.support sets wrong map title
#3044
d.northarrow: transparent color does not work
#3058
unexpected behavior/error message in r.diversity?
#3094
wxGUI: error when profiling a raster map
#3098
problems with legend with categorical data and smooth gradient option
#3106
Transparent legend background does not work with categorical legend
#3118
Some modules fail to compile
#3121
d.barscale and northarrow positioning problem when off-screen rendering
#3123
d.legend.vect: wrong handling of spaces in legend_label
#3126
d.vect: Accents in legend_label cause encoding error
#3131
d.legend.vect workspace file flag problem
#3132
d.mon + d.vect: ERROR: Option <map> does not accept multiple answers
#3152
g.gui.animation issues with stvds and list of vector maps
#3158
r.watershed: PredictorSetup:Horizontal differencing "Predictor" not supported with 64-bit samples
#3161
different results by v.in.ogr --ui and vector import wizzard (data shift)
#3168
Behavior of t.register when r.timestamp was used
#3172
v.what: does not take into account layer information
#3175
g.gui.tplot AttributeError: 'module' object has no attribute 'EVT_COMBOBOX_CLOSEUP'
#3181
i.segment watershed method available but not implemented
#3184
v.vect.stats: errors in counts and statistics
#3185
Maps display differently 7.0.x vs 7.2.svn and 7.3.svn
#3196
workspace - layers are in inverted order after loading saved workspace file
#3201
wxGUI nviz: resolution settings widget broken in wxPython 3
#3207
Create histogram of raster map fails
#3208
Create bivariare scatterplot of raster maps fails
#3212
r.in.wms crashes if server does not exist
#3213
v.net.iso - Segmentation fault
#3214
t.rast.mapcalc: TypeError: object of type 'NoneType' has no len()

Closed wishes since the last release

#947
g.version: new flag for citation info
#1113
layertree to be compatible with DataCatalog
#1203
explain command mapping to wxGUI menus
#1592
GRASSCatalog
#2293
MapSwipe query maps
#2326
Command functions in grass.script.core miss a correct error reporting
#2331
parallelize r.horizon
#2332
change r.horizon output names from "angle index" to "angle"
#2349
CELL raster format: make ZLIB level 3 standard compression instead of RLE
#2353
v.univar says type not supported instead of column does not exist
#2355
g.mlist add parameter to check region
#2408
Force reading of VAR and GISRC files in libgis
#2458
testsuite: cosmetics for percentage output
#2484
store map elements in workspace file
#2486
add parameter for transformation of input data to v.in.ogr/r.in.gdal
#2507
r.in.gdal accepts multiple bands in band option
#2535
Enhancement request - i.segment handle large images above 2 billion pixels
#2563
r.grow.distance: define max distance
#2579
Specify command to be exectued as parameter of grass command
#2592
r.mapcalc: add -l flag
#2611
add stream power index to GRASS GIS
#2632
option in context menu to export vector attribute table
#2638
r.to.vect: ignore Null cells
#2651
Increase maximum number of vector points available
#2663
Add test for r.watershed module
#2668
"Browse" button v.external
#2714
wish: logarithmic legend for raster maps
#2716
availability of r.in.lidar and v.in.lidar without compiling
#2721
t.rast.what: allow stdin and add to GRASS 7.0
#2864
Add link to source code in the documentation pages.
#2866
Let r.import specify "title"
#2937
First r.grow.distance test
#2965
r.neighbors explain count in manual
#3013
support background and border for d.legend
#3014
Add ticks to continuous raster legend
#3015
Add legend title
#3016
Add option to set scalebar length
#3018
Specify custom label for d.northarrow
#3019
Add other existing symbols to d.northarrow
#3026
correction and enhancement of r.in.lidar description
#3031
Rotate symbol for north arrow in d.northarrow
#3032
Add images to the d.northarrow manual page
#3043
Change default color table
#3056
]PATCH] r.patch: disable creation of support files
#3078
ps.map unicode support
#3107
d.correlate: add plotting of axes
#3130
r.out.gdal: add alpha channel support

Closed tasks since the last release

#343
standardize DEG2RAD() etc
#2105
Missing guidelines for testing
#3034
Change the layer options in v.in.lidar to flag or flags with predefined categories
#3038
Decide if validity check in r.in.lidar should be an additional filter or a filter enabled by default
#3136
move v.krige to addons

Last modified 8 weeks ago Last modified on Feb 1, 2017 12:51:00 AM

Attachments (5)

Download all attachments as: .zip