[GRASSLIST:9477] icons

While the icons that come with installationare functional every user wanting
anything more siphisticated has to design it themselves. So, although I am no
artist, I thought I would post these icons in the hope that someone would
find them useful. To use them copy them to
the /usr/local/grassXXXX/etc/symbol/custom directory.

(attachments)

headgear (249 Bytes)
shop (314 Bytes)
bank (274 Bytes)
shack (244 Bytes)
factory (268 Bytes)
bus (341 Bytes)
train2 (524 Bytes)
train (589 Bytes)

While the icons that come with installationare functional every user
wanting anything more siphisticated has to design it themselves. So,
although I am no artist, I thought I would post these icons in the
hope that someone would find them useful.

Hi,

I have just added a spot on the wiki for user contributed symbols to go:

http://grass.gdf-hannover.de/twiki/bin/view/GRASS/IconSymbols

Linked from the GRASS 6 add-ons page. Just make yourself a wiki account
and go for it!

To use them copy them to the /usr/local/grassXXXX/etc/symbol/custom
directory.

Maybe easier:
  $GISBASE/etc/symbol/custom/

Also as a general interest item, I found some hidden wiki-spam lurking
at the bottom of the main wiki page. Interesting as this parasite code
was designed to be non-visible to the reader.. survival tactics.

[shop text/plain (460 bytes)]
VERSION 1.0
BOX -1 -1 1 1
END
POLYGON
  RING
    LINE
...

Note the "END" is not needed after the BOX instruction. That doesn't draw
a box, it sets up the bounding box which is used for icon scaling.

Hamish

Hamish,

Thanks for doing this. I've wanted to have something like this since GRASS
5.x. It is very nice for people to be able to share these.

A thought I've had in talking with Benjamin Ducke, who is working on the
GRASS Extension Manager.

Custom extensions and icons located in the $GISBASE directory structure risk
getting overwritten, especially if you are installing binaries.

What about putting such things in a GRASS_custom directory within a user's
home directory? The location of a GRASS_custom directory could be specified
in the .grassrc6 file.

Michael
______________________________
Michael Barton, Professor of Anthropology
School of Human Evolution and Social Change
Arizona State University
Tempe, AZ 85287-2402
USA

voice: 480-965-6262; fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

From: Hamish <hamish_nospam@yahoo.com>
Date: Thu, 15 Dec 2005 21:40:44 +1300
To: <michael@quanta.org.za>
Cc: <GRASSLIST@baylor.edu>
Subject: [GRASSLIST:9492] Re: icons

While the icons that come with installationare functional every user
wanting anything more siphisticated has to design it themselves. So,
although I am no artist, I thought I would post these icons in the
hope that someone would find them useful.

Hi,

I have just added a spot on the wiki for user contributed symbols to go:

http://grass.gdf-hannover.de/twiki/bin/view/GRASS/IconSymbols

Linked from the GRASS 6 add-ons page. Just make yourself a wiki account
and go for it!

To use them copy them to the /usr/local/grassXXXX/etc/symbol/custom
directory.

Maybe easier:
  $GISBASE/etc/symbol/custom/

Also as a general interest item, I found some hidden wiki-spam lurking
at the bottom of the main wiki page. Interesting as this parasite code
was designed to be non-visible to the reader.. survival tactics.

[shop text/plain (460 bytes)]
VERSION 1.0
BOX -1 -1 1 1
END
POLYGON
  RING
    LINE
...

Note the "END" is not needed after the BOX instruction. That doesn't draw
a box, it sets up the bounding box which is used for icon scaling.

Hamish

A thought I've had in talking with Benjamin Ducke, who is working on
the GRASS Extension Manager.

Custom extensions and icons located in the $GISBASE directory
structure risk getting overwritten, especially if you are installing
binaries.

also the user may not have write permission to the $GISBASE dir.
(e.g. thin client lab install)

What about putting such things in a GRASS_custom directory within a
user's home directory? The location of a GRASS_custom directory could
be specified in the .grassrc6 file.

see lib/symbol/read.c

"S_read() searches first in mapsets (standard GRASS search) and then in
GISBASE/etc/symbol/"

So there is already some support for this.

Install custom icons qw $MAPSET/symbol/group/icon

using "icon=custom/icon@other_mapset" would work to access an icon
not in your map search path as well. (see g.mapsets)

If you want to maintain one set for different locations, you'd have to
symlink from each PERMANENT/symbol/ ...

**BUT** currently d.vect blocks using local symbols due to its
icon_files() check. I'm pretty sure ps.map is ok.

d.vect's icon_files() needs to be fixed or disabled. (creating a list of
available icons should probably be a S_() fn anyway??)

Disabling it would kill the pulldown list in the GUI (not good);
so icon_files() really needs to be fixed to scan the mapset path too.

Or listing available files could be added as a flag? d.vect is already
so complicated I don't like adding more options/flags to it. Also this
doesn't help the GUI pulldown menu.

Hamish

Hamish,

Your ideas about where to put and how to scan for icons sound good. Would it
be a good idea to scan 1) current mapset, 2) PERMANENT in the current
location, and 3) $GISBASE/etc/symbol? I can't comment on the C-code for
d.vect, but the ideas seems fine. Just having icon_files() scan the current
mapset (and maybe PERMANENT?) seems the simplest instead of adding a flag.
An additional possibility (along with scanning mapset) would be to have an
environmental variable (SYMBOL_LOCATION) for the system-wide symbol set that
would be default set to $GISBASE/etc/symbol, but could be set to another
custom location in .grassrc6 or with g.gisenv. Of course, I have no idea how
easy/difficult this all would be.

Michael
______________________________
Michael Barton, Professor of Anthropology
School of Human Evolution and Social Change
Arizona State University
Tempe, AZ 85287-2402
USA

voice: 480-965-6262; fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton

From: Hamish <hamish_nospam@yahoo.com>
Date: Mon, 19 Dec 2005 12:30:37 +1300
To: Michael Barton <michael.barton@asu.edu>
Cc: <michael@quanta.org.za>, <GRASSLIST@baylor.edu>
Subject: Re: [GRASSLIST:9547] Re: icons

A thought I've had in talking with Benjamin Ducke, who is working on
the GRASS Extension Manager.

Custom extensions and icons located in the $GISBASE directory
structure risk getting overwritten, especially if you are installing
binaries.

also the user may not have write permission to the $GISBASE dir.
(e.g. thin client lab install)

What about putting such things in a GRASS_custom directory within a
user's home directory? The location of a GRASS_custom directory could
be specified in the .grassrc6 file.

see lib/symbol/read.c

"S_read() searches first in mapsets (standard GRASS search) and then in
GISBASE/etc/symbol/"

So there is already some support for this.

Install custom icons qw $MAPSET/symbol/group/icon

using "icon=custom/icon@other_mapset" would work to access an icon
not in your map search path as well. (see g.mapsets)

If you want to maintain one set for different locations, you'd have to
symlink from each PERMANENT/symbol/ ...

**BUT** currently d.vect blocks using local symbols due to its
icon_files() check. I'm pretty sure ps.map is ok.

d.vect's icon_files() needs to be fixed or disabled. (creating a list of
available icons should probably be a S_() fn anyway??)

Disabling it would kill the pulldown list in the GUI (not good);
so icon_files() really needs to be fixed to scan the mapset path too.

Or listing available files could be added as a flag? d.vect is already
so complicated I don't like adding more options/flags to it. Also this
doesn't help the GUI pulldown menu.

Hamish