From svn_grass at osgeo.org Sat Oct 1 10:15:30 2016 From: svn_grass at osgeo.org (svn_grass at osgeo.org) Date: Sat, 1 Oct 2016 10:15:30 -0700 Subject: [GRASS-SVN] r69616 - in grass-addons/grass7: imagery/i.fusion.hpf imagery/i.image.bathymetry misc/m.printws raster/r.area raster/r.object.geometry vector/v.civil vector/v.strds.stats Message-ID: <20161001171530.99DF03901D3@trac.osgeo.org> Author: neteler Date: 2016-10-01 10:15:30 -0700 (Sat, 01 Oct 2016) New Revision: 69616 Modified: grass-addons/grass7/imagery/i.fusion.hpf/Makefile grass-addons/grass7/imagery/i.image.bathymetry/Makefile grass-addons/grass7/imagery/i.image.bathymetry/i.image.bathymetry.html grass-addons/grass7/imagery/i.image.bathymetry/i.image.bathymetry.py grass-addons/grass7/misc/m.printws/Makefile grass-addons/grass7/misc/m.printws/m.printws.html grass-addons/grass7/misc/m.printws/m.printws.py grass-addons/grass7/raster/r.area/main.c grass-addons/grass7/raster/r.object.geometry/Makefile grass-addons/grass7/raster/r.object.geometry/r.object.geometry.html grass-addons/grass7/vector/v.civil/road_crosstools.py grass-addons/grass7/vector/v.civil/road_topotools.py grass-addons/grass7/vector/v.civil/v.civil.html grass-addons/grass7/vector/v.civil/v.civil.py grass-addons/grass7/vector/v.strds.stats/Makefile grass-addons/grass7/vector/v.strds.stats/v.strds.stats.html grass-addons/grass7/vector/v.strds.stats/v.strds.stats.py Log: r.area addon: msg fix; svn propset on various files Property changes on: grass-addons/grass7/imagery/i.fusion.hpf/Makefile ___________________________________________________________________ Added: svn:eol-style + native Property changes on: grass-addons/grass7/imagery/i.image.bathymetry/Makefile ___________________________________________________________________ Deleted: svn:executable - * Added: svn:mime-type + text/x-makefile Added: svn:eol-style + native Property changes on: grass-addons/grass7/imagery/i.image.bathymetry/i.image.bathymetry.html ___________________________________________________________________ Deleted: svn:executable - * Added: svn:mime-type + text/html Added: svn:keywords + Author Date Id Added: svn:eol-style + native Property changes on: grass-addons/grass7/imagery/i.image.bathymetry/i.image.bathymetry.py ___________________________________________________________________ Added: svn:mime-type + text/x-python Added: svn:eol-style + native Property changes on: grass-addons/grass7/misc/m.printws/Makefile ___________________________________________________________________ Added: svn:mime-type + text/x-makefile Added: svn:eol-style + native Property changes on: grass-addons/grass7/misc/m.printws/m.printws.html ___________________________________________________________________ Added: svn:mime-type + text/html Added: svn:keywords + Author Date Id Added: svn:eol-style + native Property changes on: grass-addons/grass7/misc/m.printws/m.printws.py ___________________________________________________________________ Added: svn:mime-type + text/x-python Added: svn:eol-style + native Modified: grass-addons/grass7/raster/r.area/main.c =================================================================== --- grass-addons/grass7/raster/r.area/main.c 2016-09-30 21:35:10 UTC (rev 69615) +++ grass-addons/grass7/raster/r.area/main.c 2016-10-01 17:15:30 UTC (rev 69616) @@ -53,7 +53,7 @@ _("Calculates area of clumped areas and remove areas smaller than given threshold."); input = G_define_standard_option(G_OPT_R_INPUT); - input->description = _("Map created with r.clump"); + input->description = _("Name of cell category map, e.g., maps created with r.clump"); output = G_define_standard_option(G_OPT_R_OUTPUT); output->description = _("Map with area size (in cells)"); Property changes on: grass-addons/grass7/raster/r.object.geometry/Makefile ___________________________________________________________________ Added: svn:mime-type + text/x-makefile Added: svn:eol-style + native Modified: grass-addons/grass7/raster/r.object.geometry/r.object.geometry.html =================================================================== --- grass-addons/grass7/raster/r.object.geometry/r.object.geometry.html 2016-09-30 21:35:10 UTC (rev 69615) +++ grass-addons/grass7/raster/r.object.geometry/r.object.geometry.html 2016-10-01 17:15:30 UTC (rev 69616) @@ -53,4 +53,4 @@ Markus Metz (diagonal clump tracing)
-Last changed: $Date: 2016-05-31 00:01:21 +0200 (Tue, 31 May 2016) $ +Last changed: $Date$ Property changes on: grass-addons/grass7/raster/r.object.geometry/r.object.geometry.html ___________________________________________________________________ Added: svn:mime-type + text/html Added: svn:keywords + Author Date Id Added: svn:eol-style + native Property changes on: grass-addons/grass7/vector/v.civil/road_crosstools.py ___________________________________________________________________ Added: svn:mime-type + text/x-python Added: svn:eol-style + native Property changes on: grass-addons/grass7/vector/v.civil/road_topotools.py ___________________________________________________________________ Added: svn:mime-type + text/x-python Added: svn:eol-style + native Property changes on: grass-addons/grass7/vector/v.civil/v.civil.html ___________________________________________________________________ Added: svn:mime-type + text/html Added: svn:keywords + Author Date Id Added: svn:eol-style + native Property changes on: grass-addons/grass7/vector/v.civil/v.civil.py ___________________________________________________________________ Added: svn:mime-type + text/x-python Added: svn:eol-style + native Property changes on: grass-addons/grass7/vector/v.strds.stats/Makefile ___________________________________________________________________ Added: svn:mime-type + text/x-makefile Added: svn:eol-style + native Modified: grass-addons/grass7/vector/v.strds.stats/v.strds.stats.html =================================================================== --- grass-addons/grass7/vector/v.strds.stats/v.strds.stats.html 2016-09-30 21:35:10 UTC (rev 69615) +++ grass-addons/grass7/vector/v.strds.stats/v.strds.stats.html 2016-10-01 17:15:30 UTC (rev 69616) @@ -24,4 +24,4 @@ Luca Delucchi, Fondazione Edmund Mach
-Last changed: $Date: 2014-03-27 17:21:58 +0100 (Thu, 27 Mar 2014) $
+Last changed: $Date$
Property changes on: grass-addons/grass7/vector/v.strds.stats/v.strds.stats.html
___________________________________________________________________
Added: svn:mime-type
+ text/html
Added: svn:keywords
+ Author Date Id
Added: svn:eol-style
+ native
Property changes on: grass-addons/grass7/vector/v.strds.stats/v.strds.stats.py
___________________________________________________________________
Added: svn:mime-type
+ text/x-python
Added: svn:eol-style
+ native
From svn_grass at osgeo.org Sat Oct 1 10:50:07 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sat, 1 Oct 2016 10:50:07 -0700
Subject: [GRASS-SVN] r69617 - in
grass/branches/releasebranch_7_2/lib/python/script: . testsuite
Message-ID: <20161001175007.2B9F23901D3@trac.osgeo.org>
Author: wenzeslaus
Date: 2016-10-01 10:50:06 -0700 (Sat, 01 Oct 2016)
New Revision: 69617
Modified:
grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_start_command_functions.py
grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_utils.py
grass/branches/releasebranch_7_2/lib/python/script/utils.py
Log:
pythonlib: use isinstance to distinguish string types (meant to fix r65787, needed for r65804 according to #3171)
Modified: grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_start_command_functions.py
===================================================================
--- grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_start_command_functions.py 2016-10-01 17:15:30 UTC (rev 69616)
+++ grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_start_command_functions.py 2016-10-01 17:50:06 UTC (rev 69617)
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+# the utf-8 is important because we do use the characters
"""Tests of start_command function family (location independent)"""
from grass.gunittest.case import TestCase
@@ -3,5 +5,5 @@
from grass.gunittest.main import test
-from grass.script.core import start_command, PIPE
+from grass.script.core import start_command, PIPE, run_command
@@ -38,5 +40,28 @@
self.assertEquals(returncode, 1)
self.assertIn(b'raster', stderr)
+
+class TestPythonModuleWithUnicodeParameters(TestCase):
+ """Tests if unicode works in parameters of Python modules
+
+ This in fact tests also the `parser()` function (original motivation
+ for this tests).
+
+ Using g.search.module because it takes any option values.
+ """
+
+ def test_python_module_ascii(self):
+ """This tests if Python module works"""
+ run_command('g.search.modules', keyword=b'Priserny kun')
+
+ def test_python_module_czech_nonascii(self):
+ """This likely fails on non-UTF-8 systems (i.e. MS Win)"""
+ run_command('g.search.modules', keyword=b'Příšerný kůň')
+
+ def test_python_module_czech_unicode(self):
+ """This likely fails on non-UTF-8 systems (i.e. MS Win)"""
+ run_command('g.search.modules', keyword=u'Příšerný kůň')
+
+
if __name__ == '__main__':
test()
Modified: grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_utils.py
===================================================================
--- grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_utils.py 2016-10-01 17:15:30 UTC (rev 69616)
+++ grass/branches/releasebranch_7_2/lib/python/script/testsuite/test_utils.py 2016-10-01 17:50:06 UTC (rev 69617)
@@ -39,7 +39,11 @@
def test_unicode(self):
self.assertEqual(b'text', utils.encode(u'text'))
+ def test_bytes_grabage_in_out(self):
+ """If the input is bytes we should not touch it for encoding"""
+ self.assertEqual(b'Příšerný kůň', utils.encode(b'Příšerný kůň'))
+
class TestDecode(TestCase):
"""Tests function `encode` that convert value to unicode."""
Modified: grass/branches/releasebranch_7_2/lib/python/script/utils.py
===================================================================
--- grass/branches/releasebranch_7_2/lib/python/script/utils.py 2016-10-01 17:15:30 UTC (rev 69616)
+++ grass/branches/releasebranch_7_2/lib/python/script/utils.py 2016-10-01 17:50:06 UTC (rev 69617)
@@ -150,26 +150,31 @@
self[key] = value
-def decode(bytes):
- """Decode bytes with default locale
+def decode(bytes_):
+ """Decode bytes with default locale and return (unicode) string
- :param bytes bytes: the bytes to decode
+ No-op if parameter is not bytes (assumed unicode string).
+
+ :param bytes bytes_: the bytes to decode
"""
- enc = locale.getdefaultlocale()[1]
- if hasattr(bytes, 'decode'):
- return bytes.decode(enc) if enc else bytes.decode()
- return bytes
+ if isinstance(bytes_, bytes):
+ enc = locale.getdefaultlocale()[1]
+ return bytes_.decode(enc) if enc else bytes_.decode()
+ return bytes_
def encode(string):
- """Encode string with default locale -> bytes
+ """Encode string with default locale and return bytes with that encoding
+ No-op if parameter is bytes (assumed already encoded).
+ This ensures garbage in, garbage out.
+
:param str string: the string to encode
"""
+ if isinstance(string, bytes):
+ return string
enc = locale.getdefaultlocale()[1]
- if hasattr(string, 'encode'):
- return string.encode(enc) if enc else string.encode()
- return string
+ return string.encode(enc) if enc else string.encode()
def parse_key_val(s, sep='=', dflt=None, val_type=None, vsep=None):
From svn_grass at osgeo.org Sat Oct 1 11:10:29 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sat, 1 Oct 2016 11:10:29 -0700
Subject: [GRASS-SVN] r69618 - grass-addons/grass7/vector/v.surf.icw
Message-ID: <20161001181029.8FEC83901D3@trac.osgeo.org>
Author: annakrat
Date: 2016-10-01 11:10:29 -0700 (Sat, 01 Oct 2016)
New Revision: 69618
Modified:
grass-addons/grass7/vector/v.surf.icw/v.surf.icw.py
Log:
v.surf.icw: write temporary maps into file instead of passing through command line (by mlennert), see #2574
Modified: grass-addons/grass7/vector/v.surf.icw/v.surf.icw.py
===================================================================
--- grass-addons/grass7/vector/v.surf.icw/v.surf.icw.py 2016-10-01 17:50:06 UTC (rev 69617)
+++ grass-addons/grass7/vector/v.surf.icw/v.surf.icw.py 2016-10-01 18:10:29 UTC (rev 69618)
@@ -126,12 +126,14 @@
import grass.script as grass
from grass.exceptions import CalledModuleError
+TMP_FILE = None
def cleanup():
grass.verbose(_("Cleanup.."))
tmp_base = 'tmp_icw_' + str(os.getpid()) + '_'
grass.run_command('g.remove', flags = 'f', type = 'raster', pattern = tmp_base + '*',
quiet = True)
+ grass.try_remove(TMP_FILE)
def main():
@@ -381,14 +383,19 @@
grass.message(_("Summation of cost weights ..."))
input_maps = tmp_base + '1by_cost_site_sq.%05d' % 1
- for i in range(2, n+1):
- input_maps += ',%s1by_cost_site_sq.%05d' % (tmp_base, i)
+
+ global TMP_FILE
+ TMP_FILE = grass.tempfile()
+ with open(TMP_FILE, 'w') as maplist:
+ for i in range(2, n+1):
+ mapname = '%s1by_cost_site_sq.%05d' % (tmp_base, i)
+ maplist.write(mapname + '\n')
#grass.run_command('g.list', type = 'raster', mapset = '.')
sum_of_1by_cost_sqs = tmp_base + 'sum_of_1by_cost_sqs'
try:
- grass.run_command('r.series', method='sum', input=input_maps,
+ grass.run_command('r.series', method='sum', file=TMP_FILE,
output=sum_of_1by_cost_sqs)
except CalledModuleError:
grass.fatal(_('Problem running %s') % 'r.series')
From svn_grass at osgeo.org Sat Oct 1 12:51:11 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sat, 1 Oct 2016 12:51:11 -0700
Subject: [GRASS-SVN] r69619 - grass/trunk/display/d.barscale
Message-ID: <20161001195111.BB62D3903BE@trac.osgeo.org>
Author: annakrat
Date: 2016-10-01 12:51:11 -0700 (Sat, 01 Oct 2016)
New Revision: 69619
Modified:
grass/trunk/display/d.barscale/draw_scale.c
grass/trunk/display/d.barscale/main.c
grass/trunk/display/d.barscale/options.h
Log:
d.barscale: improve layout, use variables instead of magick numbers, add width_scale variable to scale barscale for different resolutions
Modified: grass/trunk/display/d.barscale/draw_scale.c
===================================================================
--- grass/trunk/display/d.barscale/draw_scale.c 2016-10-01 18:10:29 UTC (rev 69618)
+++ grass/trunk/display/d.barscale/draw_scale.c 2016-10-01 19:51:11 UTC (rev 69619)
@@ -63,7 +63,7 @@
};
int draw_scale(double east, double north, int length, int seg, int units,
- char *label_cstm, int style, int text_posn, double fontsize)
+ char *label_cstm, int style, int text_posn, double width_scale, double fontsize)
{
double meters;
double line_len;
@@ -82,6 +82,8 @@
double symbol_size;
char *label;
double size;
+ double xspace_bf_N, x_pos_start, xspace_around_line, xsize_N;
+ double ysize, ysize_solid, ysize_checker, ysize_ticks;
/* Establish text size */
@@ -133,70 +135,68 @@
D_setup_unity(0);
+ /* setup size variables */
+ xspace_bf_N = 5 * width_scale;
+ xspace_around_line = 10 * width_scale;
+ xsize_N = 10 * width_scale;
+ x_pos_start = x_pos + (north_arrow ? (xspace_bf_N + xsize_N + xspace_around_line) : xspace_around_line);
+ ysize = 30 * width_scale;
+ ysize_solid = 8 * width_scale;
+ ysize_checker = 6 * width_scale;
+ ysize_ticks = 20 * width_scale; /* the length of the edge tick */
+
if (do_background) {
/* Blank out area with background color */
D_get_text_box(label, &tt, &tb, &tl, &tr);
-
+ pl = x_pos + 0;
+ pr = x_pos + line_len + 2 * xspace_around_line +
+ (north_arrow ? xspace_bf_N + xsize_N : 0);
if (text_posn == TEXT_OVER) {
- pr = x_pos + 35 + line_len;
- pl = x_pos + 0;
- pt = y_pos + tb - 5;
- pb = y_pos + 30;
- if (style != STYLE_CLASSIC_BAR && style != STYLE_THIN_WITH_ENDS)
- pl += 15;
+ pt = y_pos + tb - 5 * width_scale;
+ pb = y_pos + ysize;
if (style == STYLE_TICKS_DOWN)
- pb += 12;
+ pb += 12 * width_scale;
}
if (text_posn == TEXT_UNDER) {
- pr = x_pos + 35 + line_len;
- pl = x_pos + 0;
pt = y_pos + 0;
- pb = y_pos + 30 - tb + 5;
- if (style != STYLE_CLASSIC_BAR && style != STYLE_THIN_WITH_ENDS)
- pl += 15;
+ pb = y_pos + ysize - tb + 5 * width_scale;
if (style == STYLE_TICKS_UP)
- pt -= 12;
+ pt -= 12 * width_scale;
}
else if (text_posn == TEXT_RIGHT) {
- pr = x_pos + 35 + line_len + tr + 5;
- pl = x_pos + 0;
+ pr = pr + tr + xspace_around_line;
pt = y_pos + 0;
- pb = y_pos + 30;
+ pb = y_pos + ysize;
if (style == STYLE_TICKS_UP) {
- pt -= 12;
- pb -= 6;
- pl += 15;
+ pt -= 12 * width_scale;
+ pb -= 6 * width_scale;
}
if (style == STYLE_TICKS_DOWN) {
- pt += 4;
- pb += 12;
- pl += 15;
+ pt += 4 * width_scale;
+ pb += 12 * width_scale;
}
}
else if (text_posn == TEXT_LEFT) {
- pr = x_pos + 35 + line_len;
- pl = x_pos - tr - 13;
+ pl = x_pos - tr - 13 * width_scale;
pt = y_pos + 0;
- pb = y_pos + 30;
+ pb = y_pos + ysize;
if (style == STYLE_TICKS_UP) {
- pt -= 12;
- pb -= 4;
+ pt -= 12 * width_scale;
+ pb -= 4 * width_scale;
}
if (style == STYLE_TICKS_DOWN) {
- pt += 3;
- pb += 11;
+ pt += 3 * width_scale;
+ pb += 11 * width_scale;
}
}
if (fontsize < 0) { /* no text */
+ pl = x_pos + 0;
+ pr = x_pos + line_len + 2 * xspace_around_line +
+ (north_arrow ? xspace_bf_N + xsize_N : 0);
switch (style) {
case STYLE_CLASSIC_BAR:
case STYLE_THIN_WITH_ENDS:
- pr = x_pos + 35 + line_len;
- pl = x_pos + 0;
- pt = y_pos + 0;
- pb = y_pos + 30;
- break;
case STYLE_PART_CHECKER:
case STYLE_FULL_CHECKER:
case STYLE_MIXED_CHECKER:
@@ -205,22 +205,16 @@
case STYLE_HOLLOW_BAR:
case STYLE_TICKS_BOTH:
case STYLE_ARROW_ENDS:
- pr = x_pos + 35 + line_len;
- pl = x_pos + 15;
pt = y_pos + 0;
- pb = y_pos + 30;
+ pb = y_pos + ysize;
break;
case STYLE_TICKS_UP:
- pr = x_pos + 35 + line_len;
- pl = x_pos + 15;
- pt = y_pos - 12;
- pb = y_pos + 25;
+ pt = y_pos - 12 * width_scale;
+ pb = y_pos + 25 * width_scale;
break;
case STYLE_TICKS_DOWN:
- pr = x_pos + 35 + line_len;
- pl = x_pos + 15;
- pt = y_pos + 3;
- pb = y_pos + 40;
+ pt = y_pos + 3 * width_scale;
+ pb = y_pos + 40 * width_scale;
break;
default:
G_fatal_error(_("Programmer error"));
@@ -236,7 +230,6 @@
pl = l;
if (pr > r)
pr = r;
-
D_use_color(bg_color);
D_box_abs(pl, pt, pr, pb);
}
@@ -245,16 +238,16 @@
D_use_color(fg_color);
if (north_arrow) {
D_begin();
- D_move_abs(x_pos + 5, y_pos + 20);
- D_cont_rel(0, -10);
- D_cont_rel(10, 10);
- D_cont_rel(0, -10);
- D_move_rel(-5, 14);
- D_cont_rel(0, -17);
- D_cont_rel(-2.5, -0);
- D_cont_rel(2.5, -4);
- D_cont_rel(2.5, 4);
- D_cont_rel(-2.5, -0);
+ D_move_abs(x_pos + xspace_bf_N, y_pos + 2 * ysize / 3);
+ D_cont_rel(0, -10 * width_scale);
+ D_cont_rel(10 * width_scale, 10 * width_scale);
+ D_cont_rel(0, -10 * width_scale);
+ D_move_rel(-5 * width_scale, 14 * width_scale);
+ D_cont_rel(0, -17 * width_scale);
+ D_cont_rel(-2.5 * width_scale, -0);
+ D_cont_rel(2.5 * width_scale, -4 * width_scale);
+ D_cont_rel(2.5 * width_scale, 4 * width_scale);
+ D_cont_rel(-2.5 * width_scale, -0);
D_close();
D_end();
D_stroke();
@@ -264,87 +257,87 @@
and (x_pos + 25 + line_len, y_pos + 15) */
if (style == STYLE_CLASSIC_BAR) {
D_begin();
- D_move_abs(x_pos + 25, y_pos + 17);
- /* actual width is line_len-1+1=line_len and height is 4+1=5 */
+ D_move_abs(x_pos_start, y_pos + ysize / 2 + ysize_checker / 2);
+ /* actual width is line_len-1+1=line_len */
D_cont_rel(line_len - 1, 0);
- D_cont_rel(0, -4);
+ D_cont_rel(0, -ysize_checker);
D_cont_rel(-line_len + 1, 0);
- D_cont_rel(0, 4);
+ D_cont_rel(0, ysize_checker);
D_end();
D_close();
D_stroke();
for (i = 1; i <= seg; i += 2) {
/* width is seg_len and height is 5 */
- D_box_rel(seg_len, -4);
+ D_box_rel(seg_len, -ysize_checker);
D_pos_rel(seg_len * 2, 0);
}
}
else if (style == STYLE_THIN_WITH_ENDS) {
/* draw simple line scale */
D_begin();
- D_move_abs(x_pos + 25, y_pos + 5);
- D_cont_abs(x_pos + 25, y_pos + 25);
- D_move_abs(x_pos + 25, y_pos + 15);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
- D_move_abs(x_pos + 25 + line_len, y_pos + 5);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 25);
+ D_move_abs(x_pos_start, y_pos + (ysize - ysize_ticks) / 2);
+ D_cont_abs(x_pos_start, y_pos + ysize - (ysize - ysize_ticks) / 2);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
+ D_move_abs(x_pos_start + line_len, y_pos + (ysize - ysize_ticks) / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize - (ysize - ysize_ticks) / 2);
D_close();
D_end(); /* no-op? */
}
else if (style == STYLE_SOLID_BAR) {
/* draw simple solid-bar scale */
xarr[0] = 0;
- yarr[0] = +8;
+ yarr[0] = ysize_solid;
xarr[1] = line_len;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = -8;
+ yarr[2] = -ysize_solid;
xarr[3] = -line_len;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = +8;
+ yarr[4] = ysize_solid;
- D_move_abs(x_pos + 25, y_pos + 15 - 4);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 - ysize_solid / 2);
D_polygon_rel(xarr, yarr, 5);
}
else if (style == STYLE_HOLLOW_BAR) {
/* draw hollow-bar scale */
D_use_color(fg_color);
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15 - 4);
- D_cont_rel(0, +8);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 - ysize_solid / 2);
+ D_cont_rel(0, ysize_solid);
D_cont_rel(line_len, 0);
- D_cont_rel(0, -8);
+ D_cont_rel(0, -ysize_solid);
D_cont_rel(-line_len, 0);
- D_cont_rel(0, +8);
+ D_cont_rel(0, ysize_solid);
D_close();
D_end(); /* no-op? */
}
else if (style == STYLE_FULL_CHECKER) {
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15 + 6);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 + ysize_checker);
/* actual width is line_len-1+1=line_len and height is 7+1=8 */
D_cont_rel(line_len, 0);
- D_cont_rel(0, -12);
+ D_cont_rel(0, -2 * ysize_checker);
D_cont_rel(-line_len, 0);
- D_cont_rel(0, +12);
+ D_cont_rel(0, +2 * ysize_checker);
D_close();
D_end(); /* no-op? */
D_stroke();
- D_pos_rel(0, -6);
+ D_pos_rel(0, -ysize_checker);
for (i = 1; i <= seg; i++) {
xarr[0] = 0;
yarr[0] = 0;
xarr[1] = seg_len;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = (i % 2 ? -6 : 6);
+ yarr[2] = (i % 2 ? -ysize_checker : ysize_checker);
xarr[3] = -seg_len;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = (i % 2 ? 6 : -6);
+ yarr[4] = (i % 2 ? ysize_checker : -ysize_checker);
/* width is seg_len and height is 6 */
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len, 0);
@@ -352,17 +345,17 @@
}
else if (style == STYLE_PART_CHECKER) {
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15 + 6);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 + ysize_checker);
/* actual width is line_len-1+1=line_len and height is 7+1=8 */
D_cont_rel(line_len, 0);
- D_cont_rel(0, -12);
+ D_cont_rel(0, -2 * ysize_checker);
D_cont_rel(-line_len, 0);
- D_cont_rel(0, +12);
+ D_cont_rel(0, +2 * ysize_checker);
D_close();
D_end(); /* no-op? */
D_stroke();
- D_pos_rel(0, -6);
+ D_pos_rel(0, -ysize_checker);
for (i = 1; i <= seg; i++) {
if (i <= (seg == 5 ? 2 : 4)) {
xarr[0] = 0;
@@ -370,11 +363,11 @@
xarr[1] = seg_len / 2.;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = -6;
+ yarr[2] = -ysize_checker;
xarr[3] = -seg_len / 2.;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = 6;
+ yarr[4] = ysize_checker;
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len / 2., 0);
@@ -383,11 +376,11 @@
xarr[1] = seg_len / 2.;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = 6;
+ yarr[2] = ysize_checker;
xarr[3] = -seg_len / 2.;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = -6;
+ yarr[4] = -ysize_checker;
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len / 2., 0);
}
@@ -397,11 +390,11 @@
xarr[1] = seg_len;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = (i % 2 ? -6 : 6);
+ yarr[2] = (i % 2 ? -ysize_checker : ysize_checker);
xarr[3] = -seg_len;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = (i % 2 ? 6 : -6);
+ yarr[4] = (i % 2 ? ysize_checker : -ysize_checker);
/* width is seg_len and height is 6 */
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len, 0);
@@ -410,21 +403,21 @@
}
else if (style == STYLE_MIXED_CHECKER) {
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15 + 6);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 + ysize_checker);
/* actual width is line_len-1+1=line_len and height is 7+1=8 */
D_cont_rel(line_len, 0);
- D_cont_rel(0, -12);
+ D_cont_rel(0, -2 * ysize_checker);
D_cont_rel(-line_len, 0);
- D_cont_rel(0, +12);
+ D_cont_rel(0, +2 * ysize_checker);
/* horizontal line across the middle to separate white from white */
- D_move_abs(x_pos + 25, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
D_cont_rel(line_len, 0);
D_end(); /* no-op? */
D_close();
D_stroke();
- D_move_abs(x_pos + 25, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
for (i = 1; i <= seg; i++) {
if (i <= (seg == 5 ? 2 : 6)) {
@@ -434,11 +427,11 @@
xarr[1] = seg_len;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = -6;
+ yarr[2] = -ysize_checker;
xarr[3] = -seg_len;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = +6;
+ yarr[4] = +ysize_checker;
D_polygon_rel(xarr, yarr, 5);
}
@@ -447,11 +440,11 @@
xarr[1] = seg_len / 2.;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = +6;
+ yarr[2] = +ysize_checker;
xarr[3] = -seg_len / 2.;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = -6;
+ yarr[4] = -ysize_checker;
D_pos_rel(seg_len / 2., 0);
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len / 2., 0);
@@ -462,30 +455,30 @@
xarr[1] = seg_len;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = (i % 2 ? 6 : +6);
+ yarr[2] = (i % 2 ? ysize_checker : +ysize_checker);
xarr[3] = -seg_len;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = (i % 2 ? -6 : 6);
+ yarr[4] = (i % 2 ? -ysize_checker : ysize_checker);
/* width is seg_len and height is 6 */
D_polygon_rel(xarr, yarr, 5);
- D_pos_rel(seg_len, -6);
+ D_pos_rel(seg_len, -ysize_checker);
}
}
}
else if (style == STYLE_TAIL_CHECKER) {
/* first draw outside box */
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15 + 6);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 + ysize_checker);
D_cont_rel(line_len, 0);
- D_cont_rel(0, -12);
+ D_cont_rel(0, -2 * ysize_checker);
D_cont_rel(-line_len, 0);
- D_cont_rel(0, +12);
+ D_cont_rel(0, +2 * ysize_checker);
D_close();
D_end(); /* no-op? */
D_stroke();
- D_pos_rel(0, -6);
+ D_pos_rel(0, -ysize_checker);
for (i = 1; i <= (seg == 5 ? 3 : 5); i++) {
/* width is seg_len and height is 6 */
xarr[0] = 0;
@@ -493,23 +486,23 @@
xarr[1] = seg_len;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = (i % 2 ? -6 : 6);
+ yarr[2] = (i % 2 ? -ysize_checker : ysize_checker);
xarr[3] = -seg_len;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = (i % 2 ? 6 : -6);
+ yarr[4] = (i % 2 ? ysize_checker : -ysize_checker);
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len, 0);
}
/* draw a vertical cross line */
D_begin();
- D_move_rel(0, 6);
- D_cont_rel(0, -12);
+ D_move_rel(0, ysize_checker);
+ D_cont_rel(0, -2 * ysize_checker);
D_close();
D_end(); /* no-op? */
D_stroke();
- D_pos_rel(0, 6);
+ D_pos_rel(0, ysize_checker);
xarr[0] = 0;
yarr[0] = 0;
xarr[1] = line_len / 2.;
@@ -517,49 +510,49 @@
xarr[1] -= seg_len / 2.;
yarr[1] = 0;
xarr[2] = 0;
- yarr[2] = 6;
+ yarr[2] = ysize_checker;
xarr[3] = -line_len / 2.;
if (seg == 5)
xarr[3] += seg_len / 2.;
yarr[3] = 0;
xarr[4] = 0;
- yarr[4] = -6;
+ yarr[4] = -ysize_checker;
D_polygon_rel(xarr, yarr, 5);
D_pos_rel(seg_len, 0);
}
else if (style == STYLE_TICKS_BOTH) {
/* draw simple line scale with corssing ticks */
D_begin();
- D_move_abs(x_pos + 25, y_pos + 5);
- D_cont_abs(x_pos + 25, y_pos + 25);
- D_move_abs(x_pos + 25, y_pos + 15);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
- D_move_abs(x_pos + 25 + line_len, y_pos + 5);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 25);
+ D_move_abs(x_pos_start, y_pos + (ysize - ysize_ticks) / 2);
+ D_cont_abs(x_pos_start, y_pos + ysize - (ysize - ysize_ticks) / 2);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
+ D_move_abs(x_pos_start + line_len, y_pos + (ysize - ysize_ticks) / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize - (ysize - ysize_ticks) / 2);
- D_move_abs(x_pos + 25, y_pos + 15);
- D_move_rel(0, +6);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
+ D_move_rel(0, ysize_ticks / 4);
for (i = 0; i <= seg - 2; i++) {
D_move_rel(seg_len, 0);
- D_cont_rel(0, -11); /* 5 above, on px on line, and 5 below */
- D_move_rel(0, +11);
+ D_cont_rel(0, -ysize_ticks/2); /* 5 above, on px on line, and 5 below */
+ D_move_rel(0, +ysize_ticks/2);
}
D_end(); /* no-op? */
}
else if (style == STYLE_TICKS_UP) {
/* draw simple line scale with up facing ticks */
D_begin();
- D_move_abs(x_pos + 25, y_pos - 2);
- D_cont_abs(x_pos + 25, y_pos + 15);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
- D_move_abs(x_pos + 25 + line_len, y_pos - 2);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos - 2 * width_scale);
+ D_cont_abs(x_pos_start, y_pos + ysize / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
+ D_move_abs(x_pos_start + line_len,y_pos - 2 * width_scale);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
- D_move_abs(x_pos + 25, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
for (i = 0; i <= seg - 2; i++) {
D_move_rel(seg_len, 0);
- D_cont_rel(0, -7); /* 5 above, on px on line, and 5 below */
- D_move_rel(0, +7);
+ D_cont_rel(0, -ysize_ticks/2); /* 5 above, on px on line, and 5 below */
+ D_move_rel(0, +ysize_ticks/2);
}
D_end(); /* no-op? */
D_close();
@@ -567,17 +560,17 @@
else if (style == STYLE_TICKS_DOWN) {
/* draw simple line scale with down facing ticks */
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15 + 17);
- D_cont_abs(x_pos + 25, y_pos + 15);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
- D_move_abs(x_pos + 25 + line_len, y_pos + 15 + 17);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos + ysize / 2 + 17 * width_scale);
+ D_cont_abs(x_pos_start, y_pos + ysize / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
+ D_move_abs(x_pos_start + line_len, y_pos + ysize / 2 + 17 * width_scale);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
- D_move_abs(x_pos + 25, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
for (i = 0; i <= seg - 2; i++) {
D_move_rel(seg_len, 0);
- D_cont_rel(0, +7); /* 5 above, on px on line, and 5 below */
- D_move_rel(0, -7);
+ D_cont_rel(0, +ysize_ticks/2); /* 5 above, on px on line, and 5 below */
+ D_move_rel(0, -ysize_ticks/2);
}
D_end(); /* no-op? */
D_close();
@@ -585,8 +578,8 @@
else if (style == STYLE_ARROW_ENDS) {
/* draw line scale with |<--dimension arrows-->| on the ends */
D_begin();
- D_cont_abs(x_pos + 25, y_pos + 15);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
+ D_cont_abs(x_pos_start, y_pos + ysize / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
D_end();
/* display the symbol */
@@ -609,10 +602,10 @@
fill_color->b = (unsigned char)B;
fill_color->a = RGBA_COLOR_OPAQUE;
- symbol_size = 12;
+ symbol_size = 12 * width_scale;
- x0 = D_d_to_u_col(x_pos + 25);
- y0 = D_d_to_u_row(y_pos + 15);
+ x0 = D_d_to_u_col(x_pos_start);
+ y0 = D_d_to_u_row(y_pos + ysize / 2);
Symb = S_read("extra/dim_arrow");
if (!Symb)
G_fatal_error(_("Could not read symbol \"%s\""),
@@ -621,8 +614,8 @@
D_symbol(Symb, x0, y0, line_color, fill_color);
G_free(Symb);
- x0 = D_d_to_u_col(x_pos + line_len + 25);
- y0 = D_d_to_u_row(y_pos + 15);
+ x0 = D_d_to_u_col(line_len + x_pos_start);
+ y0 = D_d_to_u_row(y_pos + ysize / 2);
Symb = S_read("extra/dim_arrow");
S_stroke(Symb, symbol_size, 180., 0);
D_symbol(Symb, x0, y0, line_color, fill_color);
@@ -633,8 +626,8 @@
/* draw simple line between the two ends */
D_begin();
- D_move_abs(x_pos + 25, y_pos + 15);
- D_cont_abs(x_pos + 25 + line_len, y_pos + 15);
+ D_move_abs(x_pos_start, y_pos + ysize / 2);
+ D_cont_abs(x_pos_start + line_len, y_pos + ysize / 2);
D_end(); /* no-op? */
}
D_stroke();
@@ -648,34 +641,38 @@
D_get_text_box(label, &tt, &tb, &tl, &tr);
if (text_posn == TEXT_OVER) {
- D_pos_abs(x_pos + 25 + line_len / 2.
- - strlen(label) * fontsize * 0.81 / 2, y_pos);
+ D_pos_abs(x_pos + line_len/2 + xspace_around_line +
+ (north_arrow ? xspace_bf_N + xsize_N : 0) - (tr - tl) / 2,
+ y_pos);
D_text(label);
}
else if (text_posn == TEXT_UNDER) {
- D_pos_abs(x_pos + 25 + line_len / 2.
- - strlen(label) * fontsize * 0.81 / 2, y_pos + 43);
+ D_pos_abs(x_pos + line_len/2 + xspace_around_line +
+ (north_arrow ? xspace_bf_N + xsize_N : 0) - (tr - tl) / 2,
+ y_pos + 40 * width_scale);
D_text(label);
}
else if (text_posn == TEXT_RIGHT) {
if (style == STYLE_TICKS_UP)
- y_pos -= 8;
+ y_pos -= 8 * width_scale;
else if (style == STYLE_TICKS_DOWN)
- y_pos += 9;
+ y_pos += 9 * width_scale;
- D_pos_abs(x_pos + 35 + line_len, y_pos + 20);
+ D_pos_abs(x_pos + line_len + 2 * xspace_around_line +
+ (north_arrow ? xspace_bf_N + xsize_N : 0),
+ y_pos + ysize / 2 + (tt - tb) /2);
D_text(label);
}
else if (text_posn == TEXT_LEFT) {
if (style == STYLE_TICKS_UP)
- y_pos -= 8;
+ y_pos -= 8 * width_scale;
else if (style == STYLE_TICKS_DOWN)
- y_pos += 9;
+ y_pos += 9 * width_scale;
if (style == STYLE_CLASSIC_BAR || style == STYLE_THIN_WITH_ENDS)
- x_pos -= 13;
+ x_pos -= 13 * width_scale;
- D_pos_abs(x_pos + 5 - (tr - tl), y_pos + 20);
+ D_pos_abs(x_pos + 5 - (tr - tl), y_pos + ysize / 2 + (tt - tb) /2);
D_text(label);
}
Modified: grass/trunk/display/d.barscale/main.c
===================================================================
--- grass/trunk/display/d.barscale/main.c 2016-10-01 18:10:29 UTC (rev 69618)
+++ grass/trunk/display/d.barscale/main.c 2016-10-01 19:51:11 UTC (rev 69619)
@@ -12,8 +12,9 @@
* Glynn Clements
-Sample data such as the "Spearfish" or the "North Carolina" sample datasets
-may be downloaded from
-http://grass.osgeo.org/download/data.php
-and the compressed data package(s) extracted into this new database directory.
+Sample data such as the "North Carolina" or the
+"Spearfish" sample datasets may be downloaded from
+http://grass.osgeo.org/download/sample-data/
+and the compressed data package(s) extracted into this new database
+directory.
Now you are ready to select a sample dataset in the GRASS GIS startup screen
(see above) and start the session.
-
-Hint: You can create new location easily from a georeferenced data file.
+Hint: You can create new LOCATION easily from a georeferenced data file
+(e.g., SHAPE file or GeoTIFF file with the related metadata properly included).
In this case you are asked whether the data itself should be imported
-into the new location. The default region is then set to match imported map
+into the new LOCATION. The default region is then set to match imported map
and the GRASS GIS session is opened.
-After defining new location, wxGUI starts automatically.
+After defining new LOCATION, wxGUI starts automatically.
If data were already imported, you can add them into the Layer Manager now
-and display them. If your location is empty you can import your data from
+and display them. If your LOCATION is empty you can import your data from
the menu: Go to "File" -> "Import raster/vector data" (see also the
related Wiki page on Importing data).
@@ -183,6 +185,6 @@
Last changed: $Date$
GRASS GIS 6 Reference Manual Help Index
- © 2005-2012 GRASS Development Team
+ © 1999-2016 GRASS Development Team
EXAMPLE
+
+The following can be executed in Bash to create the input data for this
+example. The user can just create these files in a text editor, save
+them and specify path to them.
+
+
+cat > x.txt <<EOF
+1
+3
+4
+6
+9
+EOF
+cat > y1.txt <<EOF
+50
+58
+65
+34
+27
+EOF
+cat > y2.txt <<EOF
+10
+20
+35
+50
+45
+EOF
+
+d.mon start=cairo output=plot.png width=400 height=400
+d.linegraph x_file=x.txt y_file=y1.txt,y2.txt
+d.mon stop=cairo
+
SEE ALSO
d.frame,
From svn_grass at osgeo.org Sun Oct 2 06:11:07 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sun, 2 Oct 2016 06:11:07 -0700
Subject: [GRASS-SVN] r69623 - grass/trunk/lib/init
Message-ID: <20161002131107.135253903BE@trac.osgeo.org>
Author: neteler
Date: 2016-10-02 06:11:06 -0700 (Sun, 02 Oct 2016)
New Revision: 69623
Modified:
grass/trunk/lib/init/helptext.html
Log:
helptext: PERMANENT is a mapset, not a location (found by veroandreo)
Modified: grass/trunk/lib/init/helptext.html
===================================================================
--- grass/trunk/lib/init/helptext.html 2016-10-01 21:01:59 UTC (rev 69622)
+++ grass/trunk/lib/init/helptext.html 2016-10-02 13:11:06 UTC (rev 69623)
@@ -96,8 +96,8 @@
found in another MAPSET of the same LOCATION in the
g.mapsets documentation.
-The role of the "PERMANENT" LOCATION
-When creating a new LOCATION, GRASS automatically creates a special
+The role of the "PERMANENT" MAPSET
+When creating a new LOCATION, GRASS GIS automatically creates a special
MAPSET called PERMANENT where the core data for the project can be
stored. Data in the PERMANENT MAPSET can only be added, modified or
removed by the owner of the PERMANENT MAPSET; however, they can be
From svn_grass at osgeo.org Sun Oct 2 06:11:41 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sun, 2 Oct 2016 06:11:41 -0700
Subject: [GRASS-SVN] r69624 - grass/branches/releasebranch_7_2/lib/init
Message-ID: <20161002131141.B11403903BE@trac.osgeo.org>
Author: neteler
Date: 2016-10-02 06:11:41 -0700 (Sun, 02 Oct 2016)
New Revision: 69624
Modified:
grass/branches/releasebranch_7_2/lib/init/helptext.html
Log:
helptext: PERMANENT is a mapset, not a location (found by veroandreo)
Modified: grass/branches/releasebranch_7_2/lib/init/helptext.html
===================================================================
--- grass/branches/releasebranch_7_2/lib/init/helptext.html 2016-10-02 13:11:06 UTC (rev 69623)
+++ grass/branches/releasebranch_7_2/lib/init/helptext.html 2016-10-02 13:11:41 UTC (rev 69624)
@@ -96,8 +96,8 @@
found in another MAPSET of the same LOCATION in the
g.mapsets documentation.
-The role of the "PERMANENT" LOCATION
-When creating a new LOCATION, GRASS automatically creates a special
+The role of the "PERMANENT" MAPSET
+When creating a new LOCATION, GRASS GIS automatically creates a special
MAPSET called PERMANENT where the core data for the project can be
stored. Data in the PERMANENT MAPSET can only be added, modified or
removed by the owner of the PERMANENT MAPSET; however, they can be
From svn_grass at osgeo.org Sun Oct 2 06:12:29 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sun, 2 Oct 2016 06:12:29 -0700
Subject: [GRASS-SVN] r69625 - grass/branches/releasebranch_7_0/lib/init
Message-ID: <20161002131229.D3C443903BE@trac.osgeo.org>
Author: neteler
Date: 2016-10-02 06:12:29 -0700 (Sun, 02 Oct 2016)
New Revision: 69625
Modified:
grass/branches/releasebranch_7_0/lib/init/helptext.html
Log:
helptext: PERMANENT is a mapset, not a location (found by veroandreo)
Modified: grass/branches/releasebranch_7_0/lib/init/helptext.html
===================================================================
--- grass/branches/releasebranch_7_0/lib/init/helptext.html 2016-10-02 13:11:41 UTC (rev 69624)
+++ grass/branches/releasebranch_7_0/lib/init/helptext.html 2016-10-02 13:12:29 UTC (rev 69625)
@@ -96,8 +96,8 @@
found in another MAPSET of the same LOCATION in the
g.mapsets documentation.
-The role of the "PERMANENT" LOCATION
-When creating a new LOCATION, GRASS automatically creates a special
+The role of the "PERMANENT" MAPSET
+When creating a new LOCATION, GRASS GIS automatically creates a special
MAPSET called PERMANENT where the core data for the project can be
stored. Data in the PERMANENT MAPSET can only be added, modified or
removed by the owner of the PERMANENT MAPSET; however, they can be
From svn_grass at osgeo.org Sun Oct 2 06:19:05 2016
From: svn_grass at osgeo.org (svn_grass at osgeo.org)
Date: Sun, 2 Oct 2016 06:19:05 -0700
Subject: [GRASS-SVN] r69626 - grass/branches/releasebranch_6_4/lib/init
Message-ID: <20161002131906.0B4B03903BE@trac.osgeo.org>
Author: neteler
Date: 2016-10-02 06:19:05 -0700 (Sun, 02 Oct 2016)
New Revision: 69626
Modified:
grass/branches/releasebranch_6_4/lib/init/helptext.html
Log:
G6 helptext: minor fixes (for online manual, no more G6 releases planned
Modified: grass/branches/releasebranch_6_4/lib/init/helptext.html
===================================================================
--- grass/branches/releasebranch_6_4/lib/init/helptext.html 2016-10-02 13:12:29 UTC (rev 69625)
+++ grass/branches/releasebranch_6_4/lib/init/helptext.html 2016-10-02 13:19:05 UTC (rev 69626)
@@ -89,7 +89,7 @@
- Fig. 1: GRASS GIS location structure
+ Fig. 1: GRASS GIS 6 location structure
Creating and maintaining MAPSETs
@@ -97,8 +97,8 @@
related to project issues or subregions. Another motivation is to
support simultaneous access of several users to the map layers
stored within the same LOCATION, i.e. teams working on the same
-project. For teams a centralized GRASS DATABASE would be defined
-in a network file system (e.g. NFS). Besides access to his/her own
+project. For teams, a centralized GRASS DATABASE would be defined
+in a shared network file system (e.g. NFS). Besides access to his/her own
MAPSET, each user can also read map layers in other users' MAPSETs,
but s/he can modify or remove only the map layers in his/her own
MAPSET.
@@ -107,8 +107,8 @@
found in another MAPSET of the same LOCATION in the
g.mapsets documentation.
-The role of the "PERMANENT" LOCATION
-When creating a new LOCATION, GRASS automatically creates a special
+The role of the "PERMANENT" MAPSET
+When creating a new LOCATION, GRASS GIS automatically creates a special
MAPSET called PERMANENT where the core data for the project can be
stored. Data in the PERMANENT MAPSET can only be added, modified or
removed by the owner of the PERMANENT MAPSET; however, they can be
@@ -119,7 +119,7 @@
To manipulate or add data to PERMANENT, the owner would start
GRASS and choose the relevant LOCATION and the PERMANENT MAPSET. This
mapset also contains the DEFAULT_WIND file, which holds the default
-region boundary coordinate values for the location (which all users
+region boundary coordinate values for the LOCATION (which all users
will inherit when they start using the database). Additionally, in
all mapsets a WIND file is kept, for storing the current boundary
coordinate values and the currently selected raster resolution. Users
@@ -138,32 +138,34 @@
4. Creating A New Location with the Location Wizard
+4. Creating a New Location with the Location Wizard
The wxGUI graphical user interface provides a
-graphical "Location Wizard" which let's you easily create a
+graphical "Location Wizard" which lets you easily create a
new LOCATION for own data. You will be guided through a series of dialogues to
browse and select predefined projections (also via EPSG code) or to
define individual projections. The rules to define the resolution as
described above also apply here.