#1606: WXGUI regression - attribute query tool reports "nothing found" when
clicking on a vector object
-------------------------+--------------------------------------------------
Reporter: marisn | Owner: grass-dev@…
Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: wxGUI | Version: 6.4.2
Keywords: | Platform: Unspecified
Cpu: Unspecified |
-------------------------+--------------------------------------------------
Steps to reproduce:
* add a vector map with objects on layers 1 and 2
* set layer and category parameters in d.vect to ensure that displayed
objects have CATs
* click on any object => "Nothing found" is reported.
Perform same steps in 6.4.0 and it gives object information:
{{{
East: 604649.560021
North: 6391439.273022
Map: celi_un_pilsetas
Mapset: PERMANENT
Type: Point
Id: 18730
Layer: 2
Category: 8
}}}
Setting this issue as a blocker, as:
* it's a regression
* it prevents users from reading object CAT values required for an input
in v.net.* modules
* it breaks workflow descriptions that where made for 6.4.0/1 releases.
Just tested with 6.4.3RC2 on Windows and issue still is present. When I
display objects from layer 2, I still get "nothing found". Still it might
be related to #1605
Sorry if I misunderstood the problem but I have just tested it (Linux,
Windows) and I get right results. I created new vector in digitizer
without db connection and created two areas, one (centroid) with layer 1
and cat 1 and second in layer 2 with cat 1. Querying outputs expected
results.
Module v.what used for queries does not know anything about d.vect options
layer and cats. Maybe there should be some connection but this is a
different problem.
Replying to [comment:6 annakrat]:
> Sorry if I misunderstood the problem but I have just tested it (Linux,
Windows) and I get right results. I created new vector in digitizer
without db connection and created two areas, one (centroid) with layer 1
and cat 1 and second in layer 2 with cat 1. Querying outputs expected
results.
>
> Module v.what used for queries does not know anything about d.vect
options layer and cats. Maybe there should be some connection but this is
a different problem.
Just retested with 18 feb. 6.4.3 SVN build for Windows. Bug is still
present.
Here are exact steps to reproduce in Spearfish:
{{{
v.net input=roads@PERMANENT points=archsites@PERMANENT
output=roads_to_archsites operation=connect thresh=1000
}}}
Use WXGUI to query attribute data of any of archsites in
roads_to_archsites map. It is required as v.net.* modules need CATs for
start/end nodes.
Sorry about that d.vect reference, as I was falsely assuming that GUI is
querying only on displayed level.
PS. Helmut - You are right. There is no problem with v.what as it works as
expected. The problem is in WXGUI.
The problem is that one layer is connected to database and one is not. So
we can test if this situation happens and then redirect the v.what output
to the gui command console instead of showing the vector feature attribute
dialog (the same as when you query more vector maps at once). There is no
consistent behaviour at all but at least you don't loose any data.
Or we can backport new querying from grass 7 (with the new dialog) which
should work more consistently. This is maybe too much new but it was
tested on all platforms successfully.
Replying to [comment:9 annakrat]:
> The problem is that one layer is connected to database and one is not.
So we can test if this situation happens and then redirect the v.what
output to the gui command console instead of showing the vector feature
attribute dialog (the same as when you query more vector maps at once).
There is no consistent behaviour at all but at least you don't loose any
data.
>
> Or we can backport new querying from grass 7 (with the new dialog) which
should work more consistently. This is maybe too much new but it was
tested on all platforms successfully.
>
> Anna
I would vote for redirecting plain, old v.what output. It's better to have
all data than consistent way. I would also say -1 for backporting, as
GRASS 7 differs from 6 and thus some rarely used combination might crop up
just after release as there might be not enough time to test all aspects
(like d.vect default layer option). Let's better work on 7.
In case there exist layers of vector map which are not connected to db,
the query output is redirected in command console (r55184). This is the
easiest solution, other solutions would need more changes which means more
possible errors.
Replying to [comment:11 annakrat]:
> In case there exist layers of vector map which are not connected to db,
the query output is redirected in command console (r55184). This is the
easiest solution, other solutions would need more changes which means more
possible errors.
Thanks ! It would be great, however, to be able to copy directly from the
display, instead of having to copy everything to the clipboard, copy that
to a text editor and then pick out the elements you want. As an example:
sometimes I just want to identify the coordinates of a place. It would be
nice to be able to click on it and then directly copy the values for
easting and northing from the query results window.
Replying to [comment:12 mlennert]:
> Replying to [comment:11 annakrat]:
> > In case there exist layers of vector map which are not connected to
db, the query output is redirected in command console (r55184). This is
the easiest solution, other solutions would need more changes which means
more possible errors.
>
> Thanks ! It would be great, however, to be able to copy directly from
the display, instead of having to copy everything to the clipboard, copy
that to a text editor and then pick out the elements you want. As an
example: sometimes I just want to identify the coordinates of a place. It
would be nice to be able to click on it and then directly copy the values
for easting and northing from the query results window.
You are talking about new querying in grass7? It is different than in
grass 64, it is more consistent. But needs some improvemnets. Could you
create a ticket for this? As for the coordinates, you can get them by
right click on the map display.
Replying to [comment:13 annakrat]:
> Replying to [comment:12 mlennert]:
> > Replying to [comment:11 annakrat]:
> > > In case there exist layers of vector map which are not connected to
db, the query output is redirected in command console (r55184). This is
the easiest solution, other solutions would need more changes which means
more possible errors.
> >
> > Thanks ! It would be great, however, to be able to copy directly from
the display, instead of having to copy everything to the clipboard, copy
that to a text editor and then pick out the elements you want. As an
example: sometimes I just want to identify the coordinates of a place. It
would be nice to be able to click on it and then directly copy the values
for easting and northing from the query results window.
>
> You are talking about new querying in grass7?
Yes, sorry. I got confused between versions here. The grass6 solution also
works well, by the way. I'm just afraid that it will be a bit confusing
for users to see two different reactions to the same action (either
editable attributes or output to console).
> It is different than in grass 64, it is more consistent. But needs some
improvemnets. Could you create a ticket for this? As for the coordinates,
you can get them by right click on the map display.
Thanks for the tip on coordinates (hadn't noticed this, yet, it's very
practical !), but my remark was more general. I'll file a ticket.
Replying to [comment:14 mlennert]:
> The grass6 solution also works well, by the way. I'm just afraid that it
will be a bit confusing for users to see two different reactions to the
same action (either editable attributes or output to console).
I think, that despite of the issue of two different reactions mentioned
above,
we can close this ticket as the issue is solved and any better solution
should be (and is being) worked on in grass7.