[GRASS-user] displaying many thematic maps from one vector dataset
Moritz Lennert
mlennert at club.worldonline.be
Fri Apr 17 03:44:57 EDT 2009
On 16/04/09 21:54, Vishal Mehta wrote:
> Hi Moritz, all,
>
> In displaying this kind thematic vector data, how can I assign a
> transparent color to the value zero? (zero is Not the null value of the
> GRASS vector dataset)
The easiest is probably to use a where= clause such as
where="value<>0"
Moritz
>
> Thanks,
> Vishal
>
> On Wed, Apr 8, 2009 at 10:24 AM, Moritz Lennert
> <mlennert at club.worldonline.be <mailto:mlennert at club.worldonline.be>> wrote:
>
> On 08/04/09 18:48, Vishal Mehta wrote:
>
> Hi Moritz,
> Regarding legends with d.graph, these are the main issues where
> I found I needed to do too much of trial and error, some of
> which I think could probably be avoided/improved in a future
> version...
>
> 1. the legend ends up with some strange additions beyond just
> the range of data: like what are those numbers after each range
> e.g. in the example below where did | 0 and | 5 come from? It
> would be nice to not have this automatically displayed.
> 60 - 80 | 0
> 80-100 | 5
>
>
> This comes from my scientific background which says that a legend
> should include information about the frequencies of observations in
> each class. This is what these numbers show. But I agree that this
> should probably be optional.
>
>
>
> 2. there could be a flag on d.graph, which allows the output to
> have a "< minbreak" and "> maxbreak" option, so that for cases
> like the one we are discussing, the legend does not keep
> changing based on different data ranges.
>
>
> d.graph is "just" a drawing module. Any such flags will have to go
> into d.thematic.area, or a specific d.thematic.legend module, but
> yes, sounds good.
>
>
>
> 3. size and position
> Here, I wanted to get a legend file separately, and save a
> legend png. To do this I had to play with the size and other
> parameters extensively to make the symbols and associated text
> match up. It would be great to be able to do the following with
> some flags, for the case where the legend alone is displayed:
> (i) set the overall size of the display within which the legend
> will be displayed
> (ii) set the position of the legend within the display with
> options like lowerleft, upperright, center, etc
>
>
> positioning in d.graph is in percentage, so the size of the display
> should not make a difference for the relative localisation.
>
>
> (iii) set the size of the legend as a fraction/percentage of the
> display.
>
>
> Size of text is in percentage, but size of symbols aren't. But I
> guess you mean the legend as a whole. There should probably be some
> way to calculate the size of the different elements given a general
> value from the user. Again, this would have to be a parameter for
> d.thematic.*.
>
>
> (iv) make the background transparent (or not)
>
>
> At this stage the background is transparent, but I could add a flag
> to allow non-transparent (you can do it yourself by just drawing a
> white rectangle underneath).
>
>
> such that the above settings 'automatically' set up the symbol
> and corresponding text all properly lined up..
>
>
> d.graph does not have any "alignment" feature, you have to work with
> the percentage positioning, but one problem (I think) is that
> different fonts have different sizes, so a same size but different
> font will lead to different alignments.
>
>
>
> I am aware that if I was just better at this I could do it
> quickly enough..but the above functionality would make it easier
> for less-than-expert people like myself, who try to use
> open-source as much as possible despite the handicap of having
> been groomed on Windows...
>
>
> Cartography is currently one of the weak points of GRASS, although
> you can't beat it for automatic cartography as you are doing (well,
> gmt can do that, but don't know about thematic cartography in gmt).
>
> Thank you for the extensive feedback, though. I get the feeling that
> there should be some d.thematic.legend module which uses the output
> of the -l flag of d.thematic.area to then create a nice-looking legend.
>
> You might also want to have a look at ps.map which allows some more
> sophisticated cartography and offers an automatic legend.
>
> Moritz
>
>
>
>
> --
> Vishal K. Mehta, PhD
> Scientist
> Stockholm Environment Institute - US
> 133 D St Suite F
> Davis CA 95616
> www.sei-us.org <http://www.sei-us.org>
More information about the grass-user
mailing list