diff --git a/Dockerfile b/Dockerfile index bd32f38acee..5da5f473938 100644 --- a/Dockerfile +++ b/Dockerfile @@ -295,13 +295,13 @@ RUN ./configure $GRASS_CONFIG \ mv module_items.xml /usr/local/grass85/gui/wxpython/xml/module_items.xml; # Build the GDAL-GRASS plugin -RUN git clone https://github.com/OSGeo/gdal-grass \ +# renovate: datasource=github-tags depName=OSGeo/gdal-grass +ARG GDAL_GRASS_VERSION=1.0.3 +RUN git clone --branch $GDAL_GRASS_VERSION --depth 1 https://github.com/OSGeo/gdal-grass.git \ && cd "gdal-grass" \ - && ./configure \ - --with-gdal=/usr/bin/gdal-config \ - --with-grass=/usr/local/grass85 \ - && make -j $NUMTHREADS \ - && make install -j $NUMTHREADS \ + && cmake -B build -DAUTOLOAD_DIR=/usr/lib/gdalplugins -DBUILD_TESTING=OFF \ + && cmake --build build \ + && cmake --install build \ && cd /src \ && rm -rf "gdal-grass" diff --git a/display/d.geodesic/d.geodesic.md b/display/d.geodesic/d.geodesic.md index 80d78ae6461..36107bb92e7 100644 --- a/display/d.geodesic/d.geodesic.md +++ b/display/d.geodesic/d.geodesic.md @@ -32,8 +32,7 @@ d.geodesic coordinates=55:58W,33:18S,26:43E,60:37N \ line_color=yellow text_color=red units=kilometers ``` - +![Geodesic line (great circle line)](d_geodesic.png) *Geodesic line (great circle line)* ## NOTES diff --git a/display/d.grid/d.grid.md b/display/d.grid/d.grid.md index 2453b79cfa5..35064189a9d 100644 --- a/display/d.grid/d.grid.md +++ b/display/d.grid/d.grid.md @@ -39,8 +39,7 @@ or d.grid -g size=0.5 color=255:0:0 ``` - +![d.grid red grid example](d_grid_red_grid.png) *Figure: Showing a geographic grid in red line color* To draw a blue standard rectangular grid at a 500 (meter) spacing run @@ -50,8 +49,7 @@ the following: d.grid size=500 color=blue ``` - +![d.grid blue grid example](d_grid_blue_grid.png) *Figure: Showing a rectangular grid in blue line color* ## SEE ALSO diff --git a/display/d.histogram/d.histogram.md b/display/d.histogram/d.histogram.md index e5798b9437d..23a00503bd6 100644 --- a/display/d.histogram/d.histogram.md +++ b/display/d.histogram/d.histogram.md @@ -26,8 +26,7 @@ d.mon wx0 d.histogram map=elevation ``` - +![d.histogram bar graph example](d_histogram_bar.png) *Figure: Bar graph histogram for elevation map* Running the command below will generate the pie graph shown in the @@ -38,8 +37,7 @@ g.region raster=landuse96_28m -p d.histogram map=landuse96_28m style=pie ``` - +![d.histogram pie graph example](d_histogram_pie.png) *Figure: Pie graph histogram for landuse map* ## SEE ALSO diff --git a/display/d.legend/d.legend.md b/display/d.legend/d.legend.md index 773ffb9b88d..9b729739c89 100644 --- a/display/d.legend/d.legend.md +++ b/display/d.legend/d.legend.md @@ -111,8 +111,7 @@ d.rast elevation d.legend -d elevation ``` - +![Elevation map with legend](d_legend.png) Displaying the legend with custom labels and background: @@ -122,8 +121,7 @@ d.rast elevation d.legend raster=elevation -t label_step=20 label_values=108 title=Legend -b bgcolor=255:255:204 border_color=gray ``` - +![Elevation map with custom legend](d_legend_custom_labels_and_background.png) Displaying the legend with logarithmic scale: @@ -134,8 +132,7 @@ d.rast flowacc d.legend raster=flowacc -t -l label_step=1 ``` - +![Flow accumulation map with logarithmic legend](d_legend_logarithmic.png) ## SEE ALSO diff --git a/display/d.mon/d.mon.md b/display/d.mon/d.mon.md index b34c7b58d5d..a45771d5bc6 100644 --- a/display/d.mon/d.mon.md +++ b/display/d.mon/d.mon.md @@ -64,7 +64,7 @@ display](wxGUI.md#map-display-window)*, run d.mon start=wx0 ``` -Blank wx0 display +![Blank wx0 display](d_mon_wx0.png) *Figure: The initialization of display monitor wx0* All subsequently displayed data will be rendered on monitor `wx0`. @@ -74,8 +74,7 @@ g.region raster=elevation -p d.rast map=elevation ``` - +![Display wx0 with raster map](d_mon_wx0_raster.png) *Figure: The display wx0 showing an elevation raster map* ### CAIRO file renderer monitor diff --git a/display/d.rast.num/d.rast.num.md b/display/d.rast.num/d.rast.num.md index 68226128b82..50198bf2826 100644 --- a/display/d.rast.num/d.rast.num.md +++ b/display/d.rast.num/d.rast.num.md @@ -31,8 +31,7 @@ r.grow.distance input=streams_derived distance=dist_from_streams d.rast.num dist_from_streams -a ``` - +![Euclidean distance from the streams network in meters](d_rast_num_zoom.png) *Euclidean distance from the streams network in meters (detail, numbers shown with d.rast.num)* diff --git a/display/d.rast/d.rast.md b/display/d.rast/d.rast.md index 81942f5083b..2cb3b9dcf87 100644 --- a/display/d.rast/d.rast.md +++ b/display/d.rast/d.rast.md @@ -11,8 +11,7 @@ Display raster map "elevation": d.rast map=elevation ``` - +![d.rast elevation](d_rast_elevation.png) *Figure: elevation raster map visualization* Display raster map "elevation" but only the raster cells with values @@ -22,8 +21,7 @@ between 75 and 80 meters: d.rast map=elevation values=75-80 ``` - +![d.rast elevation with values](d_rast_elevation_values.png) *Figure: elevation raster map showing values between 75 and 80 meters* Display raster map "landuse96_28m" but only categories 1 and 2: @@ -32,7 +30,7 @@ Display raster map "landuse96_28m" but only categories 1 and 2: d.rast landuse96_28m values=1,2 ``` -d.rast landuse +![d.rast landuse](d_rast_landuse.png) *Figure: landuse raster map showing categories 1 and 2* ## SEE ALSO diff --git a/display/d.rgb/d.rgb.md b/display/d.rgb/d.rgb.md index 1cd26feec53..c8ebe3cfffa 100644 --- a/display/d.rgb/d.rgb.md +++ b/display/d.rgb/d.rgb.md @@ -49,7 +49,7 @@ g.region raster=lsat7_2002_10 -p d.rgb blue=lsat7_2002_10 green=lsat7_2002_20 red=lsat7_2002_30 ``` -d.rgb example +![d.rgb example](d_rgb.png) *Figure: Visual color composite of a LANDSAT scene (North Carolina sample dataset)* diff --git a/display/d.vect.thematic/d.vect.thematic.md b/display/d.vect.thematic/d.vect.thematic.md index 3af53e82f7c..4039388c7b4 100644 --- a/display/d.vect.thematic/d.vect.thematic.md +++ b/display/d.vect.thematic/d.vect.thematic.md @@ -78,8 +78,7 @@ d.vect.thematic map=schools_wake@PERMANENT column=CORECAPACI algorithm=std \ d.legend.vect -b at=2,80 font=Sans symbol_size=25 ``` -[](d_vect_thematic.png) +![d_vect_thematic example](d_vect_thematic.png) *Thematic map of average elevation and school capacity* ## SEE ALSO diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index a552a744a8a..9f2eb4cb551 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -123,6 +123,7 @@ ENV GRASS_BUILD_PACKAGES="\ build-base \ bzip2-dev \ cairo-dev \ + cmake \ fftw-dev \ freetype-dev \ geos-dev \ @@ -178,13 +179,13 @@ RUN cp /usr/local/grass/gui/wxpython/xml/module_items.xml module_items.xml; \ mkdir -p /usr/local/grass/gui/wxpython/xml/; \ mv module_items.xml /usr/local/grass/gui/wxpython/xml/module_items.xml; -RUN git clone https://github.com/OSGeo/gdal-grass /src/gdal-grass +# renovate: datasource=github-tags depName=OSGeo/gdal-grass +ARG GDAL_GRASS_VERSION=1.0.3 +RUN git clone --branch $GDAL_GRASS_VERSION --depth 1 https://github.com/OSGeo/gdal-grass.git src/gdal-grass WORKDIR /src/gdal-grass -RUN ./configure \ - --with-gdal=/usr/bin/gdal-config \ - --with-grass=/usr/local/grass && \ - make -j $NUMTHREADS && \ - make install -j $NUMTHREADS +RUN cmake -B build -DAUTOLOAD_DIR=/usr/lib/gdalplugins -DBUILD_TESTING=OFF && \ + cmake --build build && \ + cmake --install build FROM common as grass diff --git a/docker/ubuntu/Dockerfile b/docker/ubuntu/Dockerfile index bd32f38acee..5da5f473938 100644 --- a/docker/ubuntu/Dockerfile +++ b/docker/ubuntu/Dockerfile @@ -295,13 +295,13 @@ RUN ./configure $GRASS_CONFIG \ mv module_items.xml /usr/local/grass85/gui/wxpython/xml/module_items.xml; # Build the GDAL-GRASS plugin -RUN git clone https://github.com/OSGeo/gdal-grass \ +# renovate: datasource=github-tags depName=OSGeo/gdal-grass +ARG GDAL_GRASS_VERSION=1.0.3 +RUN git clone --branch $GDAL_GRASS_VERSION --depth 1 https://github.com/OSGeo/gdal-grass.git \ && cd "gdal-grass" \ - && ./configure \ - --with-gdal=/usr/bin/gdal-config \ - --with-grass=/usr/local/grass85 \ - && make -j $NUMTHREADS \ - && make install -j $NUMTHREADS \ + && cmake -B build -DAUTOLOAD_DIR=/usr/lib/gdalplugins -DBUILD_TESTING=OFF \ + && cmake --build build \ + && cmake --install build \ && cd /src \ && rm -rf "gdal-grass" diff --git a/general/g.region/g.region.md b/general/g.region/g.region.md index 54fb7b4a2b7..bc6c84b7ee8 100644 --- a/general/g.region/g.region.md +++ b/general/g.region/g.region.md @@ -396,7 +396,7 @@ g.region -l format=json *[g.access](g.access.md), [g.mapsets](g.mapsets.md), [g.proj](g.proj.md) Environment variables: [GRASS_REGION and -WIND_OVERRIDE](variables.md#internal)* +WIND_OVERRIDE](variables.md#list-of-selected-internal-grass-environment-variables)* ## AUTHOR diff --git a/gui/wxpython/animation/g.gui.animation.md b/gui/wxpython/animation/g.gui.animation.md index c97c94d8b29..8d02fd6275d 100644 --- a/gui/wxpython/animation/g.gui.animation.md +++ b/gui/wxpython/animation/g.gui.animation.md @@ -36,8 +36,7 @@ follow these steps: - choose parameter (parameter of *[m.nviz.image](m.nviz.image.md)*) to animate (e.g. color_map) - +![Animation Tool screenshot](wxGUI_animation_tool.jpg) ## NOTE diff --git a/gui/wxpython/datacatalog/g.gui.datacatalog.md b/gui/wxpython/datacatalog/g.gui.datacatalog.md index 05dfc54c2ab..da6e8948c65 100644 --- a/gui/wxpython/datacatalog/g.gui.datacatalog.md +++ b/gui/wxpython/datacatalog/g.gui.datacatalog.md @@ -17,9 +17,8 @@ Data Catalog allows you to: Note that projects are called *locations* at some places and in old documentation. - -Figure: Data Catalog integrated in wxGUI. +![data catalog screenshot](datacatalog.png) +*Figure: Data Catalog integrated in wxGUI.* ## NOTES diff --git a/gui/wxpython/dbmgr/g.gui.dbmgr.md b/gui/wxpython/dbmgr/g.gui.dbmgr.md index c3d37ea6495..e447682f95e 100644 --- a/gui/wxpython/dbmgr/g.gui.dbmgr.md +++ b/gui/wxpython/dbmgr/g.gui.dbmgr.md @@ -17,14 +17,12 @@ stand-alone module *g.gui.dbmgr*. - modify vector map DB connection settings - add, remove or modify layers. -[](dbmgr_frame.png) +![Attribute Table Manager](dbmgr_frame.png) *Figure: Simple attribute filtering using Attribute Table Manager.* ### SQL Builder -[](dbmgr_sql_builder.png) +![Attribute Table Manager and SQL Builder](dbmgr_sql_builder.png) *Figure: Attribute filtering using Attribute Table Manager and SQL Builder.* diff --git a/gui/wxpython/docs/wxGUI.iscatt.md b/gui/wxpython/docs/wxGUI.iscatt.md index e1d8d6961cb..5ea870596b9 100644 --- a/gui/wxpython/docs/wxGUI.iscatt.md +++ b/gui/wxpython/docs/wxGUI.iscatt.md @@ -1,7 +1,7 @@ ## KEYWORDS [display](display.md), [GUI](topic_GUI.md), -[imagery](keywords.md#imagery), [scatterplot](keywords.md#scatterplot), +[imagery](keywords.md#imagery), [scatterplot](keywords.md), [plot](keywords.md#plot) ## DESCRIPTION @@ -26,8 +26,7 @@ interactivity, which allows user to: ## TOOL CONTROLS LAYOUT - +![Interactive Scatter Plot Tool](wxGUI_iscatt.jpg) If editing mode is activated (the green polygon tool in toolbar), the areas which were selected in the scatter plots are highlighted. In the diff --git a/gui/wxpython/docs/wxGUI.md b/gui/wxpython/docs/wxGUI.md index 791f19cec5c..3ba67b56463 100644 --- a/gui/wxpython/docs/wxGUI.md +++ b/gui/wxpython/docs/wxGUI.md @@ -19,7 +19,7 @@ The GUI is composed of *three* main components: - [Module dialogs](wxGUI.modules.md) enable running GRASS modules that can be searched and launched via Tools tab. -### Layer Manager +### Layer Manager Window The *Layer Manager* provides an interactive graphical interface for creating and managing GRASS displays. There is a toolbar to manage @@ -30,9 +30,8 @@ menu bar with a set of pull-down menus for all GRASS GIS functions (analysis, file I/O, GIS configuration and management); on a Mac, the GRASS functions menu is at the top of the screen. -screenshot - -Figure: Layer Manager screenshot on Ubuntu +![Layer Manager Window](wxGUI_layer_manager.png) +*Figure: Layer Manager screenshot on Ubuntu* The top left button of the toolbar opens a new *Map Display Window*. Each map display has a unique set of layers to display and region @@ -65,62 +64,65 @@ These options are those for the d.\* command for each layer type #### Layer Manager Toolbar -![icon](icons/monitor-create.png)  *Start new map display* +![icon](icons/monitor-create.png)  *Start new map display*: Opens a new map display and creates empty layer tree tab in Layer Manager. -![icon](icons/create.png)  *Create new workspace* +![icon](icons/create.png)  *Create new workspace*: Removes all layers from the layer tree and creates a new, empty tree where new layers can be added. -![icon](icons/open.png)  *Open existing workspace file* +![icon](icons/open.png)  *Open existing workspace file*: Opens an previously saved workspace file, containing a set of display layers and their option settings. -![icon](icons/save.png)  *Save current workspace to file* +![icon](icons/save.png)  *Save current workspace to file*: Saves current set of layers and their options to a workspace file. -![icon](icons/layer-open.png)  *Load map layers into workspace* +![icon](icons/layer-open.png)  *Load map layers into workspace*: Loads selected raster or vector maps into current layer tree. -![icon](icons/layer-raster-add.png)  *Add raster map layer* +![icon](icons/layer-raster-add.png)  *Add raster map layer*: Adds raster map to layer tree, see *[d.rast](d.rast.md)*. -![icon](icons/layer-raster-more.png)  *Add various raster map layers (RGB, HIS, shaded relief...)* +![icon](icons/layer-raster-more.png)  *Add various raster map layers +(RGB, HIS, shaded relief...)*: Opens a dropdown menu that allows user to select to: -![icon](icons/layer-raster3d-add.png)  *Add 3D raster map layer* +- ![icon](icons/layer-raster3d-add.png)  *Add 3D raster map layer*: Adds 3D raster map to layer tree. -![icon](icons/layer-rgb-add.png)  *Add RGB raster layer* +- ![icon](icons/layer-rgb-add.png)  *Add RGB raster layer*: Combines and displays three raster maps defined as red, green, and blue channels to create an RGB color map, see *[d.rgb](d.rgb.md)*. -![icon](icons/layer-his-add.png)  *Add HIS raster layer* +- ![icon](icons/layer-his-add.png)  *Add HIS raster layer*: Combines and displays two or three raster maps defined as hue, intensity, and (optionally) saturation channels to create a color map, see *[d.his](d.his.md)*. -![icon](icons/layer-shaded-relief-add.png)  *Add shaded relief raster map layer* +- ![icon](icons/layer-shaded-relief-add.png)  *Add shaded relief raster map layer*: Adds shaded relief raster map layer, see *[r.relief](r.relief.md)* and *[d.shade](d.shade.md)*. -![icon](icons/layer-aspect-arrow-add.png)  *Add raster arrows layer* +- ![icon](icons/layer-aspect-arrow-add.png)  *Add raster arrows layer*: Adds map of raster cells with directional arrows drawn. Arrow direction and length are determined by separate aspect/directional map and (optional) slope/intensity map, see *[d.rast.arrow](d.rast.arrow.md)*. -![icon](icons/layer-cell-cats-add.png)  *Add raster numbers layer* +- ![icon](icons/layer-cell-cats-add.png)  *Add raster numbers layer*: Adds map of raster cells with numbers representing the cell values, see *[d.rast.num](d.rast.num.md)*. -![icon](icons/layer-vector-add.png)  *Add vector map layer* +![icon](icons/layer-vector-add.png)  *Add vector map layer*: Adds a vector map layer, see *[d.vect](d.vect.md)*. -![icon](icons/layer-vector-more.png)  *Add various vector map layers (thematic, chart...)* +![icon](icons/layer-vector-more.png)  *Add various vector map layers +(thematic, chart...)*: Opens a dropdown menu that allows user to select to: -![icon](icons/layer-vector-thematic-add.png)  *Add thematic area (choropleth) map layer (for all vector types)* +- ![icon](icons/layer-vector-thematic-add.png)  *Add thematic area +(choropleth) map layer (for all vector types)*: Adds layer for thematic display values from a numeric attribute column associated with a vector map. Options include: thematic display type (graduated colors or point sizes), methods for creating display @@ -130,107 +132,110 @@ color schemes, creation of legend for thematic map, and saving the results of thematic mapping to a ps.map instructions file for later printing, see *[d.vect.thematic](d.vect.thematic.md)*. -![icon](icons/layer-vector-chart-add.png)  *Add thematic chart layer (for vector points)* +- ![icon](icons/layer-vector-chart-add.png)  *Add thematic chart layer +(for vector points)*: Adds layer in which pie or bar charts can be automatically created at vector point locations. Charts display values from selected columns in the associated attribute table. Options include: chart type, layer and attributes to chart, chart colors, and chart size (fixed or based on attribute column), see *[d.vect.chart](d.vect.chart.md)*. -![icon](icons/layer-group-add.png)  *Add group* +![icon](icons/layer-group-add.png)  *Add group*: Adds an empty group. Layers can then be added to the group. -![icon](icons/layer-more.png)  *Add grid or vector labels overlay* +![icon](icons/layer-more.png)  *Add grid or vector labels overlay*: Opens a dropdown menu that allows user to select to: -![icon](icons/layer-grid-add.png)  *Add overlay grids and lines* +- ![icon](icons/layer-grid-add.png)  *Add overlay grids and lines*: Adds layer to display regular grid see *[d.grid](d.grid.md)* -![icon](icons/layer-label-add.png)  *Add labels layer for vector objects (from existing labels file)* +- ![icon](icons/layer-label-add.png)  *Add labels layer for vector +objects (from existing labels file)*: Add a layer of text from a labels file for vector objects created with the *[v.label](v.label.md)* module. A labels file can also be created with a text editor, see *[d.labels](d.labels.md)*. -![icon](icons/shortest-distance.png)  *Add geodesic line layer* +- ![icon](icons/shortest-distance.png)  *Add geodesic line layer*: Add layer to display geodesic line for latitude/longitude projects only, see *[d.geodesic](d.geodesic.md)* -![icon](icons/shortest-distance.png)  *Add rhumbline layer* +- ![icon](icons/shortest-distance.png)  *Add rhumbline layer*: Add layer to display rhumblines (for latitude/longitude projects only), see *[d.rhumbline](d.rhumbline.md)*. -![icon](icons/layer-command-add.png)  *Add command layer* +- ![icon](icons/layer-command-add.png)  *Add command layer*: Adds a layer in which a GRASS GIS command or command list can be entered. For a command list use the semi-colon (";") symbol as a separator. For example: -```sh -d.rast soils;d.rast -o roads;d.vect streams col=blue -``` + ```sh + d.rast soils;d.rast -o roads;d.vect streams col=blue + ``` -Note that when an option of the command contains spaces, you need to -"escape" them with the backslash ('\\) character, for example: + Note that when an option of the command contains spaces, you need to +"escape" them with the backslash ('\\') character, for example: -```sh -d.text text=Population\ density -``` + ```sh + d.text text=Population\ density + ``` -![icon](icons/layer-remove.png)  *Delete selected layer* +![icon](icons/layer-remove.png)  *Delete selected layer*: Removes selected map layer or map layer group from layer tree. -![icon](icons/edit.png)  *Edit vector maps* +![icon](icons/edit.png)  *Edit vector maps*: Opens *[vector digitizer](wxGUI.vdigit.md)* to allow editing selected vector map. -![icon](icons/table.png)  *Show attribute table* +![icon](icons/table.png)  *Show attribute table*: Opens *[attribute table manager](wxGUI.dbmgr.md)* for selected vector map. -![icon](icons/layer-open.png)  *Import raster or vector data* -![icon](icons/layer-import.png)  *Import raster data* +![icon](icons/layer-open.png)  *Import raster or vector data*: + +- ![icon](icons/layer-import.png)  *Import raster data*: Import selected raster data into GRASS using *[r.in.gdal](r.in.gdal.md)* and load them into current layer tree. -![icon](icons/layer-import.png)  *Link external raster data* +- ![icon](icons/layer-import.png)  *Link external raster data*: Link selected external raster data as GRASS raster maps (using *[r.external](r.external.md)*) and load them into current layer tree. -![icon](icons/layer-export.png)  *Set raster output format* +- ![icon](icons/layer-export.png)  *Set raster output format*: Define external format for newly created raster maps (see *[r.external.out](r.external.out.md)* for details) -![icon](icons/layer-import.png)  *Import vector data* +- ![icon](icons/layer-import.png)  *Import vector data*: Import selected vector data into GRASS using *[v.in.ogr](v.in.ogr.md)* and load them into current layer tree. -![icon](icons/layer-import.png)  *Link external vector data* +- ![icon](icons/layer-import.png)  *Link external vector data*: Link selected external vector data as GRASS vector maps (using *[v.external](v.external.md)*) and load them into current layer tree. -![icon](icons/layer-export.png)  *Set vector output format* +- ![icon](icons/layer-export.png)  *Set vector output format*: Define external format for newly created vector maps (see *[v.external.out](v.external.out.md)* for details) -![icon](icons/raster-calculator.png)  *Raster Map Calculator* +![icon](icons/raster-calculator.png)  *Raster Map Calculator*: Launches Raster Calculator GUI front-end for *[r.mapcalc](r.mapcalc.md)*. -![icon](icons/modeler-main.png)  *Graphical Modeler* +![icon](icons/modeler-main.png)  *Graphical Modeler*: Launches *[graphical modeler](wxGUI.gmodeler.md)* to create models and run them. -![icon](icons/georectify.png)  *Georectifier Tool* +![icon](icons/georectify.png)  *Georectifier Tool*: Launches *[GCP Manager](wxGUI.gcp.md)* to create, edit, and manage Ground Control Points. -![icon](icons/print-compose.png)  *Cartographic Composer* +![icon](icons/print-compose.png)  *Cartographic Composer*: Launches *[Cartographic Composer](wxGUI.psmap.md)* to create interactively hardcopy map outputs. -![icon](icons/settings.png)  *Show GUI settings* +![icon](icons/settings.png)  *Show GUI settings*: Opens dialog to change GUI settings. -![icon](icons/help.png)  *Show help* +![icon](icons/help.png)  *Show help*: Opens GRASS manual. ### Map Display Window @@ -241,8 +246,7 @@ layers is displayed, and a statusbar with information about the geographic region of the maps displayed. ![Map Display Window](wxGUI_map_display.jpg) - -Figure: Map Display screenshot on Ubuntu +*Figure: Map Display screenshot on Ubuntu* Each Map Display Window has a unique layer tree (in the layer manager) and geographic *region* setting. At the top of the window is a toolbar @@ -269,30 +273,30 @@ extents. #### Map Display Toolbar -![icon](icons/layer-redraw.png)  *Re-render display* +![icon](icons/layer-redraw.png)  *Re-render display*: Re-renders all active map layers regardless of whether they have changed or not, see *[d.redraw](d.redraw.md)*. -![icon](icons/erase.png)  *Erase display* +![icon](icons/erase.png)  *Erase display*: Erases the currently selected map display to a white background, see *[d.erase](d.erase.md)*. -![icon](icons/pointer.png)  *Pointer* +![icon](icons/pointer.png)  *Pointer*: Select arrow cursor for map display. -![icon](icons/select.png)  *Select features from vector map* +![icon](icons/select.png)  *Select features from vector map*: Interactively select features from given vector map. Selection can be stored to a new vector map, see *[v.what](v.what.md)* and *[v.extract](v.extract.md)*. -![icon](icons/info.png)  *Query raster/vector maps* +![icon](icons/info.png)  *Query raster/vector maps*: Query selected raster, RGB raster (all three map channels will be queried), or vector map(s) using the mouse. Map(s) must be selected before query. Vector charts and thematic vector maps cannot be queried. The results of the query will be displayed in a dialog. See *[r.what](r.what.md), [v.what](v.what.md)*. -![icon](icons/pan.png)  *Pan* +![icon](icons/pan.png)  *Pan*: Interactive selection of a new center of view in the active display monitor. Drag the pan cursor while pressing the left mouse button to pan. Panning changes the location of the region displayed but not the @@ -300,7 +304,7 @@ size of the area displayed or the resolution. Panning does *not* affect the computational region for other GIS processes, see *[g.region](g.region.md)*. -![icon](icons/zoom-in.png)  *Zoom in* +![icon](icons/zoom-in.png)  *Zoom in*: Interactive zooming with the mouse in the active display monitor. Drawing a box or just click with the mouse (left button) and zoom-in cursor causes the display to zoom in so that the area defined by the box @@ -311,7 +315,7 @@ extents (both size and location of area displayed). It does *not* affect the computational region for other GIS processes, see *[g.region](g.region.md)*. -![icon](icons/zoom-out.png)  *Zoom out* +![icon](icons/zoom-out.png)  *Zoom out*: Interactive zooming with the mouse in the active display monitor. Drawing a box or just click with the mouse (left button) and zoom-out cursor causes the display to zoom in so that the area displayed shrinks @@ -322,21 +326,21 @@ display region extents (both size and location of area displayed). It does *not* affect the computational region for other GIS processes, see *[g.region](g.region.md)*. -![icon](icons/zoom-extent.png)  *Zoom to selected map(s)* +![icon](icons/zoom-extent.png)  *Zoom to selected map(s)*: Set zoom extent based on selected raster or vector maps. Zooming resets the display region extents (both size and location of area displayed). It does *not* affect the computational region for other GIS processes, see *[g.region](g.region.md)*. -![icon](icons/zoom-region.png)  *Zoom to computational region extent* +![icon](icons/zoom-region.png)  *Zoom to computational region extent*: Set zoom extent based on the current computational region extent, see *[g.region](g.region.md)*. -![icon](icons/zoom-last.png)  *Return to previous zoom* +![icon](icons/zoom-last.png)  *Return to previous zoom*: Returns to the previous zoom extent. Up to 10 levels of zoom back are maintained, see *[g.region](g.region.md)*. -![icon](icons/zoom-more.png)  *Various zoom options* +![icon](icons/zoom-more.png)  *Various zoom options*: Opens a dropdown menu that allows user to: - *Zoom to default region* @@ -353,87 +357,89 @@ Opens a dropdown menu that allows user to: - *Save display geometry to named region* - *Save computational region to named region* -![icon](icons/layer-raster-analyze.png)  *Analyze menu* +![icon](icons/layer-raster-analyze.png)  *Analyze menu*: Opens a dropdown menu with: -![icon](icons/measure-length.png)  *Measure distance* +- ![icon](icons/measure-length.png)  *Measure distance*: Interactive measurement of lengths defined with the mouse. The length of each segment and the cumulative length of all segments measuered is displayed in the command output window frame. Lengths are measured in the current measurement unit. Double-click to switch off measuring. -![icon](icons/area-measure.png)  *Measure area* +- ![icon](icons/area-measure.png)  *Measure area*: Interactive measurement of area defined with the mouse. Area is measured in the current measurement unit. Double-click to switch off measuring. -![icon](icons/layer-raster-profile.png)  *Profile surface map* +- ![icon](icons/layer-raster-profile.png)  *Profile surface map*: Interactively create profile of a raster map. Profile transect is drawn with the mouse in map display. The profile may be of the displayed map or a different map. Up to three maps can be profiled simultaneously. -![icon](icons/layer-raster-profile.png)  *Create bivariate scatterplot of raster maps* +- ![icon](icons/layer-raster-profile.png) +*Create bivariate scatterplot of raster maps*: Interactively create bivariate scatterplot of raster maps. -![icon](icons/layer-raster-histogram.png)  *Create histogram of raster map* +- ![icon](icons/layer-raster-histogram.png) +*Create histogram of raster map*: Displays histogram of selected raster map or image in new window. -![icon](icons/layer-raster-histogram.png)  *Create histogram with d.histogram* +- ![icon](icons/layer-raster-histogram.png)  *Create histogram with d.histogram*: Displays histogram of selected raster map or image in new window, see *[d.histogram](d.histogram.md)*. -![icon](icons/vector-tools.png)  *Vector network analysis tool* +- ![icon](icons/vector-tools.png)  *Vector network analysis tool*: See tool's [manual page](wxGUI.vnet.md). -![icon](icons/overlay-add.png)  *Add overlay* +![icon](icons/overlay-add.png)  *Add overlay*: opens a dropdown menu that allows user to -![icon](icons/legend-add.png)  *Add raster map legend* +- ![icon](icons/legend-add.png)  *Add raster map legend*: Adds layer to display with legend of selected raster map, see *[d.legend](d.legend.md)*. -![icon](icons/scalebar-add.png)  *Add scalebar* +- ![icon](icons/scalebar-add.png)  *Add scalebar*: Adds layer to display a scalebar. Options include scalebar placement (using screen coordinates or a mouse), scalebar format, and scalebar colors, see *[d.barscale](d.barscale.md)*. -![icon](icons/north-arrow-add.png)  *Add north arrow* +- ![icon](icons/north-arrow-add.png)  *Add north arrow*: Adds layer to display a north arrow. Options include north arrow placement (using screen coordinates or a mouse), north arrow style and color, see *[d.northarrow](d.northarrow.md)*. -![icon](icons/text-add.png)  *Add text layer* +- ![icon](icons/text-add.png)  *Add text layer*: Adds layer to display a line of text using default GRASS font (selected with *[d.font](d.font.md)*). Options include: text placement (screen coordinates); and text size, bolding, and color, see *[d.text](d.text.md)*. -![icon](icons/map-export.png)  *Save display to graphic file* +![icon](icons/map-export.png)  *Save display to graphic file*: Save the visible image in map display to different raster graphic formats. -![icon](icons/print.png)  *Print map* +![icon](icons/print.png)  *Print map*: Prints map on system native printer or PostScript device; saves visible map display (including PostScript text and labels) to PDF or EPS file. -*Map display mode* +*Map display mode*: Opens a dropdown menu for selecting different display mode -*2D view* +- *2D view*: Normal GIS display. All active layers are composited and displayed in 2D mode. -*3D view* +- *3D view*: Experimental replacement for NVIZ. Displays all active layers in 3D perspective using OpenGL. A new control panel opens to manage the 3D view. 3D view can be zoomed, panned, rotated, and tilted. The vertical exaggeration of rasters and 3D vectors can be set. Various color and lighten settings are possible. Not yet functional for Windows platforms -*Vector digitizer* +- *Vector digitizer*: Puts display into vector digitizing mode and opens a new digitizing toolbar. The user can digitize a new vector map or edit an existing map. -*Raster digitizer* +- *Raster digitizer*: Puts display into raster digitizing mode and opens a new digitizing toolbar. The user can digitize a new raster map or edit an existing map. @@ -441,81 +447,81 @@ toolbar. The user can digitize a new raster map or edit an existing map. #### Layer Manager -Ctrl+Tab +Ctrl+Tab: Switch 'Layers' and 'Console' tab -Ctrl+Q +Ctrl+Q: Quit -Ctrl+R +Ctrl+R: Render map in all map displays **Workspace** -Ctrl+N +Ctrl+N: Create new workspace -Ctrl+O +Ctrl+O: Load workspace from file -Ctrl+S +Ctrl+S: Close workspace **Layers** -Ctrl+Shift+L +Ctrl+Shift+L: Add multiple raster or vector map layers to current map display -Ctrl+Shift+R +Ctrl+Shift+R: Add raster map layer to current map display -Ctrl+Shift+V +Ctrl+Shift+V: Add vector map layer to current map display -Ctrl+W +Ctrl+W: Close current map display **Console** -Tab +Tab: Show command tooltips -Esc +Esc: Hide command tooltips -Ctrl+Space +Ctrl+Space: Show auto-complete suggestions -Up/Down +Up/Down: List command history -Enter +Enter: Run command -Ctrl++ +Ctrl++: Increase font size (numerical keyboard plus key) -Ctrl+- +Ctrl+-: Decrease font size (numerical keyboard minus key) -Ctrl+mouse wheel +Ctrl+mouse wheel: Increase or decrease font size #### Map Display -F11 +F11: Fullscreen mode (toggle on/off) -Ctrl+W +Ctrl+W: Close map display -Ctrl+R +Ctrl+R: Render map (re-renders map) -F5 +F5: Render map (re-renders map) -F6 +F6: Enable/disable auto-rendering map (re-renders map) ### Starting the GUI from command line diff --git a/gui/wxpython/docs/wxGUI.modules.md b/gui/wxpython/docs/wxGUI.modules.md index 46a6f94d4a5..6bef160c6f1 100644 --- a/gui/wxpython/docs/wxGUI.modules.md +++ b/gui/wxpython/docs/wxGUI.modules.md @@ -16,8 +16,7 @@ to the command representation which is used in the manuals and tutorials. The commands can be used to call the module in the command line, Shell scripts or, with a slight modification, in a Python script. - +![r.neighbors dialog](wxGUI_modules_parameters.png) ### Tabs @@ -33,11 +32,9 @@ The style of the tabs can be changed through *GUI settings* - depends on the platform and some styles might be more suitable for different platforms. - - -Figure: Example of style "left" and "top" on Ubuntu. +![dialog style left](wxGUI_modules_style_left.png) +![dialog style top](wxGUI_modules_style_top.png) +*Figure: Example of style "left" and "top" on Ubuntu.* ### Flags @@ -46,7 +43,7 @@ three special flags - *overwrite*, *verbose* and *quiet*. Flags *verbose* and *quiet* set the level of verbosity of the module (how detailed the messages should be). -dialog flags +![dialog flags](wxGUI_modules_flags.png) Modules which output a new map or a new file have the flag *overwrite* which must be used when the specified output map or file is already @@ -92,8 +89,7 @@ to the entry field. In case multiple maps can be specified (denoted by *\[multiple\]* label), selecting a map from the popup list will append the map names with comma in between. - +![widget for selecting maps](wxGUI_modules_widget_selection.png) If the input file is supposed to be a text file (for example color rules in r.colors), it is possible to type the text in the provided box @@ -104,10 +100,8 @@ so that user's workflow can be reproduced later. With *Load* button we can display the content of selected file and edit it directly in the box. - - +![widget for input files](wxGUI_modules_widget_file1.png) +![widget for input files](wxGUI_modules_widget_file2.png) Figure: In the first image, user specified a full path to a file. In the second image, user typed color rules conveniently into the box below, diff --git a/gui/wxpython/docs/wxGUI.nviz.md b/gui/wxpython/docs/wxGUI.nviz.md index df79df28833..45867c9b924 100644 --- a/gui/wxpython/docs/wxGUI.nviz.md +++ b/gui/wxpython/docs/wxGUI.nviz.md @@ -7,9 +7,6 @@ ## DESCRIPTION -Note: **wxNviz is currently under development. Not all planned -functionality is already implemented.** - **wxNviz** is a *[wxGUI](wxGUI.md)* **3D view mode** which allows users to realistically render multiple *surfaces* (2D raster maps) in a 3D space, optionally using thematic coloring, draping 2D *vector* data or @@ -37,16 +34,16 @@ display mode. ## 3D View Toolbar -toolbar - -![icon](icons/script-save.png)  *Generate command for m.nviz.image* +![toolbar](wxGUI_nviz_toolbar.jpg) + +![icon](icons/script-save.png)  *Generate command for m.nviz.image*: Generate command for m.nviz.image based on current state. -![icon](icons/settings.png)  *Show 3D view mode settings* +![icon](icons/settings.png)  *Show 3D view mode settings*: Show dialog with settings for wxGUI 3D view mode. The user settings can be stored in wxGUI settings file. -![icon](icons/help.png)  *Show help* +![icon](icons/help.png)  *Show help*: Show this help. ## 3D View Layer Manager Toolbox @@ -78,8 +75,8 @@ panel (following label *Look:*): - *top* moves the current eye position above the map center. - *reset* returns all current view settings to their default values. -toolbox - +![toolbox](wxGUI_nviz_tools_view.jpg) + You can adjust the viewer's height above the scene, perspective and twist value to rotate the scene about the horizontal axis. An angle of 0 is flat. The scene rotates between -90 and 90 degrees. @@ -158,8 +155,8 @@ In the very bottom part of the panel position of surface can be set. To move the surface right (looking from the south) choose *X* axis and set some positive value. To reset the surface position press *Reset* button. -toolbox - +![wxGUI nviz tools surface](wxGUI_nviz_tools_surface.jpg) + #### Constant surface It is possible to add constant surface and set its properties like fine @@ -202,8 +199,8 @@ Currently are implemented these markers: Thematic mapping can be used to determine marker color and size (and line color and width). -toolbox - +![wxGUI nviz tools vector](wxGUI_nviz_tools_vector.jpg) + #### 3D rasters 3D raster maps (volumes, voxel models) can be displayed either as @@ -245,8 +242,8 @@ attributes. 3D rasters can be moved the same way like surfaces do. -toolbox - +![toolbox](wxGUI_nviz_tools_volume.jpg) + ### Analysis *Analysis* tab contains *Cutting planes* panel. @@ -279,8 +276,8 @@ light color, brightness and ambient. Light position is controlled similarly to eye position. If option *Show light model* is enabled light model is displayed to visualize the light settings. -toolbox - +![toolbox](wxGUI_nviz_tools_light.jpg) + The *Fringe* panel allows you to draw fringes in different directions (North & East, South & East, South & West, North & West). It is possible to set the fringe color and height of the bottom edge. @@ -316,9 +313,6 @@ parameters, or to set the background color of the Map Display Window ## NOTE -wxNviz is under active development and distributed as "Experimental -Prototype". - Please note that with wxGTK port of wxPython (Linux systems), a problem might appear during wxNviz initialization (nothing is rendered at all) or when rendering vectors (bad order of rendering surfaces and vectors). diff --git a/gui/wxpython/docs/wxGUI.toolboxes.md b/gui/wxpython/docs/wxGUI.toolboxes.md index b912958d2a4..094a74fcd2c 100644 --- a/gui/wxpython/docs/wxGUI.toolboxes.md +++ b/gui/wxpython/docs/wxGUI.toolboxes.md @@ -33,7 +33,7 @@ Following lines can be copied to `.grass8/toolboxes/main_menu.xml` and by removing, adding or reordering lines users can change the main menu items. See further examples. -```sh +```xml @@ -62,7 +62,7 @@ toolboxes are linked through `name` attribute. Apart from `subtoolbox` tag, tag `toolbox` can contain individual items (modules) and separators (for visual separation in the menu tree). -```sh +```xml @@ -104,7 +104,7 @@ If we are for example working only with raster data, we can hide menu items *Vector* and *Database*. The file `main_menu.xml` then contains the following lines where we omitted the two toolboxes: -```sh +```xml @@ -126,7 +126,7 @@ In this example we create a new toolbox *Favorites* containing existing GRASS module and toolbox, custom module created by the user and addon module. The `toolboxes.xml` file contains following lines: -```sh +```xml @@ -154,7 +154,7 @@ module. The `toolboxes.xml` file contains following lines: Optionally, we can add this toolbox to the main menu items. The `main_menu.xml` file contains following lines: -```sh +```xml @@ -177,9 +177,8 @@ If we have `user-toolboxes-list` tag in the `main_menu.xml` file, our custom toolbox will be listed in the automatically added *Toolboxes* main menu item. The screenshot shows the resulting menu: - - +![Toolboxes - menu customization](wxGUI_toolboxes.jpg) + ## NOTES After the first start of wxGUI with custom toolboxes, `.grass/toolboxes` diff --git a/gui/wxpython/docs/wxGUI.vnet.md b/gui/wxpython/docs/wxGUI.vnet.md index 58b062916f8..c591b0a2722 100644 --- a/gui/wxpython/docs/wxGUI.vnet.md +++ b/gui/wxpython/docs/wxGUI.vnet.md @@ -12,11 +12,10 @@ launched from Layer Manager menu *Vector → Network analysis → Vector network analysis tool* or from Map Display toolbar *Analyse map → Vector network analysis tool* ![icon](icons/vector-tools.png). - -Subsets for nearest centers (*[v.net.alloc](v.net.alloc.md)*) +![Vector Network Analysis Tool](wxGUI_vnet.jpg) +*Subsets for nearest centers ([v.net.alloc](v.net.alloc.md))* -*Vector Network Analysis Tool* currently allows you to: +Vector Network Analysis Tool currently allows you to: - perform these network analyses: - Shortest path (*[v.net.path](v.net.path.md)*) diff --git a/gui/wxpython/gcp/g.gui.gcp.md b/gui/wxpython/gcp/g.gui.gcp.md index 73c40520087..0428a0388d9 100644 --- a/gui/wxpython/gcp/g.gui.gcp.md +++ b/gui/wxpython/gcp/g.gui.gcp.md @@ -27,14 +27,14 @@ The GCP Manager is structured into three panels: ### Components of the GCP Manager -GCP Manager - -*Toolbars* +![GCP Manager](wxGUI_gcp_frame.jpg) + +#### Toolbars Two toolbars are provided with the GCP Manager, one for managing the map displays and one for managing the GCP list. -*List of ground control points* +#### List of ground control points The list of Ground Control Points can be sorted by clicking on a column header. Clicking on a column header will sort the GCPs ascending, a @@ -48,7 +48,7 @@ is only used for RMS error calculation and georectification if its checkbox on the left is checked. Uncheck to deactivate a GCP (mark as unused GCP). -*Two panels for map display* +#### Two panels for map display The left panel is used to display a map from the source project, the right panel to display a map from the target project. Zooming in and out @@ -59,7 +59,7 @@ GCPs are displayed in different colors, depending on whether a GCP has a high RMS error, is currently unused or is currently selected. Optionally, currently unused GCPs are not shown on the map display. -*Statusbar* +#### Statusbar At the bottom of the GCP Manager is a statusbar providing several functions. The default is set to *Go to GCP No.* (see also below). @@ -68,29 +68,29 @@ given GCP, useful with a high zoom. #### GCP Map Display Toolbar -![icon](icons/show.png)  *Display map* +![icon](icons/show.png)  *Display map*: Displays maps for source and target canvas and re-renders any layers that have changed since the last time the display was updated. -![icon](icons/layer-redraw.png)  *Re-render map* +![icon](icons/layer-redraw.png)  *Re-render map*: Re-renders both source and target canvas regardless of whether they have changed or not. -![icon](icons/erase.png)  *Erase display* +![icon](icons/erase.png)  *Erase display*: Erases both source and target canvas to a white background. -![icon](icons/gcp-create.png)  *Define GCP (Ground Control Points)* +![icon](icons/gcp-create.png)  *Define GCP (Ground Control Points)*: On left mouse click, coordinates are defined for the currently selected GCP. -![icon](icons/pan.png)  *Pan* +![icon](icons/pan.png)  *Pan*: Interactive selection of a new center of view in the active display monitor. Drag the pan cursor while pressing the left mouse button to pan. Alternatively left-click on the new center. Panning changes the location of the region displayed but not the size of the area displayed or the resolution. -![icon](icons/zoom-in.png)  *Zoom in* +![icon](icons/zoom-in.png)  *Zoom in*: Interactive zooming with the mouse in the active map canvas (source or target). Drawing a box or just a left click with the mouse and zoom-in cursor causes the display to zoom in so that the area defined by the box @@ -99,7 +99,7 @@ zoom-in cursor causes the display to zoom in by 30%, centered on the point where the mouse is clicked. Zooming changes the display region extents (both size and location of area displayed). -![icon](icons/zoom-out.png)  *Zoom out* +![icon](icons/zoom-out.png)  *Zoom out*: Interactive zooming with the mouse in the active map canvas (source or target). Drawing a box or just a left click with the mouse and zoom-out cursor causes the display to zoom out so that the area displayed shrinks @@ -108,43 +108,43 @@ Clicking with the zoom-out cursor causes the display to zoom out by 30%, centered on the point where the mouse is clicked. Zooming changes the display region extents (both size and location of area displayed). -![icon](icons/zoom-more.png)  *Adjust display zoom* +![icon](icons/zoom-more.png)  *Adjust display zoom*: Source and target display are adjusted by using the current GCPs for -coordinate transformation: - -*Adjust source display to target display* +coordinate transformation: + +- *Adjust source display to target display*: The extents of the source display are adjusted to the current extents of the target display. -*Adjust target display to source display* +- *Adjust target display to source display*: The extents of the source display are adjusted to the current extents of the target display. -*Set active map canvas* +*Set active map canvas*: Sets the currently active map canvas (source or target). Click to set active map canvas for *Return to previous zoom* or *Zoom to extent of currently displayed map*. Alternatively, move the mouse over the map canvas to be used as active canvas. -![icon](icons/zoom-last.png)  *Return to previous zoom* +![icon](icons/zoom-last.png)  *Return to previous zoom*: Returns to the previous zoom extent. Up to 10 levels of zoom back are maintained. -![icon](icons/zoom-extent.png)  *Zoom to extent of currently displayed map* +![icon](icons/zoom-extent.png)  *Zoom to extent of currently displayed map*: Zoom to the extent of the currently displayed map in the active map canvas (source or target). -![icon](icons/settings.png)  *Settings* -Shows a settings dialog for GCP management and display: - -*Symbology* -Settings for map and GCP display: - -*Highlight highest RMS error only* +![icon](icons/settings.png)  *Settings*: +Shows a settings dialog for GCP management and display: + +- *Symbology*: +Settings for map and GCP display: + + - *Highlight highest RMS error only*: Only the GCP with the highest RMS error will be displayed in a different colour, both in the list of GCPs and the GCP Map Display. -*Factor for RMS error threshold = M + SD \* factor:* + - *Factor for RMS error threshold = M + SD \* factor:* All GCPs with an RMS error larger than mean RMS + RMS standard deviation \* this factor will be displayed in a different colour, both in the list of GCPs and the GCP Map Display. As a rule of thumb, GCPs with an RMS @@ -153,77 +153,77 @@ RMS error larger than *M + SD \* 1* are worth closer inspection. This option is only available if *Highlight highest RMS error only* is unchecked. -*Color* + - *Color*: Set the color for GCPs on the GCP Map Display. -*Color for high RMS error* + - *Color for high RMS error*: Set the color for GCPs with a high RMS error on the GCP Map Display. -*Color for selected GCP* + - *Color for selected GCP*: Set the color for the currently selected GCP on the GCP Map Display. -*Show unused GCPs* + - *Show unused GCPs*: If unchecked, unused GCPs will not be shown on the GCP Map Display. -*Color for unused GCPs* + - *Color for unused GCPs*: Set the color for unused GCPs on the GCP Map Display. -*Symbol size* + - *Symbol size*: Set the symbol size for GCPs on the GCP Map Display. -*Line width* + - *Line width*: Set the line width for GCPs on the GCP Map Display. -*Select source map to display* + - *Select source map to display*: Select a source map for the left pane of the GCP Map Display. -*Select target map to display* + - *Select target map to display*: Select a target map for the right pane of the GCP Map Display. -*Rectification* -Settings for georectification: - -*Select rectification method* +- *Rectification*: +Settings for georectification: + + - *Select rectification method*: Set the polynomial order for georectification. This order will also be used for RMS error calculation. -*Clip to computational region in target project* + - *Clip to computational region in target project*: Clip raster maps to the current computational region in the target project when georectifying. -*Extension for output maps* + - *Extension for output maps*: Change the extension for output map names when doing the actual georectification. -![icon](icons/help.png)  *Show Help* +![icon](icons/help.png)  *Show Help*: Show help page for the GCP Manager. -![icon](icons/quit.png)  *Quit* +![icon](icons/quit.png)  *Quit*: Quit the GCP Manager. #### Toolbar for the GCP list -![icon](icons/gcp-save.png)  *Save GCPs to POINTS file* +![icon](icons/gcp-save.png)  *Save GCPs to POINTS file*: The current list of GCPs is saved to the imagery group's POINTS file and to a backup copy. -![icon](icons/gcp-add.png)  *Add new GCP* +![icon](icons/gcp-add.png)  *Add new GCP*: Adds a new Ground Control Point to the list and selects it for editing. -![icon](icons/gcp-delete.png)  *Delete selected GCP* +![icon](icons/gcp-delete.png)  *Delete selected GCP*: Deletes the currently selected GCP from the list. -![icon](icons/gcp-remove.png)  *Clear selected GCP* +![icon](icons/gcp-remove.png)  *Clear selected GCP*: Resets all coordinates of the currently selected GCP to 0 (zero). -![icon](icons/reload.png)  *Reload GCPs from POINTS file* +![icon](icons/reload.png)  *Reload GCPs from POINTS file*: Reloads GCPs from the imagery group's POINTS file. -![icon](icons/gcp-rms.png)  *Recalculate RMS error* +![icon](icons/gcp-rms.png)  *Recalculate RMS error*: Recalculates forward and backward RMS error for all GCP marked for use (activated checkbox in first row). -![icon](icons/georectify.png)  *Georectify* +![icon](icons/georectify.png)  *Georectify*: Uses *[i.rectify](i.rectify.md)* to georectify all images in the source imagery group. @@ -255,7 +255,7 @@ on GRASS Wiki. ## AUTHORS -Markus Metz - +Markus Metz + *Based on the Georectifier (GRASS 6.4.0)* by Michael Barton Martin Landa, Czech Technical University in Prague, Czech Republic diff --git a/gui/wxpython/gmodeler/g.gui.gmodeler.md b/gui/wxpython/gmodeler/g.gui.gmodeler.md index cc5e0e9dce1..d4046357d5d 100644 --- a/gui/wxpython/gmodeler/g.gui.gmodeler.md +++ b/gui/wxpython/gmodeler/g.gui.gmodeler.md @@ -55,7 +55,7 @@ Redraw model canvas, (12) Validate model, (13) Run model, (14) Manage model variables, (15) Model settings, (16) Show manual, (17) Quit Graphical Modeler. -![](g_gui_gmodeler_toolbar.png) +![Components of Graphical Modeler menu toolbar](g_gui_gmodeler_toolbar.png) *Figure: Components of Graphical Modeler menu toolbar.* There is also a lower menu bar in the Graphical modeler dialog where one @@ -68,7 +68,7 @@ and shows all the steps of running GRASS modeler modules; in the case some errors occur in the calculation process, they are are written at that place. -[](g_gui_gmodeler_lower_toolbar.png) +![Lower Graphical Modeler menu toolbar](g_gui_gmodeler_lower_toolbar.png) *Figure: Lower Graphical Modeler menu toolbar.* ### Components of models @@ -81,48 +81,38 @@ The type of data is clearly distinguishable in the model by its color. Different model elements are shown in the figures below. - \(A\) raster data: - raster + ![raster](g_gui_gmodeler_raster.png) - \(B\) relation: - relation + ![relation](g_gui_gmodeler_relation.png) - \(C\) GRASS module: - module + ![module](g_gui_gmodeler_modul.png) - \(D\) loop: - loop + ![loop](g_gui_gmodeler_loop.png) - \(E\) database table: - db + ![db](g_gui_gmodeler_db.png) - \(F\) 3D raster data: - raster3D + ![raster3D](g_gui_gmodeler_raster3d.png) - \(G\) vector data: - vector + ![vector](g_gui_gmodeler_vector.png) - \(H\) disabled GRASS module: - module + ![modulex](g_gui_gmodeler_modulex.png) - \(I\) comment: - comment + ![comment](g_gui_gmodeler_comment.png) -[](g_gui_gmodeler_model_classification.png) +![A model to perform unsupervised classification using MLC](g_gui_gmodeler_model_classification.png) *Figure: A model to perform unsupervised classification using MLC ([i.maxlik](i.maxlik.md)) and SMAP ([i.smap](i.smap.md)).* Another example: -[](g_gui_gmodeler_model_usle.png) +![A model to perform estimation of average annual soil loss](g_gui_gmodeler_model_usle.png) *Figure: A model to perform estimation of average annual soil loss caused by sheet and rill erosion using The Universal Soil Loss Equation.* Example as part of landslide prediction process: -[](g_gui_gmodeler_model_landslides.png) +![A model to create parametric maps](g_gui_gmodeler_model_landslides.png) *Figure: A model to create parametric maps used by geologists to predict landslides in the area of interest.* @@ -176,7 +166,7 @@ that only a module name is inserted, after pressing the *Enter* button, the module dialog window is displayed and it is possible to set all of the usual module options (parameters and flags). -[](g_gui_gmodeler_dlg_module.png) +![Dialog for adding GRASS commands to model](g_gui_gmodeler_dlg_module.png) *Figure: Dialog for adding GRASS commands to model.* ### Managing model parameters @@ -188,18 +178,18 @@ run. In this example, input layers (`zipcodes_wake` vector map and show their diagram border slightly thicker than those of unparameterized elements. -[](g_gui_gmodeler_parameter.png) +![Model parameter settings](g_gui_gmodeler_parameter.png) *Figure: Model parameter settings.* The final model, the list of all model items, and the Script editor window with *Save* and *Run* option are shown in the figures below. -[](g_gui_gmodeler_model_avg.png) +![A model to perform average statistics for zipcode zones](g_gui_gmodeler_model_avg.png) *Figure: A model to perform average statistics for zipcode zones.* -[](g_gui_gmodeler_items.png) +![List of all model items](g_gui_gmodeler_items.png) -[](g_gui_gmodeler_python.png) +![Items with Script editor window](g_gui_gmodeler_python.png) *Figure: Items with Script editor window.* For convenience, this model for the Graphical Modeler is also available @@ -209,8 +199,8 @@ The model is run by clicking the *Run* button ![run](icons/execute.png). When all inputs are set, the results can be displayed as shown in the next Figure: -[](g_gui_gmodeler_avg_run.png) -[](g_gui_gmodeler_avg_map.png) +![Average elevation for ZIP codes](g_gui_gmodeler_avg_run.png) +![Average elevation for ZIP codes: map](g_gui_gmodeler_avg_map.png) *Figure: Average elevation for ZIP codes using North Carolina sample dataset as an automatic calculation performed by Graphical Modeler.* @@ -224,7 +214,7 @@ settings globally. This dialog includes also metadata settings, where model name, model description and author(s) of the model can be specified. -[](g_gui_gmodeler_model_properties.png) +![Model properties](g_gui_gmodeler_model_properties.png) *Figure: Model properties.* ### Defining variables @@ -239,7 +229,7 @@ is run. So, instead of model parameters (e.g. `r.import` a `v.import`, see the Figure *[Run model dialog](g_gui_gmodeler_avg_run.png)* above) there are `Variables`. -[](g_gui_gmodeler_variables_run.png) +![Model with variable inputs](g_gui_gmodeler_variables_run.png) *Figure: Model with variable inputs.* The key point is the usage of `%` before the substituting variable and @@ -250,11 +240,10 @@ be specified in the `Variables` dialog with its respective name (`raster`), data type, default value and description. Then it should be set in the module dialog as input called `%raster`. -[](g_gui_gmodeler_variables.png) +![Example of raster file variable settings](g_gui_gmodeler_variables.png) *Figure: Example of raster file variable settings.* -[](g_gui_gmodeler_variables_raster.png) +![Example of raster file variable usage](g_gui_gmodeler_variables_raster.png) *Figure: Example of raster file variable usage.* ### Saving the model file @@ -280,7 +269,7 @@ right mouse button, see figure below. All such data should be deleted following model completion. The boundary of intermediate component is dotted line. -[](g_gui_gmodeler_intermediate_data.png) +![Usage and definition of intermediate data in model](g_gui_gmodeler_intermediate_data.png) *Figure: Usage and definition of intermediate data in model.* ### Using the Script editor @@ -289,8 +278,8 @@ By using the Script editor in the Graphical Modeler, the user can add Python code and then run it with *Run* button or just save it as a Python script `*.py`. The result is shown in the Figure below: -[](g_gui_gmodeler_python_code.png) -[](g_gui_gmodeler_python_code_result.png) +![Script editor in the wxGUI Graphical Modeler: code](g_gui_gmodeler_python_code.png) +![Script editor in the wxGUI Graphical Modeler: result](g_gui_gmodeler_python_code_result.png) *Figure: Script editor in the wxGUI Graphical Modeler.* The second option in the *Script type* combobox exports a PyWPS script @@ -299,7 +288,7 @@ be generated then; for the PyWPS script, the *Run* button is disabled as users are expected to include this script in their web processing service and not to run it on itself. -[](g_gui_gmodeler_pywps_code.png) +![Script editor in the wxGUI Graphical Modeler - set to PyWPS](g_gui_gmodeler_pywps_code.png) *Figure: Script editor in the wxGUI Graphical Modeler - set to PyWPS.* The third option in the *Script type* combobox exports an actinia @@ -309,7 +298,7 @@ generated then; as for the PyWPS script, the *Run* button is disabled as users are expected to include this JSON in their web processing service and not to run it on itself. -[](g_gui_gmodeler_actinia_code.png) +![Script editor in the wxGUI Graphical Modeler - set to actinia](g_gui_gmodeler_actinia_code.png) *Figure: Script editor in the wxGUI Graphical Modeler - set to actinia.* By default GRASS script package API is used @@ -332,7 +321,8 @@ image in mapset and `%ndvi` for original data name suffix). After the loop component is added to model, it is necessary to define series of maps with required settings of map type, mapset, etc. -[](g_gui_gmodeler_loop_dlg.png) +![MODIS data representation in GRASS GIS after Graphical Modeler +usage](g_gui_gmodeler_loop_dlg.png) *Figure: MODIS data representation in GRASS GIS after Graphical Modeler usage.* @@ -340,15 +330,15 @@ When the model is supplemented by all of modules, these modules should be ticked in the boxes of loop dialog. The final model and its results are shown below. -[](g_gui_gmodeler_loop_final.png) +![Model with loop](g_gui_gmodeler_loop_final.png) *Figure: Model with loop.* -[](g_gui_gmodeler_modis_1o.png) -[](g_gui_gmodeler_modis_1.png) -[](g_gui_gmodeler_modis_2o.png) -[](g_gui_gmodeler_modis_2.png) -[](g_gui_gmodeler_modis_3o.png) -[](g_gui_gmodeler_modis_3.png) +![MODIS data representation in GRASS GIS](g_gui_gmodeler_modis_1o.png) +![MODIS data representation in GRASS GIS](g_gui_gmodeler_modis_1.png) +![MODIS data representation in GRASS GIS](g_gui_gmodeler_modis_2o.png) +![MODIS data representation in GRASS GIS](g_gui_gmodeler_modis_2.png) +![MODIS data representation in GRASS GIS](g_gui_gmodeler_modis_3o.png) +![MODIS data representation in GRASS GIS](g_gui_gmodeler_modis_3.png) *Figure: MODIS data representation in GRASS GIS after Graphical Modeler usage.* diff --git a/gui/wxpython/iclass/g.gui.iclass.md b/gui/wxpython/iclass/g.gui.iclass.md index 14ba64bef50..e86b376e2e9 100644 --- a/gui/wxpython/iclass/g.gui.iclass.md +++ b/gui/wxpython/iclass/g.gui.iclass.md @@ -28,9 +28,8 @@ supervised classification* or via command line as *g.gui.iclass*. - import vector map - export vector map with attribute table - - +![Supervised Classification Tool](iclass_frame.jpg) + *wxIClass* performs the first pass in the GRASS two-pass supervised image classification process; the GRASS module *[i.maxlik](i.maxlik.md)* executes the second pass. Both programs must be run to generate a diff --git a/gui/wxpython/image2target/g.gui.image2target.md b/gui/wxpython/image2target/g.gui.image2target.md index 30ed56a0766..49de34b66a4 100644 --- a/gui/wxpython/image2target/g.gui.image2target.md +++ b/gui/wxpython/image2target/g.gui.image2target.md @@ -27,7 +27,7 @@ The GCP Manager is structured into three panels: ### Components of the GCP Manager -GCP Manager +![GCP Manager](wxGUI_gcp_frame.jpg) *Toolbars* @@ -68,29 +68,29 @@ given GCP, useful with a high zoom. #### GCP Map Display Toolbar -![icon](icons/show.png)  *Display map* +![icon](icons/show.png)  *Display map*: Displays maps for source and target canvas and re-renders any layers that have changed since the last time the display was updated. -![icon](icons/layer-redraw.png)  *Re-render map* +![icon](icons/layer-redraw.png)  *Re-render map*: Re-renders both source and target canvas regardless of whether they have changed or not. -![icon](icons/erase.png)  *Erase display* +![icon](icons/erase.png)  *Erase display*: Erases both source and target canvas to a white background. -![icon](icons/gcp-create.png)  *Define GCP (Ground Control Points)* +![icon](icons/gcp-create.png)  *Define GCP (Ground Control Points)*: On left mouse click, coordinates are defined for the currently selected GCP. -![icon](icons/pan.png)  *Pan* +![icon](icons/pan.png)  *Pan*: Interactive selection of a new center of view in the active display monitor. Drag the pan cursor while pressing the left mouse button to pan. Alternatively left-click on the new center. Panning changes the location of the region displayed but not the size of the area displayed or the resolution. -![icon](icons/zoom-in.png)  *Zoom in* +![icon](icons/zoom-in.png)  *Zoom in*: Interactive zooming with the mouse in the active map canvas (source or target). Drawing a box or just a left click with the mouse and zoom-in cursor causes the display to zoom in so that the area defined by the box @@ -99,7 +99,7 @@ zoom-in cursor causes the display to zoom in by 30%, centered on the point where the mouse is clicked. Zooming changes the display region extents (both size and location of area displayed). -![icon](icons/zoom-out.png)  *Zoom out* +![icon](icons/zoom-out.png)  *Zoom out*: Interactive zooming with the mouse in the active map canvas (source or target). Drawing a box or just a left click with the mouse and zoom-out cursor causes the display to zoom out so that the area displayed shrinks @@ -108,43 +108,43 @@ Clicking with the zoom-out cursor causes the display to zoom out by 30%, centered on the point where the mouse is clicked. Zooming changes the display region extents (both size and location of area displayed). -![icon](icons/zoom-more.png)  *Adjust display zoom* +![icon](icons/zoom-more.png)  *Adjust display zoom*: Source and target display are adjusted by using the current GCPs for coordinate transformation: -*Adjust source display to target display* +- *Adjust source display to target display*: The extents of the source display are adjusted to the current extents of the target display. -*Adjust target display to source display* +- *Adjust target display to source display*: The extents of the source display are adjusted to the current extents of the target display. -*Set active map canvas* +*Set active map canvas*: Sets the currently active map canvas (source or target). Click to set active map canvas for *Return to previous zoom* or *Zoom to extent of currently displayed map*. Alternatively, move the mouse over the map canvas to be used as active canvas. -![icon](icons/zoom-last.png)  *Return to previous zoom* +![icon](icons/zoom-last.png)  *Return to previous zoom*: Returns to the previous zoom extent. Up to 10 levels of zoom back are maintained. -![icon](icons/zoom-extent.png)  *Zoom to extent of currently displayed map* +![icon](icons/zoom-extent.png)  *Zoom to extent of currently displayed map*: Zoom to the extent of the currently displayed map in the active map canvas (source or target). -![icon](icons/settings.png)  *Settings* +![icon](icons/settings.png)  *Settings*: Shows a settings dialog for GCP management and display: -*Symbology* +- *Symbology*: Settings for map and GCP display: -*Highlight highest RMS error only* + - *Highlight highest RMS error only*: Only the GCP with the highest RMS error will be displayed in a different colour, both in the list of GCPs and the GCP Map Display. -*Factor for RMS error threshold = M + SD \* factor:* + - *Factor for RMS error threshold = M + SD \* factor:* All GCPs with an RMS error larger than mean RMS + RMS standard deviation \* this factor will be displayed in a different colour, both in the list of GCPs and the GCP Map Display. As a rule of thumb, GCPs with an RMS @@ -153,77 +153,77 @@ RMS error larger than *M + SD \* 1* are worth closer inspection. This option is only available if *Highlight highest RMS error only* is unchecked. -*Color* + - *Color*: Set the color for GCPs on the GCP Map Display. -*Color for high RMS error* + - *Color for high RMS error*: Set the color for GCPs with a high RMS error on the GCP Map Display. -*Color for selected GCP* + - *Color for selected GCP*: Set the color for the currently selected GCP on the GCP Map Display. -*Show unused GCPs* + - *Show unused GCPs*: If unchecked, unused GCPs will not be shown on the GCP Map Display. -*Color for unused GCPs* + - *Color for unused GCPs*: Set the color for unused GCPs on the GCP Map Display. -*Symbol size* + - *Symbol size*: Set the symbol size for GCPs on the GCP Map Display. -*Line width* + - *Line width*: Set the line width for GCPs on the GCP Map Display. -*Select source map to display* + - *Select source map to display*: Select a source map for the left pane of the GCP Map Display. -*Select target map to display* + - *Select target map to display*: Select a target map for the right pane of the GCP Map Display. -*Rectification* +- *Rectification*: Settings for georectification: -*Select rectification method* + - *Select rectification method*: Set the polynomial order for georectification. This order will also be used for RMS error calculation. -*Clip to computational region in target project* + - *Clip to computational region in target project*: Clip raster maps to the current computational region in the target project when georectifying. -*Extension for output maps* + - *Extension for output maps*: Change the extension for output map names when doing the actual georectification. -![icon](icons/help.png)  *Show Help* +![icon](icons/help.png)  *Show Help*: Show help page for the GCP Manager. -![icon](icons/quit.png)  *Quit* +![icon](icons/quit.png)  *Quit*: Quit the GCP Manager. #### Toolbar for the GCP list -![icon](icons/gcp-save.png)  *Save GCPs to POINTS file* +![icon](icons/gcp-save.png)  *Save GCPs to POINTS file*: The current list of GCPs is saved to the imagery group's POINTS file and to a backup copy. -![icon](icons/gcp-add.png)  *Add new GCP* +![icon](icons/gcp-add.png)  *Add new GCP*: Adds a new Ground Control Point to the list and selects it for editing. -![icon](icons/gcp-delete.png)  *Delete selected GCP* +![icon](icons/gcp-delete.png)  *Delete selected GCP*: Deletes the currently selected GCP from the list. -![icon](icons/gcp-remove.png)  *Clear selected GCP* +![icon](icons/gcp-remove.png)  *Clear selected GCP*: Resets all coordinates of the currently selected GCP to 0 (zero). -![icon](icons/reload.png)  *Reload GCPs from POINTS file* +![icon](icons/reload.png)  *Reload GCPs from POINTS file*: Reloads GCPs from the imagery group's POINTS file. -![icon](icons/gcp-rms.png)  *Recalculate RMS error* +![icon](icons/gcp-rms.png)  *Recalculate RMS error*: Recalculates forward and backward RMS error for all GCP marked for use (activated checkbox in first row). -![icon](icons/georectify.png)  *Georectify* +![icon](icons/georectify.png)  *Georectify*: Uses *[i.rectify](i.rectify.md)* to georectify all images in the source imagery group. diff --git a/gui/wxpython/mapswipe/g.gui.mapswipe.md b/gui/wxpython/mapswipe/g.gui.mapswipe.md index c6667738360..b04f1569553 100644 --- a/gui/wxpython/mapswipe/g.gui.mapswipe.md +++ b/gui/wxpython/mapswipe/g.gui.mapswipe.md @@ -21,15 +21,14 @@ Map Swipe allows you to: - change the appearance of cursor in 'mirror' mode (available in Map Swipe settings) - -Pre and post disaster images of the tsunami in Japan in 2011. The upper +![Map swipe screenshot](mapswipe_tsunami.jpg) +*Figure: Pre and post disaster images of the tsunami in Japan in 2011. The upper MODIS image taken on February 26, 2011, shows the coastline under normal conditions while the lower MODIS image on March 13, 2011, shows a clear view of tsunami flooding along the coastline. Water, black and dark blue in these false-color images, still covers the ground as much as five kilometers (three miles) from the coast. Source: [Earth -Observatory/NASA](https://earthobservatory.nasa.gov/images/49634/tsunami-flooding-near-sendai-japan) +Observatory/NASA](https://earthobservatory.nasa.gov/images/49634/tsunami-flooding-near-sendai-japan)* ## SEE ALSO diff --git a/gui/wxpython/photo2image/g.gui.photo2image.md b/gui/wxpython/photo2image/g.gui.photo2image.md index e57895d9cc9..51a2da641fc 100644 --- a/gui/wxpython/photo2image/g.gui.photo2image.md +++ b/gui/wxpython/photo2image/g.gui.photo2image.md @@ -25,27 +25,22 @@ An example for project **imagery60**: g.gui.photo2image group=aerial@PERMANENT raster=gs13.1@PERMANENT camera=gscamera order=2 extension=try --o ``` -### Screenshot of g.gui.photo2image - -[Screenshot of g.gui.photo2image](wxGUI_iphoto2image_frame.jpg) +![Screenshot of g.gui.photo2image](wxGUI_iphoto2image_frame.jpg) *Figure: Screenshot of g.gui.photo2image* -## For a detailed operation manual please read +## SEE ALSO *[wxGUI](wxGUI.md), [wxGUI components](wxGUI.components.md)* -See also [video -tutorials](https://grasswiki.osgeo.org/wiki/WxGUI/Video_tutorials#Georectifier) -on GRASS Wiki. - -## SEE ALSO - *[i.ortho.photo](i.ortho.photo.md), [i.group](i.group.md), [i.ortho.camera](i.ortho.camera.md), [i.ortho.target](i.ortho.target.md), [i.rectify](i.rectify.md), [m.transform](m.transform.md), [v.rectify](v.rectify.md)* +See also [video +tutorials](https://grasswiki.osgeo.org/wiki/WxGUI/Video_tutorials#Georectifier) +on GRASS Wiki. + ## AUTHORS Markus Metz diff --git a/gui/wxpython/psmap/g.gui.psmap.md b/gui/wxpython/psmap/g.gui.psmap.md index 29b0b265a7d..7eb3920e8ce 100644 --- a/gui/wxpython/psmap/g.gui.psmap.md +++ b/gui/wxpython/psmap/g.gui.psmap.md @@ -16,9 +16,8 @@ Possible output files: - PostScript/EPS file - PDF (using ps2pdf) - - +![Cartographic Composer](psmap_frame.jpg) + Cartographic Composer enables to load in saved instructions file. Loading instruction files created by Cartographic Composer is more robust, as opposed to loading files created manually. @@ -45,136 +44,136 @@ Currently supported *[ps.map](ps.map.md)* instructions: ### CARTOGRAPHIC COMPOSER TOOLBAR -![icon](icons/script-save.png)  *Generate instructions file* +![icon](icons/script-save.png)  *Generate instructions file*: Generates and saves text file with mapping instructions. -![icon](icons/script-load.png)  *Load instructions file* +![icon](icons/script-load.png)  *Load instructions file*: Load text file with mapping instructions. -![icon](icons/page-settings.png)  *Page setup* +![icon](icons/page-settings.png)  *Page setup*: Specify paper size, margins and orientation. -![icon](icons/pointer.png)  *Pointer* +![icon](icons/pointer.png)  *Pointer*: Select object on the paper by clicking, drag the cursor while pressing the left mouse button to move it or resize object (currently only map frame) by clicking on a small black box in its bottom right corner. Double click to show object properties dialog -![icon](icons/pan.png)  *Pan* +![icon](icons/pan.png)  *Pan*: Drag the pan cursor while pressing the left mouse button to move your view. -![icon](icons/zoom-in.png)  *Zoom in* +![icon](icons/zoom-in.png)  *Zoom in*: Interactive zooming with the mouse in both draft and preview mode. Drawing a box or just a left click with the mouse and zoom-in cursor causes the display to zoom in so that the area defined by the box fills the display. -![icon](icons/zoom-out.png)  *Zoom out* +![icon](icons/zoom-out.png)  *Zoom out*: Interactive zooming with the mouse in both draft and preview mode. Drawing a box or just a left click with the mouse and zoom-out cursor causes the display to zoom out so that the area displayed shrinks to fill the area defined by the box. -![icon](icons/zoom-extent.png)  *Zoom to page* +![icon](icons/zoom-extent.png)  *Zoom to page*: Zoom to display the entire page -![icon](icons/layer-add.png)  *Map frame* +![icon](icons/layer-add.png)  *Map frame*: Click and drag to place map frame. If map frame is already drawn, open a dialog to set its properties. -![icon](icons/layer-raster-add.png)  *Raster map* +![icon](icons/layer-raster-add.png)  *Raster map*: Shows a dialog to add or change the raster map. -![icon](icons/layer-vector-add.png)  *Vector map* +![icon](icons/layer-vector-add.png)  *Vector map*: Shows a dialog to add or change current vector maps and their properties: -*Data selection* +- *Data selection*: Select data to draw: -*Feature type* -Select which data type to draw. In case of point data, points or -centroids can be drawn, in case of line data, lines or boundaries. + - *Feature type*: + Select which data type to draw. In case of point data, points or + centroids can be drawn, in case of line data, lines or boundaries. -*Layer selection* -Select layer and limit data by a SQL query or chose only certain -categories. + - *Layer selection*: + Select layer and limit data by a SQL query or chose only certain + categories. -*Mask* -Whether to use mask or not. + - *Mask*: + Whether to use mask or not. -*Colors* +- *Colors*: Color settings: -*Outline* -Select outline color and width in points. In case of lines, outline -means highlighting. + - *Outline*: + Select outline color and width in points. In case of lines, outline + means highlighting. -*Fill* -Select fill color, one color for all vector elements or color from rgb -column. + - *Fill*: + Select fill color, one color for all vector elements or color from rgb + column. -*Size and style* +- *Size and style*: Sets size, style, symbols, pattern; depends on data type: -*Symbology* -Available for point data. Choose symbol or EPS file to draw points with. + - *Symbology*: + Available for point data. Choose symbol or EPS file to draw points with. -*Line style* -Available for line data. Select line style (solid, dashed, ...) and the -look of the ends of the line (butt, round, ...) + - *Line style*: + Available for line data. Select line style (solid, dashed, ...) and the + look of the ends of the line (butt, round, ...) -*Pattern* -Available for areas. Choose pattern file and set the width of the -pattern. + - *Pattern*: + Available for areas. Choose pattern file and set the width of the + pattern. -*Size* -Available for point data. Choose size (number of times larger than the -size in the icon file) as a single value or take the size from a map -table column. + - *Size*: + Available for point data. Choose size (number of times larger than the + size in the icon file) as a single value or take the size from a map + table column. -*Rotation* -Available for point data. Rotate symbols counterclockwise with the given -value or with the value from a map table column + - *Rotation*: + Available for point data. Rotate symbols counterclockwise with the given + value or with the value from a map table column -*Width* -Available for line data. Set line width in points or take the value from -a map table column. + - *Width*: + Available for line data. Set line width in points or take the value from + a map table column. -![icon](icons/layer-more.png)  *Add overlays* +![icon](icons/layer-more.png)  *Add overlays*: Add overlays: vector labels, grid (not yet implemented) -![icon](icons/layer-label-add.png)  *Add labels* +- ![icon](icons/layer-label-add.png)  *Add labels*: Add vector labels created beforehand by v.label module. -![icon](icons/overlay-add.png)  *Add map elements* +![icon](icons/overlay-add.png)  *Add map elements*: Add map elements: legend, scalebar, map info, text -![icon](icons/legend-add.png)  *Add legend* +- ![icon](icons/legend-add.png)  *Add legend*: Add raster or vector legend or edit their properties. -![icon](icons/map-info.png)  *Add map info* +- ![icon](icons/map-info.png)  *Add map info*: Add information about region, grid and scale or edit map info properties. -![icon](icons/scalebar-add.png)  *Add scalebar* +- ![icon](icons/scalebar-add.png)  *Add scalebar*: Add scalebar or edit its properties. -![icon](icons/text-add.png)  *Add text* +- ![icon](icons/text-add.png)  *Add text*: Add text label. -![icon](icons/layer-remove.png)  *Remove selected element* +![icon](icons/layer-remove.png)  *Remove selected element*: Select an object and remove it. Pressing Delete key does the same. -![icon](icons/execute.png)  *Show preview* +![icon](icons/execute.png)  *Show preview*: Generates output and switches to Preview mode to see the result. Be patient, it can take a while. -![icon](icons/ps-export.png)  *Generate hardcopy map output in PS* +![icon](icons/ps-export.png)  *Generate hardcopy map output in PS*: Generates hardcopy map output in PostScript/EPS file. -![icon](icons/pdf-export.png)  *Generate hardcopy map output in PDF* +![icon](icons/pdf-export.png)  *Generate hardcopy map output in PDF*: Generates hardcopy map output in PDF using ps2pdf or [Ghostscript gswin32c/gswin64c](https://www.ghostscript.com/releases/gsdnld.html) (OS MS Windows platform only). diff --git a/gui/wxpython/rdigit/g.gui.rdigit.md b/gui/wxpython/rdigit/g.gui.rdigit.md index 89f87a2517d..6b429cc9692 100644 --- a/gui/wxpython/rdigit/g.gui.rdigit.md +++ b/gui/wxpython/rdigit/g.gui.rdigit.md @@ -54,20 +54,15 @@ the buildings with [r.sun](r.sun.md) module: ```sh g.region raster=elev_lid792_1m # now create elev_edited raster by digitizing and save -r.slope.aspect elevation=elev_edited slope=elev_slope aspect=elev_aspect -r.sun elevation=elev_edited aspect=elev_aspect slope=elev_slope beam_rad=beam day=172 time=6 +r.slope.aspect elevation=elev_edited slope=slope aspect=aspect +r.sun elevation=elev_edited aspect=aspect slope=slope beam_rad=beam day=172 time=6 ``` -[](wxGUI_rdigit_step1.png) -[](wxGUI_rdigit_step2.png) -[](wxGUI_rdigit_step3.png) -[](wxGUI_rdigit_step4.png) -[](wxGUI_rdigit_step5.png) +![Raster digitizer example step 1](wxGUI_rdigit_step1.png) +![Raster digitizer example step 2](wxGUI_rdigit_step2.png) +![Raster digitizer example step 3](wxGUI_rdigit_step3.png) +![Raster digitizer example step 4](wxGUI_rdigit_step4.png) +![Raster digitizer example step 5](wxGUI_rdigit_step5.png) *Figure: Steps to digitize new buildings on elev_lid792_1m raster map.* ## SEE ALSO diff --git a/gui/wxpython/rlisetup/g.gui.rlisetup.md b/gui/wxpython/rlisetup/g.gui.rlisetup.md index 6a9d7ae33a1..56aa38d6cde 100644 --- a/gui/wxpython/rlisetup/g.gui.rlisetup.md +++ b/gui/wxpython/rlisetup/g.gui.rlisetup.md @@ -119,49 +119,30 @@ using relative coordinates. Screenshots of the wizard window frames: - ---- - - - - - - - - - - - - - - - - - - -
 
-g.gui.rlisetup: First frame of wizard for selecting
-existing configuration files or creating a new one
 
-g.gui.rlisetup: Frame for selecting maps
 
-g.gui.rlisetup: Frame for inserting sampling areas
 
-g.gui.rlisetup: Frame for defining rectangular moving -window
 
-g.gui.rlisetup: Frame for defining circular moving window
 
-g.gui.rlisetup: Frame for choosing the sampling frame with -keyboard
 
-g.gui.rlisetup: Frame for drawing the sampling frame
 
-g.gui.rlisetup: Summary frame before saving
+![g.gui.rlisetup: First frame of wizard for selecting existing configuration files or creating a new one](g_gui_rlisetup_1.png) +*g.gui.rlisetup: First frame of wizard for selecting existing configuration files +or creating a new one* + +![g.gui.rlisetup: Frame for selecting maps](g_gui_rlisetup_2.png) +*g.gui.rlisetup: Frame for selecting maps* + +![g.gui.rlisetup: Frame for inserting sampling areas](g_gui_rlisetup_3.png) +*g.gui.rlisetup: Frame for inserting sampling areas* + +![g.gui.rlisetup: Frame for defining rectangular moving window](g_gui_rlisetup_4.png) +*g.gui.rlisetup: Frame for defining rectangular moving window* + +![g.gui.rlisetup: Frame for defining circular moving window](g_gui_rlisetup_5.png) +*g.gui.rlisetup: Frame for defining circular moving window* + +![g.gui.rlisetup: Frame for choosing the sampling frame with keyboard](g_gui_rlisetup_6.png) +*g.gui.rlisetup: Frame for choosing the sampling frame with keyboard* + +![g.gui.rlisetup: Frame for drawing the sampling frame](g_gui_rlisetup_7.png) +*g.gui.rlisetup: Frame for drawing the sampling frame* + +![g.gui.rlisetup: Summary frame before saving](g_gui_rlisetup_8.png) +*g.gui.rlisetup: Summary frame before saving* ## EXAMPLES diff --git a/gui/wxpython/timeline/g.gui.timeline.md b/gui/wxpython/timeline/g.gui.timeline.md index 584e04986da..7cef503631b 100644 --- a/gui/wxpython/timeline/g.gui.timeline.md +++ b/gui/wxpython/timeline/g.gui.timeline.md @@ -11,8 +11,7 @@ Supported features: - 3D plots - spatio-temporal extent (matplotlib \>= 1.0.0) - pop-up annotations with basic metadata - +![Timeline Tool screenshot](timeline_2D.jpg) ## NOTES diff --git a/gui/wxpython/tplot/g.gui.tplot.md b/gui/wxpython/tplot/g.gui.tplot.md index e6e10ea7ee3..c85abd50cd2 100644 --- a/gui/wxpython/tplot/g.gui.tplot.md +++ b/gui/wxpython/tplot/g.gui.tplot.md @@ -9,16 +9,9 @@ Supported features: - temporal datasets with interval/point and absolute/relative time, - show simple linear regression model line with calculated formula - - ```sh - y = a + b*x (y is dependent variable, a is intercept, b is slope, x is explanatory variable) - ``` - - and - - ```sh - r-squared (parameter of goodness-of-fit measure for linear regression model) - ``` + `y = a + b*x` (y is dependent variable, a is intercept, b is slope, + x is explanatory variable) and `r-squared` (parameter of goodness-of-fit + measure for linear regression model) - pop-up annotations with values information, @@ -43,24 +36,21 @@ Supported features: because these software packages use a reference date other than the UNIX Epoch time (00:00:00 UTC on 1 January 1970)). -[](g_gui_tplot_labels.png) +![Temporal Plot Tool](g_gui_tplot_labels.png) *Figure: Temporal Plot Tool* To optionally add a title to the temporal plot and/or change the x and y axes labels, first type the desired text and then click *Draw* as showed below. -[g.gui.tplot add title and axes labels](g_gui_tplot_labels.png) +![g.gui.tplot add title and axes labels](g_gui_tplot_labels.png) *Figure: Add title and labels to a time series plot* To export the time series data to a text file (date and data values), type a name for the file and click *Draw* again. Optionally, set the check-box to print headers, as well. -[g.gui.tplot export time series as csv file](g_gui_tplot_export_csv.png) +[g.gui.tplot export time series as csv file](g_gui_tplot_export_csv.png) *Figure: Export time series values to a text file* ## NOTES diff --git a/gui/wxpython/vdigit/g.gui.vdigit.md b/gui/wxpython/vdigit/g.gui.vdigit.md index ecf5d445002..8ee775afc9c 100644 --- a/gui/wxpython/vdigit/g.gui.vdigit.md +++ b/gui/wxpython/vdigit/g.gui.vdigit.md @@ -64,130 +64,129 @@ given threshold to the features from the background map. ### DIGITIZER TOOLBAR - - -![icon](icons/point-create.png)  *Digitize new point* +![Vector Digitizer Toolbar](vdigit_toolbar.jpg) + +![icon](icons/point-create.png)  *Digitize new point*: Add new point to vector map and optionally define its attributes (Ctrl+P). -![icon](icons/line-create.png)  *Digitize new line* +![icon](icons/line-create.png)  *Digitize new line*: Add new line to vector map and optionally define its attributes (Ctrl+L). -![icon](icons/boundary-create.png)  *Digitize new boundary* +![icon](icons/boundary-create.png)  *Digitize new boundary*: Add new boundary to vector map and optionally define its attributes (Ctrl+B). -![icon](icons/centroid-create.png)  *Digitize new centroid* +![icon](icons/centroid-create.png)  *Digitize new centroid*: Add new centroid to vector map and optionally define its attributes (Ctrl+C). -![icon](icons/polygon-create.png)  *Digitize new area* +![icon](icons/polygon-create.png)  *Digitize new area*: Add new area (closed boundary and one centroid inside) to vector map and optionally define its attributes (Ctrl+A). -![icon](icons/vertex-move.png)  *Move vertex* +![icon](icons/vertex-move.png)  *Move vertex*: Move selected vertex of linear feature. Thus shape of linear feature is changed (Ctrl+G). -![icon](icons/vertex-create.png)  *Add vertex* +![icon](icons/vertex-create.png)  *Add vertex*: Add new vertex to selected linear feature (shape not changed) (Ctrl+V). -![icon](icons/vertex-delete.png)  *Remove vertex* +![icon](icons/vertex-delete.png)  *Remove vertex*: Remove selected vertex from linear feature (Ctrl+X). Thus shape of selected feature can be changed. -![icon](icons/line-edit.png)  *Edit line/boundary* +![icon](icons/line-edit.png)  *Edit line/boundary*: Edit selected linear feature, add new segments or remove existing segments of linear feature (Ctrl+E). -![icon](icons/line-move.png)  *Move feature(s)* +![icon](icons/line-move.png)  *Move feature(s)*: Move selected vector features (Ctrl+M.) Selection can be done by mouse or by query. -![icon](icons/line-delete.png)  *Delete feature(s)* +![icon](icons/line-delete.png)  *Delete feature(s)*: Delete selected vector features (point, line, centroid, or boundary) (Ctrl+D). Selection can be done by mouse or by query. -![icon](icons/polygon-delete.png)  *Delete areas(s)* +![icon](icons/polygon-delete.png)  *Delete areas(s)*: Delete selected vector areas (Ctrl+F). Selection can be done by mouse or by query. -![icon](icons/cats-display.png)  *Display/update categories* +![icon](icons/cats-display.png)  *Display/update categories*: Display categories of selected vector feature (Ctrl+J). Category settings can be modified, new layer/category pairs added or already defined pairs removed. -![icon](icons/attributes-display.png)  *Display/update attributes* +![icon](icons/attributes-display.png)  *Display/update attributes*: Display attributes of selected vector feature (based on its category settings) (Ctrl+K). Attributes can be also modified. Same functionality is accessible from Main toolbar "Query vector map (editable mode)". -![icon](icons/tools.png)  *Additional tools* +![icon](icons/tools.png)  *Additional tools*: -- *Break selected lines/boundaries at intersection* +- *Break selected lines/boundaries at intersection*: Split given vector line or boundary into two lines on given position (based on *[v.clean](v.clean.md)*, `tool=break`). -- *Connect two selected lines/boundaries* +- *Connect two selected lines/boundaries*: Connect selected lines or boundaries, the first given line is connected to the second one. The second line is broken if necessary on each intersection. The lines are connected only if distance between them is not greater than snapping threshold value. -- *Copy categories* +- *Copy categories*: Copy category settings of selected vector feature to other vector features. Layer/category pairs of source vector features are appended to the target feature category settings. Existing layer/category pairs are not removed from category settings of the target features. -- *Copy features from (background) vector map* +- *Copy features from (background) vector map*: Make identical copy of selected vector features. If a background vector map has been selected from the Layer Manager, copy features from background vector map, not from the currently modified vector map. -- *Copy attributes* +- *Copy attributes*: Duplicate attributes settings of selected vector feature to other vector features. New category(ies) is appended to the target feature category settings and attributes duplicated based on category settings of source vector features. Existing layer/category pairs are not removed from category settings of the target features. -- *Feature type conversion* +- *Feature type conversion*: Change feature type of selected geometry features. Points are converted to centroids, centroids to points, lines to boundaries and boundaries to lines. -- *Flip selected lines/boundaries* +- *Flip selected lines/boundaries*: Flip direction of selected linear features (lines or boundaries). -- *Merge selected lines/boundaries* +- *Merge selected lines/boundaries*: Merge (at least two) selected vector lines or boundaries. The geometry of the merged vector lines can be changed. If the second line from two selected lines is in opposite direction to the first, it will be flipped. See also module *[v.build.polylines](v.build.polylines.md)*. -- *Snap selected lines/boundaries (only to nodes)* +- *Snap selected lines/boundaries (only to nodes)*: Snap vector features in given threshold. See also module *[v.clean](v.clean.md)*. Note that this tool supports only snapping to nodes. Snapping to vector features from background vector map is not currently supported. -- *Split line/boundary* +- *Split line/boundary*: Split selected line or boundary on given position. -- *Query tool* +- *Query tool*: Select vector features by defining a threshold for min/max length value (linear features or dangles). -- *Z-bulk labeling of 3D lines* +- *Z-bulk labeling of 3D lines*: Assign z coordinate values to 3D vector lines in bounding box. This is useful for labeling contour lines. -![icon](icons/undo.png)  *Undo* +![icon](icons/undo.png)  *Undo*: Undo previous operations (Ctrl+Z). -![icon](icons/redo.png)  *Redo* +![icon](icons/redo.png)  *Redo*: Redo previous operations (Ctrl+Y). -![icon](icons/settings.png)  *Settings* +![icon](icons/settings.png)  *Settings*: Digitizer settings (Ctrl+T). -![icon](icons/help.png)  *Show help* +![icon](icons/help.png)  *Show help*: Show help page for the Digitizer (Ctrl+H). -![icon](icons/quit.png)  *Quit digitizing tool* +![icon](icons/quit.png)  *Quit digitizing tool*: Changes in vector map can be optionally discarded when digitizing session is quited (Ctrl+Q). diff --git a/imagery/i.atcorr/i.atcorr.md b/imagery/i.atcorr/i.atcorr.md index 41e060942c0..452ff8adbcd 100644 --- a/imagery/i.atcorr/i.atcorr.md +++ b/imagery/i.atcorr/i.atcorr.md @@ -882,8 +882,7 @@ To apply atmospheric correction to the remaining bands, only the last line in the 6S parameters file (i.e., the sensor band) needs to be changed. The other parameters will remain the same. -[i.atcorr example](i_atcorr_B02_atcorr.png) +![i.atcorr example](i_atcorr_B02_atcorr.png) *Figure: Sentinel-2A Band 02 with applied atmospheric correction (histogram equalization grayscale color scheme)* diff --git a/imagery/i.gensigset/i.gensigset.md b/imagery/i.gensigset/i.gensigset.md index b745df66196..70493a8871c 100644 --- a/imagery/i.gensigset/i.gensigset.md +++ b/imagery/i.gensigset/i.gensigset.md @@ -151,7 +151,7 @@ then the user should check for: ## SEE ALSO -*[r.support](r.support), [i.group](i.group.md), [i.smap](i.smap.md), +*[r.support](r.support.md), [i.group](i.group.md), [i.smap](i.smap.md), [r.info](r.info.md), [r.univar](r.univar.md), [wxGUI vector digitizer](wxGUI.vdigit.md)* diff --git a/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.md b/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.md index eae184a99cb..11a9cc1fa05 100644 --- a/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.md +++ b/imagery/i.ortho.photo/i.ortho.photo/i.ortho.photo.md @@ -49,8 +49,7 @@ Five groups of input parameters are required for ortho-rectification: points and/or, - Coordinates of ground control points in the target coordinate system. -[i.ortho.photo example](i_ortho_photo_step1.png) +![i.ortho.photo example](i_ortho_photo_step1.png) *Example of an input oblique image in a source project* To ortho-rectify aerial images the user has to follow the menu options @@ -188,8 +187,7 @@ The steps to follow are described below: 2728 0.0 0.0 -7.7 1 ``` - [i.ortho.photo example](i_ortho_photo_step5.png) + ![i.ortho.photo example](i_ortho_photo_step5.png) *Step 5: Image-to-photo transformation of an oblique image* 6. *Initialize parameters of camera: [i.ortho.init](i.ortho.init.md)* @@ -210,8 +208,7 @@ The steps to follow are described below: north: needs to be denoted as +90° for clockwise turn and -90° for a counter-clockwise turn. - [i.ortho.photo example](i_ortho_photo_step6.png) + ![i.ortho.photo example](i_ortho_photo_step6.png) *Principle of pitch and yaw* In Step 6, a new file *mapset/group/name_of_group/**INIT_EXP*** is @@ -265,8 +262,7 @@ The steps to follow are described below: 1570.09788497 2790.06537829 0.0 3.0 11.0 100.0 1 ``` - [i.ortho.photo example](i_ortho_photo_step7.png) + ![i.ortho.photo example](i_ortho_photo_step7.png) *Step 7: Detail of ground control points matching in an oblique image and terrain model* @@ -281,8 +277,7 @@ The steps to follow are described below: current window in the target project or the minimal bounding window for the ortho-rectified image. - [i.ortho.photo example](i_ortho_photo_step8.png) + ![i.ortho.photo example](i_ortho_photo_step8.png) *Step 8: Ortho-rectified oblique image* As a result, the ortho-rectified raster map is available for diff --git a/imagery/imageryintro.md b/imagery/imageryintro.md index 6ed5f67ea05..5116ef90ead 100644 --- a/imagery/imageryintro.md +++ b/imagery/imageryintro.md @@ -102,8 +102,7 @@ signature files of imagery classification tools. Therefore, signature files of one imagery or raster group can be used to classify a different group with identical semantic labels. -GRASS GIS band references scheme +![GRASS GIS band references scheme](band_references_scheme.png) *New enhanced classification workflow involving semantic labels.* With [r.support](r.support.md) any sort of semantic label the user diff --git a/misc/m.measure/m.measure.md b/misc/m.measure/m.measure.md index c2cc36a972f..922acf3abc7 100644 --- a/misc/m.measure/m.measure.md +++ b/misc/m.measure/m.measure.md @@ -17,10 +17,8 @@ m.measure coordinates="$Bonn_DE,$Philadelphia_US" units=kilometers Length: 6217.916452 kilometers ``` -[ -](m_measure_distance.png) *Visualization (with d.geodesic) of m.measure +![Visualization (with d.geodesic) of m.measure distance example](m_measure_distance.png) +*Visualization (with d.geodesic) of m.measure distance example* As an example for the North Carolina sample dataset, here four points diff --git a/ps/ps.map/ps.map.md b/ps/ps.map/ps.map.md index f414022baed..2e26ec8fa11 100644 --- a/ps/ps.map/ps.map.md +++ b/ps/ps.map/ps.map.md @@ -1491,7 +1491,6 @@ ps.map input=simple_map.txt output=simple_map.ps ``` ![](ps_map_basic.png) - *Figure: Result of for the a simple Wake county terrain and roads example* @@ -1570,7 +1569,6 @@ ps.map input=elevation_map.txt output=elevation.ps ``` ![](ps_map.png) - *Figure: Result of for the more complicated Wake county, NC example* More examples can be found on the [GRASS diff --git a/raster/Makefile b/raster/Makefile index a571f47f1e2..37847c4ec4d 100644 --- a/raster/Makefile +++ b/raster/Makefile @@ -44,6 +44,7 @@ SUBDIRS = \ r.latlong \ r.lake \ r.li \ + r.mapcalc \ r.mask.status \ r.mfilter \ r.mode \ @@ -139,7 +140,6 @@ PGM = rasterintro include $(MODULE_TOPDIR)/include/Make/Dir.make default: - $(MAKE) -C r.mapcalc $(MAKE) htmldir htmldir: parsubdirs @@ -153,3 +153,5 @@ $(HTMLDIR)/r.out.png: # no-op - override Html.make rule for .png image files $(MDDIR)/source/r.out.png: # no-op - override Html.make rule for .png image files + +r.colors: r.mapcalc diff --git a/raster/r.carve/r.carve.md b/raster/r.carve/r.carve.md index 1d29d05d95a..24d708e8a7a 100644 --- a/raster/r.carve/r.carve.md +++ b/raster/r.carve/r.carve.md @@ -62,56 +62,28 @@ d.erase d.rast accum_diff ``` - ---- - - - - - - - - - - - - - - -

-Fig: Original 1m LiDAR based DEM with vector streams map on -top
r.carve example: original DEM shaded
-Fig: Original 1m LiDAR based DEM shown as shaded terrain

-Fig: Carved 1m LiDAR based DEM
r.carve example: carved DEM shaded
-Fig: Carved 1m LiDAR based DEM shown as shaded terrain

-Fig: Flow accumulation in original 1m LiDAR based DEM

-Fig: Flow accumulation in carved 1m LiDAR based DEM
+![Original DEM with vector streams](r_carve_dem_orig.png) +*Fig: Original 1m LiDAR based DEM with vector streams map on top* + +![Original DEM shaded](r_carve_dem_orig_shaded.png) +*Fig: Original 1m LiDAR based DEM shown as shaded terrain* + +![Carved DEM](r_carve_dem_carved.png) +*Fig: Carved 1m LiDAR based DEM* + +![Carved DEM shaded](r_carve_dem_carved_shaded.png) +*Fig: Carved 1m LiDAR based DEM shown as shaded terrain* + +![Flow accumulation in original DEM](r_carve_dem_orig_accum.png) +*Fig: Flow accumulation in original 1m LiDAR based DEM* + +![Flow accumulation in carved DEM](r_carve_dem_carved_accum.png) +*Fig: Flow accumulation in carved 1m LiDAR based DEM* ## KNOWN ISSUES The module does not operate yet in latitude-longitude coordinate -reference system. It has not been thoroughly tested, so not all options -may work properly - but this was the intention. +reference system. ## REFERENCES diff --git a/raster/r.clump/r.clump.md b/raster/r.clump/r.clump.md index ca72936c802..9d925c3c0a4 100644 --- a/raster/r.clump/r.clump.md +++ b/raster/r.clump/r.clump.md @@ -65,8 +65,7 @@ r.clump lakes out=lakes_individual r.report lakes_individual units=h ``` -[](r_clump_lakes.png) +![r.clump lake clumping example](r_clump_lakes.png) *Figure: Clumping of rasterized lakes: original lakes map (left) and clumped lakes map (right)* @@ -85,8 +84,7 @@ r.clump in=lsat7_2002_10,lsat7_2002_20,lsat7_2002_30,lsat7_2002_40,lsat7_2002_50 out=lsat7_2002_clump_min10 threshold=0.045 minsize=10 ``` -[](r_clump_lakes.png) +![r.clump example Landsat fuzzy clumping](r_clump_lsat.png) *Figure: Fuzzy clumping on Landsat bands: original RGB composite (left), fuzzy clumped map (middle), and fuzzy clumped with minsize map (right)* diff --git a/raster/r.colors/Makefile b/raster/r.colors/Makefile index 7d691dbbc28..85ff60fc095 100644 --- a/raster/r.colors/Makefile +++ b/raster/r.colors/Makefile @@ -24,7 +24,4 @@ $(HTMLDIR)/colortables: $(HTMLDIR) $(MDDIR)/source/colortables: $(MDDIR) $(MKDIR) $@ -$(BIN)/r.mapcalc$(EXE): - $(MAKE) -C ../r.mapcalc - .PHONY: thumbnails diff --git a/raster/r.contour/r.contour.md b/raster/r.contour/r.contour.md index 5225f633fe6..8131fbd97a9 100644 --- a/raster/r.contour/r.contour.md +++ b/raster/r.contour/r.contour.md @@ -49,10 +49,8 @@ d.rast elevation_shade d.vect contours color=red ``` -[ -](r_contour_using_levels.png) *Contour lines shown on shaded terrain -map* +![r.contours example](r_contour_using_levels.png) +*Contour lines shown on shaded terrain map* For an example of using steps with *r.contour* this example uses the LiDAR data derived elevation map from the North Carolina database: diff --git a/raster/r.drain/r.drain.md b/raster/r.drain/r.drain.md index 3ec37f82897..13ea781ddc1 100644 --- a/raster/r.drain/r.drain.md +++ b/raster/r.drain/r.drain.md @@ -215,8 +215,7 @@ d.vect map=start color=none fill_color=224:0:0 icon=basic/circle size=15 legend_ d.legend.vect -b ``` -[](r_drain.png) +![drainage using r.watershed](r_drain.png) *Figure: Drainage paths from two points flowing into the points with lowest values* @@ -255,8 +254,7 @@ r.drain -d input=const1 direction=drain_deg output=drain_path_2 drain=drain_2 st We visualize the result in the same way as in the previous example. -[drainage using r.watershed](r_drain_with_r_watershed_direction.png) +![drainage using r.watershed](r_drain_with_r_watershed_direction.png) *Figure: Drainage paths from two points where directions from r.watershed were used* diff --git a/raster/r.fill.stats/r.fill.stats.md b/raster/r.fill.stats/r.fill.stats.md index 1278a194464..fcb6a7e82ff 100644 --- a/raster/r.fill.stats/r.fill.stats.md +++ b/raster/r.fill.stats/r.fill.stats.md @@ -154,9 +154,7 @@ or classified data), it might be desirable to turn off data smoothing by setting the **-k** (keep) flag. This will ensure that the original cell data is copied through to the result map without alteration. -[](r_fill_stats_smoothing.png) - +![Smooth versus preserve](r_fill_stats_smoothing.png) *Effect of smoothing the original data: The top row shows a gap-filled surface computed from a rasterized Lidar point cloud (using `mode=wmean` and `power=2`), and the derived slope, aspect, and profile curvature @@ -321,9 +319,7 @@ Fill in the NULL cells using the default 3-cell search radius: r.fill.stats input=ground output=ground_filled uncertainty=uncertainty distance=3 mode=wmean power=2.0 cells=8 ``` -[](r_fill_stats_lidar.png) - +![Point density and ground surface](r_fill_stats_lidar.png) *Binning of Lidar and resulting ground surface with filled gaps. Note the remaining NULL cells (white) in the resulting ground surface. These are areas with a lack of cells with values in close proximity.* diff --git a/raster/r.geomorphon/r.geomorphon.md b/raster/r.geomorphon/r.geomorphon.md index 290360d4ab8..9deeac0fc99 100644 --- a/raster/r.geomorphon/r.geomorphon.md +++ b/raster/r.geomorphon/r.geomorphon.md @@ -5,7 +5,7 @@ called geomorphons. ### What is geomorphon -What is geomorphon +![What is geomorphon](geomorphon.png) Geomorphon is a new concept of presentation and analysis of terrain forms. This concept utilises 8-tuple pattern of the visibility @@ -113,7 +113,7 @@ visualisation are presented at the image. ### Forms represented by geomorphons -forms legend +![forms legend](legend.png) **ternary** returns code of one of 498 unique ternary patterns for every cell. The @@ -219,8 +219,7 @@ r.category eu_dem_25m_geomorph 10 pit ``` - +![Geomorphon calculation example using the EU DEM 25m (with search=11)](r_geomorphon.png) ### Extraction of peaks @@ -234,8 +233,7 @@ r.to.vect input=eu_dem_25m_peaks_thinned output=eu_dem_25m_peaks type=point v.info input=eu_dem_25m_peaks ``` - +![Extraction of peaks from EU DEM 25m (with search=11)](r_geomorphon_peaks.png) ## REFERENCES diff --git a/raster/r.horizon/r.horizon.md b/raster/r.horizon/r.horizon.md index 259b908fd66..e53f5c58c2d 100644 --- a/raster/r.horizon/r.horizon.md +++ b/raster/r.horizon/r.horizon.md @@ -146,12 +146,9 @@ The iterations of the algorithm used in **r.horizon** depends on the topography. As a result, the benchmark results may vary depending on the topography of the study area. - - - +![time for r.horizon with different map sizes](rhorizon_raster_time.png) +![speedup for r.horizon with different map sizes](rhorizon_raster_speedup.png) +![efficiency for r.horizon with different map sizes](rhorizon_raster_efficiency.png) *Figure: Benchmark shows execution time, parallel speedup and efficiency for different numbers of cells (1M, 2M, 4M, and 8M).* diff --git a/raster/r.mfilter/r.mfilter.md b/raster/r.mfilter/r.mfilter.md index 5aebe89ca44..82de2107d14 100644 --- a/raster/r.mfilter/r.mfilter.md +++ b/raster/r.mfilter/r.mfilter.md @@ -120,10 +120,8 @@ until the final filter is applied. Then the output cell is written. By specifying the number of parallel processes with **nprocs** option, *r.mfilter* can run significantly faster, see benchmarks below. - - +![benchmark for number of cells](r_mfilter_benchmark_1.png) +![benchmark for window size](r_mfilter_benchmark_2.png) *Figure: Benchmark on the left shows execution time for different number of cells for 9x9 matrix, benchmark on the right shows execution time for 16 billion cells for different matrix sizes. (Intel Core i9-10940X CPU @ diff --git a/raster/r.neighbors/r.neighbors.md b/raster/r.neighbors/r.neighbors.md index e0571166759..0e3731f7bfd 100644 --- a/raster/r.neighbors/r.neighbors.md +++ b/raster/r.neighbors/r.neighbors.md @@ -383,12 +383,9 @@ threads to be used with the **nprocs** parameter (default 1). The **memory** parameter (default 300) can also be provided to determine the size of the buffer for computation. - - - +![benchmark for number of cells](r_neighbors_benchmark_nprocs.png) +![benchmark for neighborhood size](r_neighbors_benchmark_size.png) +![benchmark for memory size](r_neighbors_benchmark_memory.png) *Figure: Benchmark on the left shows execution time for different number of cells, benchmark in the middle shows execution time for different sizes of neighborhood for a 10000x10000 raster and benchmark on the diff --git a/raster/r.param.scale/r.param.scale.md b/raster/r.param.scale/r.param.scale.md index d5b2c372787..737b685c4a0 100644 --- a/raster/r.param.scale/r.param.scale.md +++ b/raster/r.param.scale/r.param.scale.md @@ -52,9 +52,8 @@ g.region raster=elevation.10m -p r.param.scale in=elevation.10m output=morphology method=feature size=9 ``` -[ -](r_param_scale_morph.jpg) *Figure: Geomorphological map of a subregion +![r.param.scale example](r_param_scale_morph.jpg) +*Figure: Geomorphological map of a subregion in the Spearfish (SD) area* ## TODO diff --git a/raster/r.patch/r.patch.md b/raster/r.patch/r.patch.md index 10a3157733c..e615905b0ff 100644 --- a/raster/r.patch/r.patch.md +++ b/raster/r.patch/r.patch.md @@ -22,8 +22,7 @@ Hence this command is useful for The current geographic region definition and mask settings are respected. -![](r_patch.png) - +![Result of patching of two raster maps containing NULLs](r_patch.png) *Figure: Result of patching of two raster maps containing NULLs using the default settings.* @@ -43,8 +42,7 @@ written as **input=***primary*,*secondary*,*tertiary*,... For two raster maps, the first one can be viewed as the primary one or the default one and the second one as the secondary one or a fallback. -![](r_patch_zeros_as_nulls.png) - +![Result of patching of two raster maps using the z flag](r_patch_zeros_as_nulls.png) *Figure: Result of patching of two raster maps using the **-z** flag to treat zeros as NULLs. Note the value 1 being preserved from the first raster while the value 6 is taken from the second raster instead of the @@ -147,10 +145,8 @@ used instead of *r.patch*. By specifying the number of parallel processes with **nprocs** option, *r.patch* can run significantly faster, see benchmarks below. - - +![benchmark for number of cells](r_patch_benchmark_size.png) +![benchmark for memory size](r_patch_benchmark_memory.png) *Figure: Benchmark on the left shows execution time for different number of cells, benchmark on the right shows execution time for different memory size for 5000x5000 raster. See benchmark scripts in source code. diff --git a/raster/r.path/r.path.md b/raster/r.path/r.path.md index 7aaf099e405..582405ab813 100644 --- a/raster/r.path/r.path.md +++ b/raster/r.path/r.path.md @@ -119,8 +119,7 @@ d.vect map=start color=none fill_color=224:0:0 icon=basic/circle size=15 legend_ d.legend.vect -b ``` -[drainage using r.watershed](r_path_with_r_watershed_direction.png) +![drainage using r.watershed](r_path_with_r_watershed_direction.png) *Figure: Drainage paths from two points where directions from r.watershed were used* @@ -169,8 +168,7 @@ the raster path when using the Knight's move. ``` -[](r_path_with_bitmask.png) +![least cost path using bitmask](r_path_with_bitmask.png) *Figure: Comparison of shortest paths using single directions and multiple bitmask encoded directions without and with Knight's move* diff --git a/raster/r.random.surface/r.random.surface.md b/raster/r.random.surface/r.random.surface.md index fa3dd65f9d3..737efa2ef33 100644 --- a/raster/r.random.surface/r.random.surface.md +++ b/raster/r.random.surface/r.random.surface.md @@ -118,15 +118,12 @@ r.surf.random output=randomsurf min=10 max=100 r.univar -e map=randomsurf ``` -[](r_random_surface.jpg) +![r.random.surface example (n_min: 10; n_max: 100)](r_random_surface.jpg) *Figure: Random surface example (min: 10; max: 100)* With the histogram tool the cell values versus count can be shown. -[](r_random_surface_hist.png) +![r.random.surface example histogram (n_min: 10; n_max: 100)](r_random_surface_hist.png) *Figure: Histogram of random surface example (min: 10; max: 100)* ## REFERENCES diff --git a/raster/r.relief/r.relief.md b/raster/r.relief/r.relief.md index b07836895e4..472a7975f6c 100644 --- a/raster/r.relief/r.relief.md +++ b/raster/r.relief/r.relief.md @@ -52,8 +52,7 @@ g.region raster=elevation -p r.relief input=elevation output=elevation_shade ``` - +![GRASS r.relief result (subset)](r_relief.png) *r.relief: shaded elevation map (subset)* ### Colorizing a shaded relief map diff --git a/raster/r.resamp.filter/r.resamp.filter.md b/raster/r.resamp.filter/r.resamp.filter.md index 7b1ec74b89a..67dabe02535 100644 --- a/raster/r.resamp.filter/r.resamp.filter.md +++ b/raster/r.resamp.filter/r.resamp.filter.md @@ -43,10 +43,10 @@ infinite kernel along with a finite window. To smooth a map, keeping its resolution, a good starting point is to use the filters **gauss,box** with the radii *0.5 \* input resolution*, *2 -\* input resolution*. See also [r.neighbors](r.neighbors.html) +\* input resolution*. See also [r.neighbors](r.neighbors.md) When resampling a map to a higher resolution (alternative to -interpolation, e.g. [r.resamp.interp](r.resamp.interp.html)), a good +interpolation, e.g. [r.resamp.interp](r.resamp.interp.md)), a good starting point is to use the filters **gauss,box** with the radii *1.5 \* input resolution*, *3 \* input resolution*. @@ -95,8 +95,7 @@ the integrity of the interpolation method. By specifying the number of parallel processes with **nprocs** option, *r.resamp.filter* can run faster, see benchmarks below. - +![benchmark for number of cells](r_resamp_filter_benchmark_size.png) *Figure: Benchmark shows execution time for different number of cells. See benchmark script in the source code.* diff --git a/raster/r.resamp.interp/r.resamp.interp.md b/raster/r.resamp.interp/r.resamp.interp.md index 909b568c6fe..1ed276dc18b 100644 --- a/raster/r.resamp.interp/r.resamp.interp.md +++ b/raster/r.resamp.interp/r.resamp.interp.md @@ -37,8 +37,7 @@ the integrity of the interpolation method. By specifying the number of parallel processes with **nprocs** option, *r.resamp.interp* can run significantly faster, see benchmarks below. - +![benchmark for number of cells](r_resamp_interp_benchmark_size.png) *Figure: Benchmark shows execution time for different number of cells. See benchmark scripts in source code.* diff --git a/raster/r.resamp.stats/r.resamp.stats.md b/raster/r.resamp.stats/r.resamp.stats.md index 862ea5c3dc5..b0471fb26d5 100644 --- a/raster/r.resamp.stats/r.resamp.stats.md +++ b/raster/r.resamp.stats/r.resamp.stats.md @@ -33,8 +33,7 @@ g.region res=20 -ap r.resamp.stats -w input=el_D782_6m output=el_D782_20m ``` - +![GRASS r.resamp.stats result (subset)](r_resamp_stats_6m_20m.png) *Resampling of 6m DEM (left) to 20m DEM (right) with weighted resampling (subset)* diff --git a/raster/r.series/r.series.md b/raster/r.series/r.series.md index a417fb5f68d..a230487a66d 100644 --- a/raster/r.series/r.series.md +++ b/raster/r.series/r.series.md @@ -152,10 +152,8 @@ threads to be used with the **nprocs** parameter (default 1). The **memory** parameter (default 300 MB) can also be provided to determine the size of the buffer in MB for computation. - - +![benchmark for number of cells](r_series_benchmark_size.png) +![benchmark for memory size](r_series_benchmark_memory.png) *Figure: Benchmark on the left shows execution time for different number of cells, benchmark on the right shows execution time for different memory size for 10000x10000 raster. See benchmark scripts in source diff --git a/raster/r.sim/r.sim.water/main.c b/raster/r.sim/r.sim.water/main.c index bf632910c0d..4690ad99079 100644 --- a/raster/r.sim/r.sim.water/main.c +++ b/raster/r.sim/r.sim.water/main.c @@ -521,7 +521,7 @@ int main(int argc, char *argv[]) * to real timesec in seconds */ settings.timesec = settings.timesec * 60.0; settings.iterout = settings.iterout * 60.0; - if ((settings.timesec / settings.iterout) > 100.0 && settings.ts) + if ((settings.timesec / (double)settings.iterout) > 100.0 && settings.ts) G_message(_("More than 100 files are going to be created !!!!!")); /* compute how big the raster is and set this to appr 2 walkers per cell */ diff --git a/raster/r.sim/r.sim.water/r.sim.water.md b/raster/r.sim/r.sim.water/r.sim.water.md index 417377be8cf..9411d5b950e 100644 --- a/raster/r.sim/r.sim.water/r.sim.water.md +++ b/raster/r.sim/r.sim.water/r.sim.water.md @@ -39,8 +39,7 @@ and dy = tan(slope) * sin(aspect) ``` - +![r.sim.water generated depth map](r_sim_water.png) *Figure: Simulated water flow in a rural area showing the areas with highest water depth highlighting streams, pooling, and wet areas during a rainfall event.* @@ -214,8 +213,7 @@ d.northarrow at=90,25 d.mon stop=cairo ``` - +![r.sim.water generated depth map](r_sim_water_water_depth.png) *Figure: Simulated water depth map in the rural area of the North Carolina sample dataset.* diff --git a/raster/r.sim/simlib/input.c b/raster/r.sim/simlib/input.c index 564e9eed169..6352d2538ae 100644 --- a/raster/r.sim/simlib/input.c +++ b/raster/r.sim/simlib/input.c @@ -381,8 +381,9 @@ int grad_check(Setup *setup, const Geometry *geometry, const Settings *settings) if (wdepth) deltaw = 0.8 / (sigmax * vmax); /*time step for sediment */ - setup->deltap = 0.25 * sqrt(geometry->stepx * geometry->stepy) / - setup->vmean; /*time step for water */ + setup->deltap = + 0.25 * sqrt(geometry->stepx * geometry->stepy) / + (setup->vmean > EPS ? setup->vmean : EPS); /*time step for water */ if (setup->deltap < settings->mintimestep) setup->deltap = settings->mintimestep; diff --git a/raster/r.slope.aspect/r.slope.aspect.md b/raster/r.slope.aspect/r.slope.aspect.md index 50072b9bc0a..415e6657136 100644 --- a/raster/r.slope.aspect/r.slope.aspect.md +++ b/raster/r.slope.aspect/r.slope.aspect.md @@ -166,10 +166,8 @@ threads to be used with the **nprocs** parameter (default 1). The **memory** parameter (default 300) can also be provided to determine the size of the buffer for computation. - - +![benchmark for number of cells](r_slope_aspect_benchmark_size.png) +![benchmark for memory size](r_slope_aspect_benchmark_memory.png) *Figure: Benchmark on the left shows execution time for different number of cells, benchmark on the right shows execution time for different memory size for 5000x5000 raster. See benchmark scripts in source code. diff --git a/raster/r.stats.zonal/r.stats.zonal.md b/raster/r.stats.zonal/r.stats.zonal.md index cfeec1a4b4c..cdfaf06ea0b 100644 --- a/raster/r.stats.zonal/r.stats.zonal.md +++ b/raster/r.stats.zonal/r.stats.zonal.md @@ -34,8 +34,7 @@ r.stats.zonal base=zipcodes cover=elevation method=average output=zipcodes_elev_ r.colors zipcodes_elev_avg color=elevation -g ``` -[](r_stats.zonal.png) +![Zonal (average) elevation statistics](r_stats.zonal.png) *Figure: ZIP code map on the left shows ZIP code areas, elevation map the respective values per pixel, zonal statistics map on the right shows diff --git a/raster/r.surf.gauss/r.surf.gauss.md b/raster/r.surf.gauss/r.surf.gauss.md index 800d65c9748..ad3a5673456 100644 --- a/raster/r.surf.gauss/r.surf.gauss.md +++ b/raster/r.surf.gauss/r.surf.gauss.md @@ -16,15 +16,12 @@ r.surf.gauss out=gauss mean=0 sigma=10 r.univar gauss ``` -[](r_surf_gauss.jpg) +![r.surf.gauss example (mean: 0; sigma: 10)](r_surf_gauss.jpg) *Figure: Random Gaussian surface example (mean: 0; sigma: 10)* With the histogram tool the cell values versus count can be shown. -[](r_surf_gauss_hist.png) +![r.surf.gauss example histogram (mean: 0; sigma: 10)](r_surf_gauss_hist.png) *Figure: Histogram of random Gaussian surface example (mean: 0; sigma: 10)* diff --git a/raster/r.surf.idw/r.surf.idw.md b/raster/r.surf.idw/r.surf.idw.md index f86fb0463f3..43c61579bd0 100644 --- a/raster/r.surf.idw/r.surf.idw.md +++ b/raster/r.surf.idw/r.surf.idw.md @@ -13,7 +13,7 @@ values. The search procedure for the selection of nearest neighboring points will consider all input data, without regard to the mask. The **-e** flag is the error analysis option that interpolates values only for those cells of the input raster map which have non-zero values and -outputs the difference (see [NOTES](#minuse) below). +outputs the difference (see [NOTES](#surface-generation-error-analysis) below). The **npoints** parameter defines the number of nearest data points used to determine the interpolated value of an output raster cell. diff --git a/raster/r.surf.random/r.surf.random.md b/raster/r.surf.random/r.surf.random.md index fb617406aa9..78b27de8b77 100644 --- a/raster/r.surf.random/r.surf.random.md +++ b/raster/r.surf.random/r.surf.random.md @@ -16,15 +16,12 @@ r.surf.random out=random min=0 max=100 r.univar random ``` -[](r_surf_random.jpg) +![r.random.surface example (min: 10; max: 100)](r_surf_random.jpg) *Figure: Random surface example (min: 10; max: 100)* With the histogram tool the cell values versus count can be shown. -[](r_surf_random_hist.png) +![r.random.surface example histogram (min: 10; max: 100)](r_surf_random_hist.png) *Figure: Histogram of random surface example (min: 10; max: 100)* ## SEE ALSO diff --git a/raster/r.terraflow/r.terraflow.md b/raster/r.terraflow/r.terraflow.md index a3d0bdae540..39e1c685fa6 100644 --- a/raster/r.terraflow/r.terraflow.md +++ b/raster/r.terraflow/r.terraflow.md @@ -24,26 +24,11 @@ assigns a unique flow direction towards the steepest downslope neighbor. The MFD method assigns multiple flow directions towards all downslope neighbors. - ---- - - - - - - - - - - - - -
r.terraflow SFDr.terraflow MFD
Flow direction to steepest
-downslope neighbor (SFD).
Flow direction to all
-downslope neighbors (MFD).
+![r.terraflow SFD](rterraflow_dir2.png) +*Flow direction to the steepest downslope neighbor (SFD).* + +![r.terraflow MFD](rterraflow_dir3.png) +*Flow direction to all downslope neighbors (MFD).* The SFD and the MFD method cannot compute flow directions for cells which have the same height as all their neighbors (flat areas) or cells @@ -67,8 +52,7 @@ in the terrain can be assigned SFD/MFD flow directions as above. Flow directions are encoded using powers of two clockwise starting from 20 for east to 27 for north-east. -[r.terraflow direction encoding](rterraflow_direction_encoding.png) +![r.terraflow direction encoding](rterraflow_direction_encoding.png) Flow direction encoding clockwise starting from 20 for east to 27 for north-east; 0 for undetermined (sinks) and 1 for undefined (null cells) diff --git a/raster/r.texture/r.texture.md b/raster/r.texture/r.texture.md index b4238dd3a27..9a1cee98eee 100644 --- a/raster/r.texture/r.texture.md +++ b/raster/r.texture/r.texture.md @@ -162,23 +162,19 @@ threads to be used with the **nprocs** parameter (default 1). Figures below show benchmark results running on Intel® Core™ i9-10940X CPU @ 3.30GHz. See benchmark scripts in the source code for more details. - +![time benchmark for r.texture with different map sizes](r_texture_mapsize_time.png) *Figure 1: Benchmark shows execution time for different number of cells (1M, 2M, 4M, and 8M) and the fixed size of window (3×3).* - +![efficiency benchmark for r.texture with different map sizes](r_texture_mapsize_efficiency.png) *Figure 2: Benchmark shows efficiency for different numbers of cells (1M, 2M, 4M, and 8M) and the fixed size of window (3×3).* - +![time benchmark for r.texture with different window sizes](r_texture_window_time.png) *Figure 3: Benchmark shows execution time for different sizes of windows (3×3, 9×9, 15×15, and 27×27) and the fixed number of cells (1M).* - +![efficiency benchmark for r.texture with different window sizes](r_texture_window_efficiency.png) *Figure 4: Benchmark shows efficiency for different sizes of windows (3×3, 9×9, 15×15, and 27×27) and the fixed number of cells (1M).* diff --git a/raster/r.topidx/r.topidx.md b/raster/r.topidx/r.topidx.md index 0c6ef7e66b3..e416827abbc 100644 --- a/raster/r.topidx/r.topidx.md +++ b/raster/r.topidx/r.topidx.md @@ -32,7 +32,7 @@ g.region raster=elevation -p r.topidx input=elevation output=topidx_elevation ``` -r.topidx example +![r.topidx example](r_topidx.png) *Figure: topographic index map derived from elevation map* ## REFERENCES diff --git a/raster/r.univar/r.univar.md b/raster/r.univar/r.univar.md index 188ef718dcc..1197158e41e 100644 --- a/raster/r.univar/r.univar.md +++ b/raster/r.univar/r.univar.md @@ -56,8 +56,7 @@ raster files when different **nprocs** parameters are used. However, since the work allocation among threads is static, users should expect to have the same results when run with the same number of threads. - +![benchmark for number of cells](r_univar_benchmark_size.png) *Figure: Benchmark shows execution time for different number of cells and cores. See benchmark scripts in source code.* @@ -180,9 +179,8 @@ d.legend raster=basins use=2,4,6,8,10,12,14,16,18,20,22,24,26,28,30 d.barscale ``` -[ -](runivar_basins.png) *Figure: Zones (basins, opacity: 60%) with +![r.univar basins and their IDs](runivar_basins.png) +*Figure: Zones (basins, opacity: 60%) with underlying elevation map for North Carolina sample dataset.* Then statistics for elevation can be calculated separately for every @@ -212,9 +210,8 @@ stddev,variance,coeff_var,sum,sum_abs2,,116975,0,55.5787925720215, Comma Separated Values (CSV) file is best viewed through a spreadsheet program such as Microsoft Excel, Libre/Open Office Calc or Google Docs: -[r.univar raster statistics -](runivar_basins_elev_zonal.png) *Figure: Raster statistics for zones +![r.univar raster statistics](runivar_basins_elev_zonal.png) +*Figure: Raster statistics for zones (basins, North Carolina sample dataset) viewed through Libre/Open Office Calc.* diff --git a/raster/r.viewshed/r.viewshed.md b/raster/r.viewshed/r.viewshed.md index ef596727eb0..de8017948f5 100644 --- a/raster/r.viewshed/r.viewshed.md +++ b/raster/r.viewshed/r.viewshed.md @@ -137,9 +137,9 @@ sweep-line algorithm uses *O(n lg n)* time. This algorithm is efficient in terms of CPU operations and can be also made efficient in terms of I/O-operations. For all details see the REFERENCES below. -| [SDF] | [SDF] | +| ![[SDF]](sweep1.png) | ![[SDF]](sweep2.png) | |------------------------------------------------------------------|------------------------------------------------------------------| -| The sweep-line. | The active cells. | +| The sweep-line. | The active cells.| ## EXAMPLES @@ -152,9 +152,8 @@ g.region raster=elev_lid792_1m -p r.viewshed input=elev_lid792_1m output=elev_lid792_1m_viewshed coordinates=638728,220609 observer_elevation=5.0 ``` -[ -](r.viewshed.png) *Viewshed shown on shaded terrain (observer position +![r.viewshed example](r.viewshed.png) +*Viewshed shown on shaded terrain (observer position in the north-east quadrant with white dot; 5m above ground)* Using the Spearfish dataset: calculating the viewpoint from top of a diff --git a/raster/r.volume/r.volume.md b/raster/r.volume/r.volume.md index 20101293a41..f8f7ff31dfe 100644 --- a/raster/r.volume/r.volume.md +++ b/raster/r.volume/r.volume.md @@ -82,8 +82,7 @@ r.volume input=elev_lid792_1m clump=mylake # Total Volume = 60692.49 ``` -[](r_volume_lake.png) +![r.volume lake example](r_volume_lake.png) *Figure: Water filled based shown on shaded elevation map* ### Report of geological data diff --git a/raster/r.walk/r.walk.md b/raster/r.walk/r.walk.md index c3be5f06eff..198e4a81e92 100644 --- a/raster/r.walk/r.walk.md +++ b/raster/r.walk/r.walk.md @@ -143,8 +143,7 @@ r.walk -k elevation=elev_ned_30m friction=friction output=walkcost \ r.contour walkcost output=walkcost step=1000 ``` -[](r_walk.png) +![r.walk example](r_walk.png) *Figure: Walkshed over a cost surface derived from topography and landcover* diff --git a/raster/r.watershed/front/r.watershed.md b/raster/r.watershed/front/r.watershed.md index fd898dded0e..7bbecf8b243 100644 --- a/raster/r.watershed/front/r.watershed.md +++ b/raster/r.watershed/front/r.watershed.md @@ -109,8 +109,7 @@ geographic region. Output **drainage** raster map contains drainage direction. Provides the "aspect" for each cell measured CCW from East. -[drainage](r_watershed_drainage.png) +![drainage](r_watershed_drainage.png) *Figure: Drainage is 8 directions numbered counter-clockwise starting from 1 in north-east direction ([source](https://idea.isnew.info/how-to-import-arcgis-flow-direction-into-grass-gis.html))* diff --git a/scripts/d.correlate/d.correlate.md b/scripts/d.correlate/d.correlate.md index 24382f65f5c..4af2f5187a1 100644 --- a/scripts/d.correlate/d.correlate.md +++ b/scripts/d.correlate/d.correlate.md @@ -23,9 +23,8 @@ g.region raster=lsat7_2002_30 -p d.correlate map=lsat7_2002_30,lsat7_2002_40 ``` - -Scatterplot of two LANDSAT TM7 channels +![Scatterplot of two LANDSAT TM7 channels](d_correlate_plot.png) +*Scatterplot of two LANDSAT TM7 channels* ## SEE ALSO diff --git a/scripts/d.rast.edit/d.rast.edit.md b/scripts/d.rast.edit/d.rast.edit.md index ca969864a8a..520e8f327e9 100644 --- a/scripts/d.rast.edit/d.rast.edit.md +++ b/scripts/d.rast.edit/d.rast.edit.md @@ -77,8 +77,7 @@ r.univar -g elev_lid792_1m r.univar -g elev_lid792_1m_modified ``` -[](d_rast_edit.png) +![d.rast.edit example](d_rast_edit.png) *Figure: Editing of pixels in an elevation raster map using d.rast.edit* ## TODO diff --git a/scripts/i.pansharpen/i.pansharpen.md b/scripts/i.pansharpen/i.pansharpen.md index 56bed9b98ba..c80f0d82e4a 100644 --- a/scripts/i.pansharpen/i.pansharpen.md +++ b/scripts/i.pansharpen/i.pansharpen.md @@ -181,32 +181,17 @@ d.rgb b=ihs542_blue g=ihs542_green r=ihs542_red ***Results:*** - ---- - - - - - - - - - - -
 
-R, G, B composite of Landsat at 30m
 
-R, G, B composite of Brovey sharpened image at 15m
 
-R, G, B composite of IHS sharpened image at 15m
 
-R, G, B composite of PCA sharpened image at 15m"
+![R, G, B composite of Landsat at 30m](i_pansharpen_rgb_landsat542.jpg) +*R, G, B composite of Landsat at 30m* + +![R, G, B composite of Brovey sharpened image at 15m](i_pansharpen_rgb_brovey542.jpg) +*R, G, B composite of Brovey sharpened image at 15m* + +![R, G, B composite of IHS sharpened image at 15m](i_pansharpen_rgb_ihs542.jpg) +*R, G, B composite of IHS sharpened image at 15m* + +![R, G, B composite of PCA sharpened image at 15m](i_pansharpen_rgb_pca542.jpg) +*R, G, B composite of PCA sharpened image at 15m* ## REFERENCES diff --git a/scripts/i.tasscap/i.tasscap.md b/scripts/i.tasscap/i.tasscap.md index ebf7a9682cc..75789df62c8 100644 --- a/scripts/i.tasscap/i.tasscap.md +++ b/scripts/i.tasscap/i.tasscap.md @@ -35,30 +35,17 @@ i.tasscap sensor=landsat7_etm \ Results: - ---- - - - - - - - - - - -
 
-'Brightness' Tasseled Cap component 1
 
-'Greenness' Tasseled Cap component 2
 
-'Wetness' Tasseled Cap component 3
 
-'Atmospheric haze' Tasseled Cap component 4
+![Brightness Tasseled Cap component 1](i_tasscap_brightness.jpg) +*'Brightness' Tasseled Cap component 1* + +![Greenness Tasseled Cap component 2](i_tasscap_greenness.jpg) +*'Greenness' Tasseled Cap component 2* + +![Wetness Tasseled Cap component 3](i_tasscap_wetness.jpg) +*'Wetness' Tasseled Cap component 3* + +![Atmospheric haze Tasseled Cap component 4](i_tasscap_haze.jpg) +*'Atmospheric haze' Tasseled Cap component 4* ## REFERENCES diff --git a/scripts/r.blend/r.blend.md b/scripts/r.blend/r.blend.md index 34710736dd8..3d26f000377 100644 --- a/scripts/r.blend/r.blend.md +++ b/scripts/r.blend/r.blend.md @@ -14,8 +14,7 @@ r.relief input=elevation output=relief zscale=10 r.blend -c first=elevation second=relief output=blend percent=75 ``` -[](r_blend.png) +![r.blend example](r_blend.png) *Figure: Elevation blended with shaded relief* ## SEE ALSO diff --git a/scripts/r.colors.stddev/r.colors.stddev.md b/scripts/r.colors.stddev/r.colors.stddev.md index 39a5ce89fc2..553433d2fd2 100644 --- a/scripts/r.colors.stddev/r.colors.stddev.md +++ b/scripts/r.colors.stddev/r.colors.stddev.md @@ -23,8 +23,7 @@ g.region raster=elevation -p r.colors.stddev elevation ``` -[](r_colors_stddev.png) +![r.colors.stddev example](r_colors_stddev.png) *Figure: Standard deviations from mean elevation* ## SEE ALSO diff --git a/scripts/r.drain/r.drain.md b/scripts/r.drain/r.drain.md index 3ec37f82897..13ea781ddc1 100644 --- a/scripts/r.drain/r.drain.md +++ b/scripts/r.drain/r.drain.md @@ -215,8 +215,7 @@ d.vect map=start color=none fill_color=224:0:0 icon=basic/circle size=15 legend_ d.legend.vect -b ``` -[](r_drain.png) +![drainage using r.watershed](r_drain.png) *Figure: Drainage paths from two points flowing into the points with lowest values* @@ -255,8 +254,7 @@ r.drain -d input=const1 direction=drain_deg output=drain_path_2 drain=drain_2 st We visualize the result in the same way as in the previous example. -[drainage using r.watershed](r_drain_with_r_watershed_direction.png) +![drainage using r.watershed](r_drain_with_r_watershed_direction.png) *Figure: Drainage paths from two points where directions from r.watershed were used* diff --git a/scripts/r.plane/r.plane.md b/scripts/r.plane/r.plane.md index 89fbbf5ac52..36038700fa4 100644 --- a/scripts/r.plane/r.plane.md +++ b/scripts/r.plane/r.plane.md @@ -39,8 +39,7 @@ r.plane myplane30 dip=30 az=75 east=638650.0 north=220375.0 \ elev=116.7734 type=FCELL ``` -[](r_plane_3d.png) +![r.plane example](r_plane_3d.png) *Figure: Tilted plane shown in NVIZ along with elevation map* ## AUTHORS diff --git a/scripts/v.centroids/v.centroids.md b/scripts/v.centroids/v.centroids.md index 462537c3135..e895219dcf5 100644 --- a/scripts/v.centroids/v.centroids.md +++ b/scripts/v.centroids/v.centroids.md @@ -28,8 +28,7 @@ v.type input=busroute11 output=busroute11_boundary from_type=line to_type=bounda v.centroids input=busroute11_boundary output=busroute11_area ``` -[](v_centroids.png) +![v.centroids example](v_centroids.png) *Figure: Creating area from closed line* ## SEE ALSO diff --git a/scripts/v.clip/v.clip.md b/scripts/v.clip/v.clip.md index 2debcb6127d..0f984d8da0e 100644 --- a/scripts/v.clip/v.clip.md +++ b/scripts/v.clip/v.clip.md @@ -33,8 +33,7 @@ v.extract input=boundary_county where="NAME='WAKE' OR NAME='JOHNSTON'" output=co v.clip input=railroads clip=county_WAKE_JOHNSTON output=railroads_WAKE_JOHNSTON ``` - +![v.clip example](v_clip_poly.png) *Figure: v.clip example - basic use* ### Retain boundaries of clip map @@ -55,8 +54,7 @@ v.extract input=boundary_county where="NAME='WAKE' OR NAME='JOHNSTON'" output=co v.clip -r input=hospitals output=hospitals_clip ``` - +![v.clip example](v_clip_region.png) *Figure: v.clip example - clip by computational region* ## SEE ALSO diff --git a/utils/mkdocs.py b/utils/mkdocs.py index ecbca5f4a0f..956a2bbfc5a 100644 --- a/utils/mkdocs.py +++ b/utils/mkdocs.py @@ -404,8 +404,9 @@ def get_addon_path(base_url, pgm, major_version): ] ) shutil.move(tmp_clone_path, grass_addons_dir) - except shutil.Error: - pass # Another process created it first; proceed normally + except (shutil.Error, OSError): + if not grass_addons_dir.exists(): + raise addons_file_list = popen( ["git", "ls-tree", "--name-only", "-r", addons_branch], cwd=grass_addons_dir, diff --git a/vector/v.buffer/v.buffer.md b/vector/v.buffer/v.buffer.md index 5ddbdfc4f49..10423d41382 100644 --- a/vector/v.buffer/v.buffer.md +++ b/vector/v.buffer/v.buffer.md @@ -38,12 +38,9 @@ backward compatibility and have no effect with GEOS buffering. The following vector line related corners (also called "cap") exist: -- no cap:       line buffer: no cap -- rounded cap: line buffer: rounded cap -- square cap: line buffer: square cap +- no cap:       ![line buffer: no cap](v_buffer_no_cap.png) +- rounded cap: ![line buffer: rounded cap](v_buffer_rounded_cap.png) +- square cap: ![line buffer: square cap](v_buffer_square_cap.png) By default *v.buffer* creates rounded buffers (blue color on figure below): diff --git a/vector/v.fill.holes/v.fill.holes.md b/vector/v.fill.holes/v.fill.holes.md index f23033547b4..efe2c9279fe 100644 --- a/vector/v.fill.holes/v.fill.holes.md +++ b/vector/v.fill.holes/v.fill.holes.md @@ -8,8 +8,7 @@ area while removing inner boundaries which are considered holes. The holes become part of the area which contained them. No boundaries of these holes are preserved. -[](v_fill_holes_filled.png) +![Several areas, some with holes (left) and the same areas but with holes filled (right)](v_fill_holes_filled.png) *Figure: Holes inside areas are removed. (a) Original areas with holes and (b) the same areas but with holes filled.* @@ -22,9 +21,7 @@ empty space into one by dissolving their common boundaries. This turns the empty space into a hole inside one single area which turns the situation into a case of one area with a hole. -[](v_fill_holes_filled_with_dissolve.png) +![Two areas with empty space in between (left), both areas merged (middle), and the empty space filled (right)](v_fill_holes_filled_with_dissolve.png) *Figure: Empty space in between two areas does not belong to either area, so it is filled only after the boundaries between areas are dissolved, i.e., areas merged into one. (a) Original areas with space in @@ -72,8 +69,7 @@ Remove the holes: v.fill.holes input=lakes_only output=lakes_filled ``` -[](v_fill_holes.png) +![Lake without holes overlapping with the lines marking the original](v_fill_holes.png) *Figure: The filled lake (blue) and borders of the original lakes with islands removed (light blue). Figure shows a smaller area in the north of the data extent.* diff --git a/vector/v.generalize/v.generalize.md b/vector/v.generalize/v.generalize.md index d262e85281a..074f61366fa 100644 --- a/vector/v.generalize/v.generalize.md +++ b/vector/v.generalize/v.generalize.md @@ -262,8 +262,7 @@ v.generalize input=boundary_county output=boundary_county_dp20 \ method=douglas threshold=20 error=boundary_county_dp20_leftover ``` -[v.generalize simplification example](v_generalize_simplify.png) +![v.generalize simplification example](v_generalize_simplify.png) *Figure: Vector simplification example (spatial subset: original map shown in black, simplified map with 26% remaining vertices shown in red)* @@ -278,8 +277,7 @@ v.generalize input=roads output=roads_chaiken method=chaiken \ threshold=1 error=roads_chaiken_leftover ``` -[v.generalize smoothing example](v_generalize_smooth.png) +![v.generalize smoothing example](v_generalize_smooth.png) *Figure: Vector smoothing example (spatial subset: original map shown in black, smoothed map with 500% increased number of vertices shown in red)* diff --git a/vector/v.kernel/v.kernel.md b/vector/v.kernel/v.kernel.md index aa454857037..6aa2a64488a 100644 --- a/vector/v.kernel/v.kernel.md +++ b/vector/v.kernel/v.kernel.md @@ -40,8 +40,8 @@ v.kernel input=schools_wake output=schools_density radius=5000 multiplier=100000 r.colors map=schools_density color=bcyr ``` -Density of schools -School density +![Density of schools](v_kernel.png) +*School density* ## KNOWN ISSUES diff --git a/vector/v.label.sa/v.label.sa.md b/vector/v.label.sa/v.label.sa.md index e13ebf8c2c6..e6ea719a1a4 100644 --- a/vector/v.label.sa/v.label.sa.md +++ b/vector/v.label.sa/v.label.sa.md @@ -36,7 +36,7 @@ Labeling Algorithm, Cartographica, Vol. 33, No. 4, Winter 1996, pp. ## SEE ALSO -*[d.label](v.labels.md) +*[v.label](v.label.md) [d.labels](d.labels.md) [ps.map](ps.map.md) [Wikipedia article on simulated annealing](https://en.wikipedia.org/wiki/Simulated_Annealing)* diff --git a/vector/v.net.alloc/v.net.alloc.md b/vector/v.net.alloc/v.net.alloc.md index 9ed7d53789c..82906013019 100644 --- a/vector/v.net.alloc/v.net.alloc.md +++ b/vector/v.net.alloc/v.net.alloc.md @@ -51,13 +51,11 @@ digitizer](wxGUI.vdigit.md)*. 1\. Subnetwork allocation using distance: - +![v.net.alloc example using distance](v_net_alloc.png) 2\. Subnetwork allocation using traveling time: - +![v.net.alloc example using time](v_net_alloc_time.png) Example 1: *Calculating subnets for 3 center nodes using distances* @@ -170,15 +168,13 @@ Each lane of the two-lane road is a one-way road. 1\. Subnetwork allocation from centers: - -A center reaches any point following the one-way lanes. +![v.net.alloc example from centers](v_net_alloc_from_centers.png) +*A center reaches any point following the one-way lanes.* 2\. Subnetwork allocation to centers: - -Any node reaches reaches the nearest center following the one-way lanes. +![v.net.alloc example to centers](v_net_alloc_to_centers.png) +*Any node reaches reaches the nearest center following the one-way lanes.* In case of an accident, the ambulance should come from the nearest 'from' hospital and go to the nearest 'to' hospital. diff --git a/vector/v.net.distance/v.net.distance.md b/vector/v.net.distance/v.net.distance.md index 1c3f76b91e0..94fbb4fd712 100644 --- a/vector/v.net.distance/v.net.distance.md +++ b/vector/v.net.distance/v.net.distance.md @@ -47,8 +47,7 @@ hospital and show all paths. Streets are grey lines, schools are green circles, hospitals are red crosses, shortest paths are blue lines: - +![v.net.distance example](vnetdistance.png) ```sh # connect schools to streets as layer 2 diff --git a/vector/v.net.iso/v.net.iso.md b/vector/v.net.iso/v.net.iso.md index 657c51533d2..a2224588cbe 100644 --- a/vector/v.net.iso/v.net.iso.md +++ b/vector/v.net.iso/v.net.iso.md @@ -53,13 +53,11 @@ which can be patched into with [v.net](v.net.md). Isonetwork using distance: - +![v.net.iso example with distance](vnetiso.png) Isonetwork using time: - +![v.net.iso example with traveling time](vnetisotime.png) #### Subdivision of a network using distance diff --git a/vector/v.net.path/v.net.path.md b/vector/v.net.path/v.net.path.md index f44c21fb90d..693e649f2d8 100644 --- a/vector/v.net.path/v.net.path.md +++ b/vector/v.net.path/v.net.path.md @@ -96,7 +96,7 @@ to added to the attributes table using *[v.to.db](v.to.db.md)*. Shortest (red) and fastest (blue) path between two digitized nodes (Spearfish): -v.net.path example +![v.net.path example](vnetpath.png) ```sh # Spearfish diff --git a/vector/v.net.salesman/v.net.salesman.md b/vector/v.net.salesman/v.net.salesman.md index ba5738c0d7e..afbdaa78349 100644 --- a/vector/v.net.salesman/v.net.salesman.md +++ b/vector/v.net.salesman/v.net.salesman.md @@ -40,13 +40,11 @@ Traveling salesman for 6 digitized nodes (Spearfish): Shortest path, along unimproved roads: - +![v.net.salesman example using distance](vnetsalesman.png) Fastest path, along highways: - +![v.net.salesman example using time](vnetsalesmantime.png) Searching for the shortest path using distance and the fastest path using traveling time according to the speed limits of different road diff --git a/vector/v.net.steiner/v.net.steiner.md b/vector/v.net.steiner/v.net.steiner.md index 5912d5763de..716fa76dca1 100644 --- a/vector/v.net.steiner/v.net.steiner.md +++ b/vector/v.net.steiner/v.net.steiner.md @@ -33,13 +33,11 @@ Steiner tree for 6 digitized nodes (Spearfish): Shortest path, along unimproved roads: - +![v.net.steiner example using distance](vnetsteiner.png) Fastest path, along highways: - +![v.net.steiner example using time](vnetsteinertime.png) ```sh # Spearfish diff --git a/vector/v.overlay/v.overlay.md b/vector/v.overlay/v.overlay.md index ac673147cb9..802a9433b4f 100644 --- a/vector/v.overlay/v.overlay.md +++ b/vector/v.overlay/v.overlay.md @@ -128,12 +128,10 @@ v.overlay ainput=poly1 binput=poly2 operator=not output=poly_1_2_not v.overlay ainput=poly1 binput=poly2 operator=xor output=poly_1_2_xor ``` - +![GRASS v.overlay: input polygons (1 and 2)](v_overlay_poly_1_2.png) *Figure: v.overlay operations: original input polygons* - +![GRASS v.overlay results: AND, OR, NOT, XOR operations](v_overlay_poly_1_2_a_o_n_x.png) *Figure: v.overlay results of AND, OR, NOT, XOR operations* ### Polygons overlaid with polygons @@ -181,12 +179,9 @@ b_NAME|Raleigh b_UA_TYPE|UA ``` - - - +![GRASS v.overlay: polygon to polygon union (input 1)](v_overlay_urbanarea.png) +![GRASS v.overlay: polygon to polygon union (input 2)](v_overlay_census_wake2000.png) +![GRASS v.overlay: polygon to polygon union (result)](v_overlay_urban_census2000.png) *Figure: v.overlay: Polygon union (right) of urban area (left) and Census 2000 (middle) areas (North Carolina dataset)* diff --git a/vector/v.perturb/v.perturb.md b/vector/v.perturb/v.perturb.md index e65b381f375..27b805c488d 100644 --- a/vector/v.perturb/v.perturb.md +++ b/vector/v.perturb/v.perturb.md @@ -33,8 +33,7 @@ v.perturb input=comm_colleges output=uniform_perturb parameters=100000 Your map should look similar to this figure: - +![v.perturb uniform distribution example](v_perturb_uniform.png) *Figure: Map showing the actual community college points and uniformly random chosen points.* @@ -47,8 +46,7 @@ For a normal distribution with a mean of 5000 and standard deviation of v.perturb input=comm_colleges output=normal_perturb distribution=normal parameters=5000,2000 ``` - +![v.perturb normal distribution example](v_perturb_normal.png) *Figure: Map showing the actual community college points and normally random chosen and colored points. Notice that each point is closer to the original point.* diff --git a/vector/v.random/v.random.md b/vector/v.random/v.random.md index 41b58358365..3783560808c 100644 --- a/vector/v.random/v.random.md +++ b/vector/v.random/v.random.md @@ -28,7 +28,7 @@ generated in total. Attributes attached to **restrict** vector map are also transferred if the **layer** parameter is defined \> 0, see -*[example](#stratified-random-sampling:-random-sampling-from-vector-map-by-attribute)* +*[example](#stratified-random-sampling-random-sampling-from-vector-map-by-attribute)* below. ## NOTES @@ -119,8 +119,7 @@ d.vect zipcodes_wake fcolor=yellow where="ZIPNAME = 'RALEIGH'" d.vect zipcodes_local_random_n3 color=red icon=basic/circle ``` -[v.random example](v_random_points_in_polygon.png) +![v.random example](v_random_points_in_polygon.png) *Fixed number of random points generated in selected areas* ### Generating random adjacent areas diff --git a/vector/v.surf.rst/v.surf.rst.md b/vector/v.surf.rst/v.surf.rst.md index 11867ed8dca..2732da7df3f 100644 --- a/vector/v.surf.rst/v.surf.rst.md +++ b/vector/v.surf.rst/v.surf.rst.md @@ -244,13 +244,11 @@ threads to be used with the **nprocs** parameter (default 1). Figures 1 and 2 show benchmark results running on Intel® Core™ i5-10210U CPU @ 1.60GHz × 8. See benchmark scripts in the source code for more details. - +![benchmark for v.surf.rst](vsurfrst_benchmark.png) *Figure 1: Benchmark shows execution time for different number of cells (1M, 2M, 4M, and 8M).* - +![benchmark for cross-validation of v.surf.rst](vsurfrst_cv_benchmark.png) *Figure 2: Benchmark shows execution time for running cross-validation on different number of cells (100k, 200k, 400k, and 800k).* diff --git a/vector/v.to.rast/v.to.rast.md b/vector/v.to.rast/v.to.rast.md index 15079110b2c..4a81bfbdd68 100644 --- a/vector/v.to.rast/v.to.rast.md +++ b/vector/v.to.rast/v.to.rast.md @@ -105,9 +105,8 @@ r.mapcalc "route_slope = if(busroute11, slope)" r.mapcalc "route_slope_dir = abs(atan(tan(slope) * cos(aspect - busroute11_dir)))" ``` - -Slope in degrees along bus route +![Slope along path](v_to_rast_direction.png) +*Slope in degrees along bus route* ### Convert a vector polygon map to raster including descriptive labels @@ -150,9 +149,8 @@ d.vect schools_wake d.grid 5000 ``` - -Number of schools per raster cell +![Number of schools per raster cell](v_to_rast_binning.png) +*Number of schools per raster cell* ## SEE ALSO