[GRASS-user] Multiple to one question
Adam Dershowitz, Ph.D., P.E.
adershowitz at exponent.com
Thu Apr 16 00:29:09 EDT 2009
On Apr 15, 2009, at 4:29 PM, Moritz Lennert wrote:
> On 16/04/09 01:00, Adam Dershowitz, Ph.D., P.E. wrote:
>> This is somewhat a followup to my prior post and somewhat a new,
>> but related problem.
>> I ended up doing what I had proposed, which is I have a table that
>> has each sample value and location:
>> Location Value cat
>> a 3.1 1
>> b 2.1 2
>> a 1.1 3
>> c 4.1 4
>> etc.
>> Then I have linked each vector point to multiple categories by using
>> v.edit map=foo layer=1 where="cat==1" type=point tool=catadd cat=3
>> (for example) So then I have an vector point that has a cat of
>> both 1 and 3. So far so good.
>> If I then try to display Label vectors using Value for the
>> attribute, it works fine. Each value is displayed separated by a
>> slash "/".
>> The problem is if I try to use a SQL query, it is not working as
>> expected. I think that what it is doing is just applying the test
>> to the first value, then showing or hiding the other values based
>> on that first test (although I am not 100% sure that is what it is
>> doing).
>> So, for example, if I were to do Use SQL query: Value > 2.0 it
>> would draw a label like this: 3.1/1.1 And if I were to use a
>> query of Value < 2.0 it would not display anything. What I want it
>> to do is to show all values that are actually greater than 2. and
>> not to display the others.
>> Any suggestions of what it is doing, or what I can do about it?
>
> Create a view in your database containing the results of your query,
> including cat values, and link your map to that view, instead of the
> table. If you want to change the content, just drop the view and
> recreate it with a different query. You can do all this either
> directly in sqlite, or via the db.execute GRASS module.
>
> Moritz
I really liked the suggestion, so I tried it....but it doesn't work.
To continue my simple example, I did create view less2 cat,Value from
data where Value < 2;
So I end up with a view, as expected.
The problem is that if I now link my map to that view, I get an
error: No attribute found for cat 1 (since the object still tries to
link to 1). And, the same for 2 and 4. And, I still see the points
and slashes (ie it still draws point a and puts a null value then a
slash then 1.1.
So is there a way to have it not draw a symbol and not draw "null
text" when it can't find an attribute? Since, the whole point of what
I am trying to do in this case is to eliminate certain data with a
query?
Thanks,
--Adam
More information about the grass-user
mailing list