= List of new features in GRASS GIS 7.2 = GRASS GIS 7.2 is the version of active development with a first 7.2.0 stable release in December 2016. In total, it comes with '''more than 1900 fixes and improvements''' with respect to the stable releases 7.0.5. The development was officially moved to a dedicated release branch in May 2016 (r68500). This page summarizes the manifold new features which have been added to GRASS 7.2. [[TOC]] [[Image(wiki:Grass7/NewFeatures72:grass720_startup.png, align=right, 300px)]] === What's new in a nutshell === After almost two years of development the new stable major release GRASS GIS 7.2 is available. The graphical user interface based on wxPython has been further improved in order to make complex GIS operations available as simple as possible. The developers have added an important new functionality to the core system: the [http://grass.osgeo.org/grass72/manuals/libpython/pygrass_index.html Python interface to the C library] got extended which permits users to create new GRASS GIS-Python modules in a simple way while yet obtaining powerful and fast modules. Furthermore, a series of new modules to analyse raster and vector data was added. For details see below. === Releases === * See list here: [wiki:Release/7.2.0-News] == Graphical User Interface == GRASS GIS 7.2 graphical user interface comes now as a new multi-threaded implementation (faster!) along with a new '''Data tab''' in the Layer Manager. This tab, the Data Catalog, is a new wxGUI component for browsing, modifying and managing GRASS maps (G72:g.gui.datacatalog). It also allows to add maps to the display, search by map names using regular expressions and switch mapset. GRASS GIS 7.2 also comes with native simple '''Python editor'''. There have also been several improvements for a better cartographic composition with the Map Display. One of the most important additions in this sense is the '''new vector legend module''' (G72:d.legend.vect, see below) and several improvements to existing display modules. Also a '''new Raster digitizer''' was added. || [[Image(wiki:Release/7.2.0-News:grass72-datacatalog.png, align=center, 350px)]] || [[Image(wiki:Release/7.2.0-News:simple_python_editor_v_buffer.png, align=center, 350px)]] || ''Data tab'' G72:g.gui.datacatalog || ''Simple Python editor'' || [[Image(d_legend_vect.png, align=center, 350px)]] || New vector legends with G72:d.legend.vect == Modules (commands) == A series of new modules has been added and many improved. === Display modules === Two new modules were added: G72:d.legend.vect, which allows to easily display a vector legend in the active graphics monitor and, G72:d.frame to manage display frames in the user's graphics monitor. Several display modules, especially those related to the cartographic composition from the Map Display, have received major improvements within GSoC 2016. Some of these improvements include: a new option to specify length and units in G72:d.barscale, new options to show background and ticks in the color scale, the possibility to switch to logarithmic legend and options to add title and have more control over labels in G72:d.legend, more symbols available in G72:d.northarrow, a background option in G72:d.grid, among others. G72:d.vect and G72:d.vect.thematic come now with a legend tab with various legend-related options: icon_area to represent areas in legend, icon_line to represent lines in legend, legend_label to set the label to be displayed in the legend, -s flag to suppress the display of the layer in the legend. Moreover, these two modules now produce a legend file with instructions for G72:d.legend.vect that facilitates its use in the command line or scripts. || [[Image(wiki:GSoC/2016/BasicCartographySuiteInGRASS:vector_leg.png, align=center, 350px)]] || G72:d.legend.vect === General modules === This new release comes with a new module, G72:g.search.modules, that allows to search for a GRASS GIS command based on keywords. It will search for the given keyword among GRASS modules names, descriptions, keywords and optionally manual pages, too. Moreover, G72:g.extension, the module that allows to install and manage GRASS Addons, has been notably improved to support the download, compilation and installation of modules using simplified URLs to !GitHub, !GitLab and similar repository services, local directories, remote and local ZIP and TAR files, as well as GRASS GIS trac. === Raster modules === Several modules have been improved for this new release; among them, G72:r.in.lidar and G72:r.texture, are the ones with the most significant changes. Details of those changes and some others, are listed below: * 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.texture - major rewrite fixing many bugs and making the results much more useful (#3210) * G72:r.out.xyz - new -i flag to include no data values in the export * G72:r.mapcalc - fixed a bug that gave wrong results with specific uses of neighborhood modifier (#3067). || [[Image(r_in_lidar_dem_mean3D.jpg, align=center, 350px)]] || G72:r.in.lidar === Raster3D modules === Two new modules were added to the already impressive number of raster 3D processing capabilities of GRASS GIS: * 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 || [[Image(r3flow_flowlines_color.png, align=center, 350px)]] || G72:r3.flow === Vector modules === Two new vector modules have been added to this new release of GRASS GIS: * G72:v.decimate - Decimates a point cloud * G72:v.out.lidar - Export point vector map as a point cloud || [[Image(v_decimate_count.png, align=center, 350px)]] || G72:v.decimate === Temporal GIS modules === One of the most important additions to the temporal framework are the ''algebra'' modules. These modules, namely G72:t.rast.algebra, G72:t.rast3d.algebra and G72:t.vect.algebra, allow to perform temporal and spatial operations on/with space time datasets using the temporal algebra. The temporal algebra provides a wide range of temporal operators and functions, i.e.: temporal relations, temporal selection with or without conditional statements, logical operators, temporal operators, temporal neighbourhood modifiers, among others. A new module to sample a space time raster dataset at specific vector point coordinates was also added (G72:t.rast.what). || [[Image(wiki:Release/7.2.0-News:g_gui_tplot_screenshot.png, align=center, 350px)]] || G72:g.gui.tplot === Scripting and batch jobs === The new '''exec''' interface of the startup script allows to execute GRASS commands or entire scripts in a non-interactive session. See the examples at the [https://grass.osgeo.org/grass72/manuals/grass7.html#batch-jobs-with-the-exec-interface GRASS startup program] manual page. == User Manuals - Documentation == === New Graphical Index === This new release of GRASS GIS comes with a new '''[https://grass.osgeo.org/grass72/manuals/graphical_index.html Graphical Index]''' of functionalities, to make it easier to search for specific modules. || [[Image(graphical_index.png, align=center, 450px)]] || New Graphical index. === User manual page improvements === There have also been significant documentation improvements in several User Manuals: G72:g.gui.gmodeler, G72:r.in.lidar, G72:v.overlay, G72:v.select, ​G72:ps.map, among others. A new page was written about [https://grass.osgeo.org/grass72/manuals/grass_database.html GRASS GIS Database] which extends the explanations of [https://grass.osgeo.org/grass72/manuals/helptext.html Quickstart (helptext.html)] in context of database. Moreover, a link to the source code and history of the module was added at the end of each User manual page. || [[Image(g_gui_gmodeler_avg_run.png, align=center, 350px)]] || [[Image(v_select_op_intersects.png, align=center, 350px)]] || || G72:g.gui.gmodeler: A model to perform average statistics. || G72:v.select: Example of DISJOINT operator. || == GRASS 7 Library changes == There have also been important changes in GRASS libraries. * New library for numerical functions (see [http://grass.osgeo.org/programming7/dir_64394d1269c0009c9cccd489361deaa9.html programmer's manual]) * Support for new raster data compression methods: NONE, ZLIB, LZ4, BZIP2. * Support for NULL file compression: At time, it must be explicitly turned on with export GRASS_COMPRESS_NULLS=1 * Several improvements, updates and fixes in libproj and libgis. == Source Code Portability == The changes to libiostream now allow the compilation of G72:r.viewshed, G72:r.terraflow and G72:i.atcorr with C++11 and C++14 as well as C++98 strict setting. On the other hand, G72:r.sim.water and G72:r.sim.sediment now work with more versions of MinGW and MS Windows thanks to a better library-executable separation == GRASS GIS 7.2 Addons == More than fifty (50!) new addons are now enlarging the already impressive list of extensions available: * see ~~http://grass.osgeo.org/grass72/manuals/addons/~~