diff --git a/.markdownlint.yml b/.markdownlint.yml index 0529cf3720d..4f49f2a8efc 100644 --- a/.markdownlint.yml +++ b/.markdownlint.yml @@ -8,5 +8,7 @@ fix: true MD041: false # first-line-h1 # Errors from .html to .md rename (first step in HTML to Markdown conversion) -line-length: false +MD013: + code_blocks: false + tables: false # The block above this is to be eventually removed. diff --git a/db/drivers/postgres/grass-pg.md b/db/drivers/postgres/grass-pg.md index d5ac445755c..8f3e1baf67f 100644 --- a/db/drivers/postgres/grass-pg.md +++ b/db/drivers/postgres/grass-pg.md @@ -115,8 +115,7 @@ v.info -t test #### Geometry Converters -- [PostGIS with - shp2pgsql](https://postgis.net/workshops/postgis-intro/loading_data.html#loading-with-shp2pgsql): +- [PostGIS with shp2pgsql](https://postgis.net/workshops/postgis-intro/loading_data.html#loading-with-shp2pgsql): `shp2pgsql -D lakespy2 lakespy2 test > lakespy2.sql` - [e00pg](https://e00pg.sourceforge.net/): E00 to PostGIS filter, see also *[v.in.e00](v.in.e00.md)*. diff --git a/general/g.proj/g.proj.md b/general/g.proj/g.proj.md index ccdf76570e0..9c731edc67f 100644 --- a/general/g.proj/g.proj.md +++ b/general/g.proj/g.proj.md @@ -22,15 +22,15 @@ proprietary GIS. In addition, if one of the parameters *georef*, *wkt*, project, the CRS information is imported from an external source as follows: -- With **georef**=*filename* g.proj attempts to invoke GDAL and OGR in turn to read a georeferenced -file *filename*. The CRS information will be read from this file. If the -file is not georeferenced or cannot be read, XY (unprojected) will be -used. - -- When using **wkt**=*filename*, the file *filename* should contain a CRS description in WKT format with -or without line-breaks (e.g. a '.prj' file). If **-** is given for the -filename, the WKT description will be read from stdin rather than a -file. +- With **georef**=*filename* g.proj attempts to invoke GDAL and OGR in turn +to read a georeferenced file *filename*. The CRS information will be read +from this file. If the file is not georeferenced or cannot be read, +XY (unprojected) will be used. + +- When using **wkt**=*filename*, the file *filename* should contain a CRS +description in WKT format with or without line-breaks (e.g. a '.prj' file). +If **-** is given for the filename, the WKT description will be read from +stdin rather than a file. - **proj4**=*description* should be a CRS description in [PROJ](https://proj.org/) format, enclosed in quotation marks if there are any spaces. If **-** is diff --git a/general/g.region/g.region.md b/general/g.region/g.region.md index 77197920992..a27d3950d0d 100644 --- a/general/g.region/g.region.md +++ b/general/g.region/g.region.md @@ -105,10 +105,10 @@ always updated unless **-u** was specified. ### Additional parameter information -Option **zoom** shrinks current region settings to the smallest region encompassing all -non-NULL data in the named raster map layer that fall inside the user's -current region. In this way you can tightly zoom in on isolated clumps -within a bigger map. +Option **zoom** shrinks current region settings to the smallest region +encompassing all non-NULL data in the named raster map layer that fall +inside the user's current region. In this way you can tightly zoom in on +isolated clumps within a bigger map. If the user also includes the **raster** option on the command line, **zoom** will set the current region settings to the @@ -116,10 +116,10 @@ smallest region encompassing all non-NULL data in the named **zoom** map that fall inside the region stated in the cell header for the named **raster** map. -Option **align** sets the current resolution equal to that of the provided raster map, and -align the current region to a row and column edge in the named map. -Alignment only moves the existing region edges outward to the edges of -the next nearest cell in the named raster map - not to the named map's +Option **align** sets the current resolution equal to that of the provided +raster map, and align the current region to a row and column edge in the +named map. Alignment only moves the existing region edges outward to the edges +of the next nearest cell in the named raster map - not to the named map's edges. To perform the latter function, use the **raster**=*name* option. ## EXAMPLES diff --git a/imagery/i.gensig/i.gensig.md b/imagery/i.gensig/i.gensig.md index 5764537ab34..1769413669f 100644 --- a/imagery/i.gensig/i.gensig.md +++ b/imagery/i.gensig/i.gensig.md @@ -21,7 +21,8 @@ member of the imagery group. Signatures generated for one scene are suitable for classification of other scenes as long as they consist of same raster bands (semantic labels match). -Input **trainingmap** map must be prepared by the user in advance using vector or raster +Input **trainingmap** map must be prepared by the user in advance +using vector or raster digitizer. Of course other methods could be devised by the user for creating this training map - *i.gensig* makes no assumption about the origin of this map layer. It simply creates signatures for the classes @@ -41,7 +42,8 @@ select a subset of all the band files that form an image. Input **signaturefile** is the resultant signature file (containing the means and covariance matrices) for each class in the training map that is -associated with the band files in the subgroup select. Resultant singature file can be used with any other +associated with the band files in the subgroup select. +Resultant singature file can be used with any other imagery group as long as semantic labels match. ## NOTES diff --git a/imagery/i.gensigset/i.gensigset.md b/imagery/i.gensigset/i.gensigset.md index 0cf141c9d1d..afec88a4159 100644 --- a/imagery/i.gensigset/i.gensigset.md +++ b/imagery/i.gensigset/i.gensigset.md @@ -28,8 +28,8 @@ An usage example can be found in [i.smap](i.smap.md) documentation. ### Parameters -The **trainingmap** raster layer, supplied as input by the user, has some of its pixels -already classified, and the rest (probably most) of the pixels +The **trainingmap** raster layer, supplied as input by the user, has some of +its pixels already classified, and the rest (probably most) of the pixels unclassified. Classified means that the pixel has a non-zero value and unclassified means that the pixel has a zero value. @@ -47,8 +47,8 @@ Option **group** is the name of the group that contains the band files which comprise the image to be analyzed. The *[i.group](i.group.md)* command is used to construct groups of raster layers which comprise an image. -Option **subgroup** names the subgroup within the group that selects a subset of the -bands to be analyzed. The *[i.group](i.group.md)* command is also used +Option **subgroup** names the subgroup within the group that selects a subset +of the bands to be analyzed. The *[i.group](i.group.md)* command is also used to prepare this subgroup. The subgroup mechanism allows the user to select a subset of all the band files that form an image. @@ -56,7 +56,8 @@ Option **signaturefile** is the resultant signature file (containing the means a covariance matrices) for each class in the training map that is associated with the band files in the subgroup selected. -Option **maxsig** is the maximum number of sub-signatures in any class (default: 5). +Option **maxsig** is the maximum number of sub-signatures in any class +(default: 5). The spectral signatures which are produced by this program are "mixed" signatures (see [NOTES](#notes)). Each signature contains one or more diff --git a/imagery/i.maxlik/i.maxlik.md b/imagery/i.maxlik/i.maxlik.md index 9800684a9e0..6b64d8c2a5f 100644 --- a/imagery/i.maxlik/i.maxlik.md +++ b/imagery/i.maxlik/i.maxlik.md @@ -91,8 +91,10 @@ r.mapcalc "lsat7_2002_cluster_classes_filtered = \ ![Output raster map with pixels classified (10 classes)](i_maxlik_classes.png) *Output raster map with pixels classified (10 classes)* -![Output raster map with rejection probability values (pixel classification confidence levels)](i_maxlik_rejection.png) -*Output raster map with rejection probability values (pixel classification confidence levels)* +![Output raster map with rejection probability values +(pixel classification confidence levels)](i_maxlik_rejection.png) +*Output raster map with rejection probability values +(pixel classification confidence levels)* ## SEE ALSO diff --git a/imagery/i.segment/i.segment.md b/imagery/i.segment/i.segment.md index 31f628879be..a08a9044f3d 100644 --- a/imagery/i.segment/i.segment.md +++ b/imagery/i.segment/i.segment.md @@ -63,7 +63,11 @@ the distance calculation will also take into account the shape characteristics of the segments. The normal distances are then multiplied by the input radiometric weight. Next an additional contribution is added: -`(1-radioweight) * {smoothness * smoothness weight + compactness * (1-smoothness weight)}`, + +```text +(1-radioweight) * {smoothness * smoothness weight + compactness * (1-smoothness weight)} +``` + where `compactness = Perimeter Length / sqrt( Area )` and `smoothness = Perimeter Length / Bounding Box`. The perimeter length is estimated as the number of pixel sides the segment has. diff --git a/lib/init/grass.md b/lib/init/grass.md index a8ce3eddc2e..758a65bdfb3 100644 --- a/lib/init/grass.md +++ b/lib/init/grass.md @@ -243,50 +243,83 @@ HTML web browser to use for displaying help pages. The following are some examples of how you could start GRASS -**grass** Start GRASS using the default user interface. The user will be prompted to choose the appropriate project and mapset. -**grass --gui** +```sh +grass +``` + Start GRASS using the graphical user interface. The user will be prompted to choose the appropriate project and mapset. -**grass --text** +```sh +grass --gui +``` + Start GRASS using the text-based user interface. Appropriate project and mapset must be set by environmental variables (see examples below) otherwise taken from the last GRASS session. -**grass --gtext** +```sh +grass --text +``` + Start GRASS using the text-based user interface. The user will be prompted to choose the appropriate project and mapset. -**grass $HOME/grassdata/spearfish70/user1** +```sh +grass --gtext +``` + Start GRASS using the default user interface and automatically launch -into the given mapset, bypassing the mapset selection menu. +into the given mapset, bypassing the mapset selection menu: + +```sh +grass $HOME/grassdata/spearfish70/user1 +``` -**grass --gui -** Start GRASS using the graphical user interface and try to obtain the -project and mapset from environment variables. +project and mapset from environment variables: + +```sh +grass --gui - +``` -**grass -c EPSG:4326 $HOME/grassdata/myproject** Creates a new GRASS project with EPSG code 4326 (latitude-longitude, -WGS84) in the specified GISDBASE +WGS84) in the specified GISDBASE: + +```sh +grass -c EPSG:4326 $HOME/grassdata/myproject +``` -**grass -c EPSG:5514:3 $HOME/grassdata/myproject** Creates a new GRASS project with EPSG code 5514 (S-JTSK / Krovak East North - SJTSK) with datum transformation parameters used in Czech -Republic in the specified GISDBASE +Republic in the specified GISDBASE: + +```sh +grass -c EPSG:5514:3 $HOME/grassdata/myproject +``` -**grass -c XY $HOME/grassdata/gnomonic --exec g.proj -c proj4='+proj=gnom +lat_0=90 +lon_0=-50'** Creates a new GRASS project from PROJ definition string (here: [gnomonic](https://proj4.org/operations/projections/gnom.html)) in the -specified GISDBASE +specified GISDBASE: + +```sh +grass -c XY $HOME/grassdata/gnomonic --exec g.proj -c proj4='+proj=gnom +lat_0=90 +lon_0=-50' +``` + +Creates a new GRASS project based on georeferenced Shapefile: + +```sh +grass -c myvector.shp $HOME/grassdata/myproject +``` -**grass -c myvector.shp $HOME/grassdata/myproject** -Creates a new GRASS project based on georeferenced Shapefile +Creates a new GRASS project based on georeferenced GeoTIFF file: -**grass -c myraster.tif $HOME/grassdata/myproject** -Creates a new GRASS project based on georeferenced GeoTIFF file +```sh +grass -c myraster.tif $HOME/grassdata/myproject +``` ### Batch jobs with the exec interface diff --git a/ps/ps.map/ps.map.md b/ps/ps.map/ps.map.md index ce1846d7f17..402f6df2c7a 100644 --- a/ps/ps.map/ps.map.md +++ b/ps/ps.map/ps.map.md @@ -92,7 +92,10 @@ zero, the default vertical location is used. **font** *font name* The name of the PostScript font. Fonts present in all PostScript implementations are: -`Times-Roman, Times-Italic, Times-Bold, Times-BoldItalic, Helvetica, Helvetica-Oblique, Helvetica-Bold, Helvetica-BoldOblique, Courier, Courier-Oblique, Courier-Bold, and Courier-BoldOblique`. +*Times-Roman*, *Times-Italic*, *Times-Bold*, *Times-BoldItalic*, *Helvetica*, +*Helvetica-Oblique*, *Helvetica-Bold*, *Helvetica-BoldOblique*, *Courier*, +*Courier-Oblique*, *Courier-Bold*, *Courier-BoldOblique* +. The default is Helvetica. **fontsize** *font size* @@ -101,8 +104,9 @@ The size of the PostScript font (in 1/72nds of an inch). The default is **color** *name* The following colors names are accepted by *ps.map*: -` aqua, black, blue, brown, cyan, gray, grey, green, indigo, magenta, orange, purple, red, violet, white, yellow `. - +*aqua*, *black*, *blue*, *brown*, *cyan*, *gray*, *grey*, *green*, +*indigo*, *magenta*, *orange*, *purple*, *red*, *violet*, *white*, *yellow*. + For vectors and some plotting commands you can also specify '`none`' or '`R:G:B`' (e.g '`255:0:0`'). diff --git a/raster/r.cost/r.cost.md b/raster/r.cost/r.cost.md index 86a092190a1..3c6af35452b 100644 --- a/raster/r.cost/r.cost.md +++ b/raster/r.cost/r.cost.md @@ -76,7 +76,9 @@ also considered. Knight's move example: ![Flat cost surface without and with the knight's move](rcost_knightsmove.png) -*Flat cost surface without (left pane) and with the knight's move (right pane). The default is to grow the cost outwards in 8 directions. Using the knight's move grows it outwards in 16 directions.* +*Flat cost surface without (left pane) and with the knight's move (right pane). + The default is to grow the cost outwards in 8 directions. + Using the knight's move grows it outwards in 16 directions.* If the **nearest** output parameter is specified, the module will calculate for each cell its nearest starting point based on the @@ -93,7 +95,9 @@ option to help the algorithm pick a particular direction. Example for solving multiple directions: ![A field of equal cumulative costs with multiple paths](rcost_solvedir.png) -*A field of equal cumulative costs with multiple paths (black). By default a path along the edge will be selected (red). Path selection can be controlled with the solver option (blue).* +*A field of equal cumulative costs with multiple paths (black). + By default a path along the edge will be selected (red). + Path selection can be controlled with the solver option (blue).* Multiple directions can be solved as in the above example with the following steps: diff --git a/raster/r.terraflow/r.terraflow.md b/raster/r.terraflow/r.terraflow.md index 85967b3d908..ef5bbf2b7ea 100644 --- a/raster/r.terraflow/r.terraflow.md +++ b/raster/r.terraflow/r.terraflow.md @@ -165,16 +165,16 @@ r.terraflow elev=elevation.10m filled=elevation10m.filled \ ## REFERENCES -1. The [TerraFlow](http://www.cs.duke.edu/geo*/terraflow/) project at Duke University -2. [I/O-efficient algorithms for problems on grid-based - terrains](http://www.cs.duke.edu/geo*/terraflow/papers/alenex00_drainage.ps.gz). Lars Arge, Laura Toma, and Jeffrey S. Vitter. In +1. [I/O-efficient algorithms for problems on grid-based terrains](https://dl.acm.org/doi/10.1145/945394.945395). + Lars Arge, Laura Toma, and Jeffrey S. Vitter. In *Proc. Workshop on Algorithm Engineering and Experimentation*, 2000. To appear in *Journal of Experimental Algorithms*. -3. [Flow computation on massive grids](http://www.cs.duke.edu/geo*/terraflow/papers/acmgis01_terraflow.pdf). Lars - Arge, Jeffrey S. Chase, Patrick N. Halpin, Laura Toma, Jeffrey S. +2. [Flow computation on massive grids](https://dl.acm.org/doi/10.1145/512161.512180). + Lars Arge, Jeffrey S. Chase, Patrick N. Halpin, Laura Toma, Jeffrey S. Vitter, Dean Urban and Rajiv Wickremesinghe. In *Proc. ACM Symposium on Advances in Geographic Information Systems*, 2001. -4. [Flow computation on massive grid terrains](http://www.cs.duke.edu/geo*/terraflow/papers/journal_terraflow.pdf). Lars Arge, Jeffrey S. Chase, Patrick N. Halpin, Laura +3. [Flow computation on massive grid terrain datasets](https://link.springer.com/article/10.1023/A:1025526421410). + Lars Arge, Jeffrey S. Chase, Patrick N. Halpin, Laura Toma, Jeffrey S. Vitter, Dean Urban and Rajiv Wickremesinghe. In *GeoInformatica, International Journal on Advances of Computer Science for Geographic Information Systems*, 7(4):283-313, December diff --git a/scripts/r.fillnulls/r.fillnulls.md b/scripts/r.fillnulls/r.fillnulls.md index 39634edbeec..725a023a7f5 100644 --- a/scripts/r.fillnulls/r.fillnulls.md +++ b/scripts/r.fillnulls/r.fillnulls.md @@ -18,8 +18,10 @@ The width of edge area can be adjusted by changing the edge parameter. During the interpolation following warning may occur when using the RST method: -`Warning: strip exists with insufficient data` -`Warning: taking too long to find points for interpolation--please change the region to area where your points are` +```text +Warning: strip exists with insufficient data +Warning: taking too long to find points for interpolation --please change the region to area where your points are +``` This warning is generated if large data holes exist within the surface. As the idea of *r.fillnulls* is to fill such holes, the user may ignore diff --git a/scripts/v.db.reconnect.all/v.db.reconnect.all.md b/scripts/v.db.reconnect.all/v.db.reconnect.all.md index 4b810aa5e45..72de709b8d5 100644 --- a/scripts/v.db.reconnect.all/v.db.reconnect.all.md +++ b/scripts/v.db.reconnect.all/v.db.reconnect.all.md @@ -83,7 +83,7 @@ the vector maps use **-d** flag. Note that attribute tables will be deleted *permanently* from the source database. This option should be used very carefully! -### Convert GRASS 6 vector map to GRASS 7 including attribute transfer from DBF to SQLite +### Convert GRASS 6 vector map to GRASS 7 To become usable in GRASS 7, all vector maps in a mapset need to be updated: diff --git a/vector/v.clean/v.clean.md b/vector/v.clean/v.clean.md index 25dd5b39d7a..5b8b03d27c7 100644 --- a/vector/v.clean/v.clean.md +++ b/vector/v.clean/v.clean.md @@ -113,7 +113,7 @@ deleting boundaries. Threshold does not apply (it is ignored), use an arbitrary value (e.g., 0) if *v.clean* is run with several tools. -### Break (topologically clean) areas (imported from a non topological format like ShapeFile) +### Break (topologically clean) areas (imported from a non topological format) Setting *tool=bpol* breaks boundaries on each point shared between 2 and more areas where angles of boundary segments are different and on all diff --git a/vector/v.label/v.label.md b/vector/v.label/v.label.md index b99a6d20215..29cf424f408 100644 --- a/vector/v.label/v.label.md +++ b/vector/v.label/v.label.md @@ -80,8 +80,9 @@ This selects the text color. If unspecified, the label's text is drawn in *black*, by default. The text color can be specified in one of several ways: -1. By color name: - `aqua black blue brown cyan gray green grey indigo magenta orange purple red violet white yellow` +1. By color name: *aqua*, *black*, *blue*, *brown*, *cyan*, *gray*, + *green*, *grey*, *indigo*, *magenta*, *orange*, *purple*, *red*, + *violet*, *white*, *yellow* 2. As red, green, blue component values. (0-255) for example: `128:100:200` 3. Specify "`none`" to suppress the lettering. diff --git a/vector/v.qcount/v.qcount.md b/vector/v.qcount/v.qcount.md index 9f22cce137c..3d5cc3119ce 100644 --- a/vector/v.qcount/v.qcount.md +++ b/vector/v.qcount/v.qcount.md @@ -10,7 +10,9 @@ There are two types departure from a CSR: regularity and clustering. Figure 1 gives an example of a complete random, regular and a clustered pattern. -![complete spatial randomness](v_qcount_1.png) ![regularity](v_qcount_2.png) ![clustering](v_qcount_3.png) +![complete spatial randomness](v_qcount_1.png) +![regularity](v_qcount_2.png) +![clustering](v_qcount_3.png) *Figure 1: Realization of two-dimensional Poisson processes of 50 points on the unit square exhibiting (a) complete spatial randomness, (b) regularity, and (c) clustering.* diff --git a/vector/v.segment/v.segment.md b/vector/v.segment/v.segment.md index 7f4560e35c3..d6cb5b68723 100644 --- a/vector/v.segment/v.segment.md +++ b/vector/v.segment/v.segment.md @@ -164,8 +164,10 @@ d.vect map=myrailroads display=shape,dir d.vect map=myrailroads_pt10pctO500m icon=basic/circle color=red fcolor=black size=5 ``` -![A series of points, spaced every 10% of the line's length along the tracks from the end of the line up to the middle point, offset 500m to the right](v_segment_spaced_percent_points.jpg) -*A series of points, spaced every 10% of the line's length along the tracks from the end of the line up to the middle point, offset 500m to the right* +![A series of points, spaced every 10% of the line's length along the tracks +from the end of the line up to the middle point, offset 500m to the right](v_segment_spaced_percent_points.jpg) +*A series of points, spaced every 10% of the line's length along the tracks +from the end of the line up to the middle point, offset 500m to the right* ## KNOWN ISSUES diff --git a/vector/v.to.rast3/v.to.rast3.md b/vector/v.to.rast3/v.to.rast3.md index 80bfc19ee85..9eaba0779d2 100644 --- a/vector/v.to.rast3/v.to.rast3.md +++ b/vector/v.to.rast3/v.to.rast3.md @@ -11,7 +11,10 @@ location of the vector point. As 3D raster cell value the database attribute of the vector point is stored with floating point precision. ![Result of the v.to.rast3 test](v_to_rast3_test.png) -*Fig: This screenshot shows the result of the v.to.rast3 test. Visualized are the cube of the GRASS region, the vector points as black dots and the voxel cells as wireframe model. Only cells with non-null values are shown.* +*Fig: This screenshot shows the result of the v.to.rast3 test. + Visualized are the cube of the GRASS region, the vector points as black dots + and the voxel cells as wireframe model. + Only cells with non-null values are shown.* ## SEE ALSO diff --git a/vector/v.vect.stats/v.vect.stats.md b/vector/v.vect.stats/v.vect.stats.md index efec03e38a7..8dc17948f71 100644 --- a/vector/v.vect.stats/v.vect.stats.md +++ b/vector/v.vect.stats/v.vect.stats.md @@ -182,8 +182,10 @@ considered). The last command sets the vector map color table to v.colors map=hexagons use=attr column=average color=viridis ``` -![Point statistics in a hexagonal grid (count of points, average of values associated with point, standard deviation)](v_vect_stats.png) -*Point statistics in a hexagonal grid (count of points, average of values associated with point, standard deviation)* +![Point statistics in a hexagonal grid (count of points, + average of values associated with point, standard deviation)](v_vect_stats.png) +*Point statistics in a hexagonal grid (count of points, + average of values associated with point, standard deviation)* ## SEE ALSO