Skip to content
Commits on Source (9)
......@@ -890,7 +890,7 @@ EOF
echo "$UNAME_MACHINE"-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
echo x86_64-pc-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
......
......@@ -89,7 +89,7 @@ while test $# -gt 0 ; do
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help"
echo "$me: invalid option $1$help" >&2
exit 1 ;;
*local*)
......@@ -149,7 +149,7 @@ case $1 in
esac
;;
*-*)
# A lone config we happen to match not fitting any patern
# A lone config we happen to match not fitting any pattern
case $field1-$field2 in
decstation-3100)
basic_machine=mips-dec
......@@ -950,7 +950,7 @@ unset -v basic_machine
# Decode basic machines in the full and proper CPU-Company form.
case $cpu-$vendor in
# Here we handle the default manufacturer of certain CPU types in cannonical form. It is in
# Here we handle the default manufacturer of certain CPU types in canonical form. It is in
# some cases the only manufacturer, in others, it is the most popular.
craynv-unknown)
vendor=cray
......@@ -1101,7 +1101,7 @@ case $cpu-$vendor in
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
;;
# Recognize the cannonical CPU Types that limit and/or modify the
# Recognize the canonical CPU Types that limit and/or modify the
# company names they are paired with.
cr16-*)
os=${os:-elf}
......@@ -1150,7 +1150,7 @@ case $cpu-$vendor in
;;
*)
# Recognize the cannonical CPU types that are allowed with any
# Recognize the canonical CPU types that are allowed with any
# company name.
case $cpu in
1750a | 580 \
......@@ -1161,6 +1161,7 @@ case $cpu-$vendor in
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
| alphapca5[67] | alpha64pca5[67] \
| am33_2.0 \
| amdgcn \
| arc | arceb \
| arm | arm[lb]e | arme[lb] | armv* \
| avr | avr32 \
......@@ -1360,7 +1361,7 @@ case $os in
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd*)
| midnightbsd* | amdhsa*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
qnx*)
......
grass (7.4.3~rc1-1~exp1~xenial1) xenial; urgency=medium
* Rebuild for xenial.
-- Martin Landa <landa.martin@gmail.com> Sun, 25 Nov 2018 01:19:12 +0100
grass (7.4.3~rc1-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Drop libegl1-mesa-dev build dependency, issue fixed in mesa 18.2.5-2.
-- Bas Couwenberg <sebastic@debian.org> Sat, 24 Nov 2018 22:19:21 +0100
grass (7.4.2-2) unstable; urgency=medium
* Add libegl1-mesa-dev to build dependencies for KHR/khrplatform.h.
GL/glext.h from mesa-common-dev includes this header, but lacks dependency.
-- Bas Couwenberg <sebastic@debian.org> Tue, 20 Nov 2018 17:51:16 +0100
grass (7.4.2-1~xenial1) xenial; urgency=medium
* Rebuild for xenial.
-- Martin landa <landa.martin@gmail.com> Sun, 28 Oct 2018 10:04:06 +0100
-- Martin Landa <landa.martin@gmail.com> Sun, 28 Oct 2018 10:04:06 +0100
grass (7.4.2-1) unstable; urgency=medium
......
......@@ -16,11 +16,11 @@ Build-Depends: autoconf2.13,
libblas-dev,
libbz2-dev,
libcairo2-dev,
libegl1-mesa-dev,
libfftw3-dev,
libfreetype6-dev,
libgdal-dev,
libgeos-dev,
libglu1-mesa-dev,
libjpeg-dev,
liblapack-dev,
liblas-c-dev,
......
How to release GRASS GIS binaries and source code
$Date: 2018-10-14 14:46:28 +0200 (Sun, 14 Oct 2018) $
$Date: 2018-10-22 22:53:05 +0200 (Mon, 22 Oct 2018) $
Note: This text contains *some* rules only applicable to the
development coordinator (currently Markus Neteler, PSC Chair).
......@@ -110,7 +110,7 @@ svn ci -m"GRASS GIS $VERSION" include/VERSION
svn up
# Create Changelog file on release branch:
# http://ch.tudelft.nl/~arthur/svn2cl/
# https://arthurdejong.org/svn2cl/
svn2cl
mv ChangeLog ChangeLog_$VERSION
head ChangeLog_$VERSION
......@@ -210,7 +210,7 @@ vim grass-addons/tools/wingrass-packager/grass_copy_wwwroot.sh
- Set "complete" flag in https://trac.osgeo.org/grass/milestone/7.4.x --> Edit Milestone
- also: Retarget associated open tickets to milestone 7.4.x
- Batch modify tickets, set to next milestone (update this query accordingly: two entries to change)
https://trac.osgeo.org/grass/query?status=assigned&status=new&status=reopened&milestone=7.4.0&milestone=7.4.1&group=status&col=id&col=summary&col=owner&col=type&col=priority&col=component&col=version&order=priority
https://trac.osgeo.org/grass/query?status=assigned&status=new&status=reopened&milestone=7.4.0&milestone=7.4.1&milestone=7.4.2&group=status&col=id&col=summary&col=owner&col=type&col=priority&col=component&col=version&order=priority
- Set max items to 1000, then select all shown tickets via Status: assigned/new/reopened sections
- Scroll down to "Batch modify": under the "Comment" section, add Field "Milestone" and set to next version
- then use "Change ticket" button, done.
......@@ -233,7 +233,7 @@ vim grass-addons/tools/wingrass-packager/grass_copy_wwwroot.sh
- Modify grass_copy_wwwroot.sh accordingly, eg.
copy_addon 741RC1 7.4.1RC1
copy_addon 741RC1 7.4.2RC1
# Launchpad notes:
......
<h2>DESCRIPTION</h2>
<em>r.example</em> selects values from raster above value of mean plus
standard deviation
standard deviation.
See the source code for details.
<h2>NOTES</h2>
Some more detailed notes go here.
<h2>EXAMPLE</h2>
Computing the mean and standard deviation of the raster map "elevation"
(North Carolina sample dataset):
<div class="code"><pre>
g.region raster=elevation -p
r.example input=elevation output=elevation_mean_stddev
r.info elevation_mean_stddev
</pre></div>
<h2>SEE ALSO</h2>
<em>
<a href="r.univar.html">r.univar</a>,
<a href="r.mapcalc.html">r.mapcalc</a>
<a href="r.mapcalc.html">r.mapcalc</a>,
<a href="v.example.html">v.example</a>
</em>
<a href="http://grass.osgeo.org/programming7/">GRASS Programmer's Manual</a>
<h2>AUTHOR</h2>
<h2>AUTHORS</h2>
GRASS Development Team
<p><i>Last changed: $Date: 2017-11-03 18:21:39 +0100 (Fri, 03 Nov 2017) $</i>
<p><i>Last changed: $Date: 2018-11-13 17:36:50 +0100 (Tue, 13 Nov 2018) $</i>
<h2>DESCRIPTION</h2>
<em>r.example</em> does practically do nothing, except
for illustrating GRASS raster programming. It copies
for illustrating GRASS GIS raster programming. It copies
over an existing raster map to a new raster map.
See the source code for details.
<h2>NOTES</h2>
Some more detailed notes go here.
<h2>EXAMPLE</h2>
Create a copy of the raster map "elevation"
(North Carolina sample dataset):
<div class="code"><pre>
g.region raster=elevation -p
r.example input=elevation output=elevation2
r.info elevation2
</pre></div>
<h2>SEE ALSO</h2>
<em>
<a href="r.stats.html">r.stats</a>,
<a href="http://grass.osgeo.org/programming7/">GRASS Programmer's Manual</a>
<a href="v.example.html">v.example</a>
</em>
<em>
<a href="https://grass.osgeo.org/programming7/">GRASS Programmer's Manual</a>
</em>
<h2>AUTHOR</h2>
<h2>AUTHORS</h2>
GRASS Development Team
<p><i>Last changed: $Date: 2014-08-05 23:45:01 +0200 (Tue, 05 Aug 2014) $</i>
<p><i>Last changed: $Date: 2018-11-13 17:36:50 +0100 (Tue, 13 Nov 2018) $</i>
......@@ -3,21 +3,35 @@
<em>v.example</em> is an example vector module that does something like
labeling all vectors with value 1. A new map is written instead of updating
the input map.
See the source code for details.
<h2>NOTES</h2>
Some more detailed notes go here.
<h2>EXAMPLE</h2>
Label all vectors with value 1 (North Carolina sample dataset):
<div class="code"><pre>
v.example input=map output=newmap
v.example input=zipcodes_wake output=newmap
v.category newmap option=report
</pre></div>
<h2>SEE ALSO</h2>
<em>
<a href="http://grass.osgeo.org/programming7/">GRASS Programmer's Manual</a>
<a href="r.example.html">r.example</a>,
<a href="v.category.html">r.category</a>,
<a href="v.example.html">v.example</a>
</em>
<em>
<a href="https://grass.osgeo.org/programming7/">GRASS Programmer's Manual</a>
</em>
<h2>AUTHOR</h2>
<h2>AUTHORS</h2>
Radim Blazek, ITC-irst, Trento, Italy
<p><i>Last changed: $Date: 2012-07-19 18:56:09 +0200 (Thu, 19 Jul 2012) $</i>
<p><i>Last changed: $Date: 2018-11-13 17:36:50 +0100 (Tue, 13 Nov 2018) $</i>
......@@ -78,7 +78,7 @@ STDOUT = subprocess.STDOUT
raise_on_error = False # raise exception instead of calling fatal()
_capture_stderr = True # capture stderr of subprocesses if possible
_capture_stderr = False # capture stderr of subprocesses if possible
def call(*args, **kwargs):
......
......@@ -65,7 +65,8 @@ int dig_Wr_spidx_head(struct gvfile * fp, struct Plus_head *ptr)
/* use ptr->off_t_size = 4 if possible */
if (sizeof(off_t) > 4) {
size = ptr->Node_spidx->n_nodes * ptr->Node_spidx->nodesize;
size = 145; /* max header size, see below */
size += ptr->Node_spidx->n_nodes * ptr->Node_spidx->nodesize;
size += ptr->Line_spidx->n_nodes * ptr->Line_spidx->nodesize;
size += ptr->Area_spidx->n_nodes * ptr->Area_spidx->nodesize;
size += ptr->Isle_spidx->n_nodes * ptr->Isle_spidx->nodesize;
......
......@@ -84,12 +84,12 @@ struct RTree *RTreeCreateTree(int fd, off_t rootpos, int ndims)
new_rtree->free_nodes.pos = NULL;
new_rtree->rectsize = new_rtree->nsides_alloc * sizeof(RectReal);
new_rtree->nodesize = sizeof(struct RTree_Node) -
MAXCARD * sizeof(RectReal *) +
MAXCARD * new_rtree->rectsize;
new_rtree->branchsize = sizeof(struct RTree_Branch) -
sizeof(RectReal *) + new_rtree->rectsize;
sizeof(struct RTree_Rect) +
new_rtree->rectsize;
new_rtree->nodesize = sizeof(struct RTree_Node) -
sizeof(struct RTree_Branch *) +
MAXCARD * new_rtree->branchsize;
/* create empty root node */
n = RTreeAllocNode(new_rtree, 0);
......
......@@ -18,10 +18,12 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
#include <assert.h>
#include <grass/config.h>
#include <errno.h>
#include <grass/gis.h>
#include "index.h"
/* #define USAGE_SWAP */
......@@ -153,8 +155,12 @@ size_t RTreeWriteBranch(struct RTree_Branch *b, struct RTree *t)
{
size_t size = 0;
size += write(t->fd, b->rect.boundary, t->rectsize);
size += write(t->fd, &(b->child), sizeof(union RTree_Child));
if (write(t->fd, b->rect.boundary, t->rectsize) != t->rectsize)
G_fatal_error("RTreeWriteBranch(): Unable to write (%s)", strerror(errno));
size += t->rectsize;
if (write(t->fd, &(b->child), sizeof(union RTree_Child)) != sizeof(union RTree_Child))
G_fatal_error("RTreeWriteBranch(): Unable to write (%s)", strerror(errno));
size += sizeof(union RTree_Child);
return size;
}
......@@ -166,8 +172,12 @@ size_t RTreeWriteNode(struct RTree_Node *n, struct RTree *t)
size_t size = 0;
/* file position must be set first with RTreeGetFNodePos() */
size += write(t->fd, &(n->count), sizeof(int));
size += write(t->fd, &(n->level), sizeof(int));
if (write(t->fd, &(n->count), sizeof(int)) != sizeof(int))
G_fatal_error("RTreeWriteNode(): Unable to write (%s)", strerror(errno));
size += sizeof(int);
if (write(t->fd, &(n->level), sizeof(int)) != sizeof(int))
G_fatal_error("RTreeWriteNode(): Unable to write (%s)", strerror(errno));
size += sizeof(int);
for (i = 0; i < MAXCARD; i++) {
size += RTreeWriteBranch(&(n->branch[i]), t);
......
......@@ -8,8 +8,6 @@
void query_band(GDALRasterBandH hBand, const char *output,
struct Cell_head *cellhd, struct band_info *info)
{
int bGotMin, bGotMax;
info->gdal_type = GDALGetRasterDataType(hBand);
info->null_val = GDALGetRasterNoDataValue(hBand, &info->has_null);
......@@ -49,9 +47,6 @@ void query_band(GDALRasterBandH hBand, const char *output,
break;
}
info->range[0] = GDALGetRasterMinimum(hBand, &bGotMin);
info->range[1] = GDALGetRasterMaximum(hBand, &bGotMax);
if(!(bGotMin && bGotMax))
GDALComputeRasterMinMax(hBand, 0, info->range);
Rast_init_colors(&info->colors);
......
<h2>DESCRIPTION</h2>
<em>r.in.png</em> imports a PNG image as a GRASS raster map.
<em>r.in.png</em> imports a non-georeferenced Portable Network Graphics (PNG) image
as a GRASS raster map. Georeferencing .wld files are not supported, for that
<em>r.import</em> can be used.
<h2>NOTES</h2>
In order to assign georeferencing after import use <em>r.region</em>.
<h2>SEE ALSO</h2>
<em>
<a href="r.import.html">r.import</a>,
<a href="r.in.gdal.html">r.in.gdal</a>,
<a href="r.out.png.html">r.out.png</a>
<a href="r.out.png.html">r.out.png</a>,
<a href="r.region.html">r.region</a>
</em>
<h2>AUTHORS</h2>
......@@ -17,4 +24,4 @@ Alex Shevlakov<br>
Glynn Clements
<p>
<i>Last changed: $Date: 2016-01-13 10:18:55 +0100 (Wed, 13 Jan 2016) $</i>
<i>Last changed: $Date: 2018-11-05 14:29:44 +0100 (Mon, 05 Nov 2018) $</i>
<h2>DESCRIPTION</h2>
<em>r.out.png</em> exports a GRASS raster map in non-georeferenced PNG image
format, respecting the current region resolution and bounds.
<em>r.out.png</em> exports a GRASS raster map in non-georeferenced
Portable Network Graphics (PNG) image format, respecting the current
region resolution and bounds.
<p>Optionally the user can choose to export a World File to provide basic
<p>
Optionally the user can choose to export a World File (.wld) to provide basic
georeferencing support. When used with the transparency flag this can
create images useful for KML, TMS, or WMS overlays. (e.g. for use in
Google Earth or as OpenLayers tiles) If output is to stdout, the world
file will be called <tt>png_map.wld</tt>.
Google Earth or as OpenLayers tiles) If output is redirected to stdout,
the world file will be called <tt>png_map.wld</tt>.
<h2>SEE ALSO</h2>
......@@ -16,7 +18,7 @@ file will be called <tt>png_map.wld</tt>.
<a href="r.out.gdal.html">r.out.gdal</a>,
<a href="r.out.ppm.html">r.out.ppm</a>,
<a href="r.out.ascii.html">r.out.ascii</a>,
<a href="r.in.png.html">r.in.png</a>
<a href="r.import.html">r.import</a>
</em>
......@@ -25,4 +27,4 @@ file will be called <tt>png_map.wld</tt>.
Alex Shevlakov<br>
Hamish Bowman
<p><i>Last changed: $Date: 2014-11-01 20:57:37 +0100 (Sat, 01 Nov 2014) $</i>
<p><i>Last changed: $Date: 2018-11-05 14:29:44 +0100 (Mon, 05 Nov 2018) $</i>
......@@ -112,9 +112,10 @@ int main(int argc, char *argv[])
module->label = _("Creates shaded relief map from an elevation map (DEM).");
parm.elevation = G_define_standard_option(G_OPT_R_INPUT);
parm.elevation->description = _("Name of input raster (typically elevation) map");
parm.relief = G_define_standard_option(G_OPT_R_OUTPUT);
parm.relief->label = _("Name for output shaded relief map");
parm.relief->description = _("Name for output shaded relief map");
parm.altitude = G_define_option();
parm.altitude->key = "altitude";
......
<h2>DESCRIPTION</h2>
<em>r.relief</em> creates a raster shaded relief map based on
current resolution settings and on sun altitude, azimuth, and
z-exaggeration values entered by the user. If no output shademap
name is given, the new shaded relief map is named <em>&lt;input_map
&gt;.shade</em>. The map is assigned a grey-scale color table.
<em>r.relief</em> creates a raster shaded relief map based on current
resolution settings and on sun altitude, azimuth, and z-exaggeration
values entered by the user.
<p>The parameters controlling the shading are:
<ol>
<li>A raster map layer to provide elevation values for the shaded
<li>An <b>input</b> raster map to provide elevation values for the shaded
relief map. Typically, this would be a map layer of elevation;
however, any raster map layer can be named.
<li>The <b>altitude</b> of the sun in degrees above the horizon
(a value between 0 and 90 degrees).
<li>The <b>azimuth</b> of the sun in degrees to the east of north
(a value between 0 and 360 degrees; clockwise from north).
<li>The <b>azimuth</b> of the sun in degrees to the east of north (a
value between 0 and 360 degrees; clockwise from north)
<li>The scaling parameter, which compensates for a different
horizontal <b>scale</b> than vertical scale. If <b>scale</b> is a
......@@ -42,10 +40,14 @@ shaded relief map.
<h2>NOTES</h2>
To visually improve the result of shade maps from low resolution elevation
models, use <em>r.resamp.interp</em> with bilinear or bicubic method to
resample the DEM at higher resolution. <em>r.relief</em> is then
run on the resampled DEM.
To visually improve the result of shade maps from low resolution
elevation models,
use <em><a href="r.resamp.interp.html">r.resamp.interp</a></em> with
bilinear or bicubic method to resample the DEM at higher
resolution. <em>r.relief</em> is then run on the resampled DEM.
<p>
The current mask is ignored.
<h2>EXAMPLES</h2>
......@@ -67,7 +69,10 @@ r.relief input=elevation output=elevation_shade
<h3>Colorizing a shaded relief map</h3>
Color can be added later using <em><a href="r.shade.html">r.shade</a></em>:
Color can be added later
using <em><a href="r.shade.html">r.shade</a></em>
or <em><a href="d.shade.html">d.shade</a></em>:
<div class="code"><pre>
r.shade shade=elevation_shade color=elevation output=elevation_shaded
</pre></div>
......@@ -89,16 +94,17 @@ The data range of shaded relief maps usually does not permit exporting the
map to GeoTIFF format along with its associated color table due to limitations
in the GeoTIFF format.
<p>
The most simple way to export it while even reducing the file size is to
export as palette byte map. This requires a conversion done in <tt>r.mapcalc</tt>,
using the # operator to convert map category values to their grey scale
The most simple way to export it while even reducing the file size is
to export as palette byte map. This requires a conversion done
in <em><a href="r.mapcalc.html">r.mapcalc</a></em>, using the #
operator to convert map category values to their grey scale
equivalents:
<div class="code"><pre>
# using the map created above
# create new map from map category values
r.mapcalc "elevation_shade_byte = #elevation_shade"
r.mapcalc expression="elevation_shade_byte = #elevation_shade"
# verify data range
r.info elevation_shade_byte
......@@ -118,13 +124,6 @@ gdaladdo --config GDAL_CACHEMAX 2000 elevation_shade.tif 2 4 8 16
<h2>SEE ALSO</h2>
<p>
<!--
RGB version not ported to GRASS 6 (why?):
<em><a href="shade.clr.sh.html">shade.clr.sh</a></em><br>
d.shade and r.shade probably cover most of the shade.clr functionality
however, it is not possible to create shade+color map in one step
delete this note when it is solved or if it is not considered as an issue
-->
<em>
<a href="d.shade.html">d.shade</a>,
<a href="d.his.html">d.his</a>,
......@@ -142,4 +141,4 @@ Jim Westervelt, U.S. Army Construction Engineering Research Laboratory
<br>
Markus Metz: Enhanced fast C version of r.relief for GRASS GIS 7
<p><i>Last changed: $Date: 2016-05-16 12:06:50 +0200 (Mon, 16 May 2016) $</i>
<p><i>Last changed: $Date: 2018-10-26 15:33:43 +0200 (Fri, 26 Oct 2018) $</i>