On Aug 24, 2010, at 3:34 AM, grass-user-request@lists.osgeo.org wrote:
Date: Mon, 23 Aug 2010 17:20:19 -0700 (PDT)
From: Hamish <hamish_b@yahoo.com>
Subject: Re: [GRASS-user] BAnk and ditch symbols in grass (or other
Open Source GIS)
To: grass-user@lists.osgeo.org, Dr Tim Southern
<tim.southern@talktalk.net>
Message-ID: <573534.70593.qm@web110016.mail.gq1.yahoo.com>
Content-Type: text/plain; charset=iso-8859-1
Tim wrote:
I am an archaeologist mainly working within woodlands and
need to be be able to display in grass of similar GIS the
location of woodland banks and their associated
ditches.? There is a standard set of symbols for this
any online link to an image of what they look like?
but is there a way of actually getting GRASS or other GIS to
implement these.
line styles are more tricky, but I would not say impossible.
If not has anyone any ideas on how to write the appropriate
code or adapt other code to do it.? My initial thoughts
were to digitize the location of the features to a vector
map.?
e.g. the fish on the above wiki page was "digitized" from the
QGIS .svg symbol in Inkscape, then a little B?zier curve math
to make the x,y points, http://grass.osgeo.org/wiki/Symb-fish
the "classic" model for this is the CERL castle graphic for
d.graph (see d.graph/grass_logo.txt in the source code),
initially drawn on graph paper and then transfered.
As a vector it has direction and therefore if a
standard was adopted say for example if a ditch existed it
was on the rhs of the vector and the dashes marking the bank
could then be placed on the lhs.
grass vector lines have direction, so setting them as true-left
and right bank can be easily done. (see `d.vect display=dir`)
Eventually the information about the profile of the bank
and ditch needs to be analyzed statistically so having the
information within a data base makes good sense.
should be pretty easy if lines were as a vector map. a number
of tools exist for it.
regards,
Hamish
I wonder if an enterprising programmer could start with the d.rast.arrow code and use it to allow different symbols than arrows?
I wonder if an enterprising programmer could start with the
d.rast.arrow code and use it to allow different symbols than
arrows?
FYI I am already well underway on that, have half-written a new
module called d.barb. Primarily for drawing wind barbs on met
maps, but also allows things like straws instead of arrows.
input is either from a raster map array like d.rast.arrow, or
a vector map with direction and magnitude taken from the points'
attribute table.
It seems question at hand is how to add variable length+density
hatch lines on vector lines. I imagine this could be possible for
PostScript for ps.map, but probably not for GRASS 6.x display
drivers (I recall that even dashed lines had to be reverted in
the past there).
Michael
______________________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University
Tempe, AZ 85287-2402
USA
I wonder if an enterprising programmer could start with the
d.rast.arrow code and use it to allow different symbols than
arrows?
FYI I am already well underway on that, have half-written a new
module called d.barb. Primarily for drawing wind barbs on met
maps, but also allows things like straws instead of arrows.
input is either from a raster map array like d.rast.arrow, or
a vector map with direction and magnitude taken from the points'
attribute table.
It seems question at hand is how to add variable length+density
hatch lines on vector lines. I imagine this could be possible for
PostScript for ps.map, but probably not for GRASS 6.x display
drivers (I recall that even dashed lines had to be reverted in
the past there).
Michael wrote:
> I wonder if an enterprising programmer could start with the
> d.rast.arrow code and use it to allow different symbols than
> arrows?
FYI I am already well underway on that, have half-written a new
module called d.barb. Primarily for drawing wind barbs on met
maps, but also allows things like straws instead of arrows.
input is either from a raster map array like d.rast.arrow, or
a vector map with direction and magnitude taken from the points'
attribute table.
(I should mention that I've been "well underway" on that for more than
a year, it's been stalled while I waited for a job to come up that needed
it so I could justify my time. I hesitated to put it into addons svn
as it is still pre-alpha, but if anyone wants to collaborate on it I'm
happy to put it up there)
as for the hatched lines for banks and depressions, continuing on with the
idea of using 'v.split length=' in a loop with length taken from each line
segment's attribute table to set the density, then 'v.to.points -v' to pull
out the vertices, then something to upload the tangent slope of the line
at each vertex to that point's attribute table, then using 'd.vect size_column= rotate_column=' to render a symbol (centered at 0,0) at 90+20
degrees to the line, of the appropriate length (negative length could be
right side of line instead of left, copy idea for that from v.lrs.segment?).
and so for different line segments you get different hatching styles.
not really automatic, but enough for a prototype or one-off proof of
concept before getting into it with a full module.
Sounds like good ideas when you get a chance to move ahead with them. Maybe someone will be able to help you on this.
Michael
On Aug 24, 2010, at 7:14 PM, Hamish wrote:
Michael wrote:
I wonder if an enterprising programmer could start with the
d.rast.arrow code and use it to allow different symbols than
arrows?
FYI I am already well underway on that, have half-written a new
module called d.barb. Primarily for drawing wind barbs on met
maps, but also allows things like straws instead of arrows.
input is either from a raster map array like d.rast.arrow, or
a vector map with direction and magnitude taken from the points'
attribute table.
(I should mention that I've been "well underway" on that for more than
a year, it's been stalled while I waited for a job to come up that needed
it so I could justify my time. I hesitated to put it into addons svn
as it is still pre-alpha, but if anyone wants to collaborate on it I'm
happy to put it up there)
as for the hatched lines for banks and depressions, continuing on with the
idea of using 'v.split length=' in a loop with length taken from each line
segment's attribute table to set the density, then 'v.to.points -v' to pull
out the vertices, then something to upload the tangent slope of the line
at each vertex to that point's attribute table, then using 'd.vect size_column= rotate_column=' to render a symbol (centered at 0,0) at 90+20
degrees to the line, of the appropriate length (negative length could be
right side of line instead of left, copy idea for that from v.lrs.segment?).
and so for different line segments you get different hatching styles.
not really automatic, but enough for a prototype or one-off proof of
concept before getting into it with a full module.