Opened 13 years ago
Closed 12 years ago
#1522 closed defect (fixed)
dbm_base.py fails with multilayer maps
| Reported by: | artegion | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | 6.4.2 |
| Component: | wxGUI | Version: | 6.4.2 RCs |
| Keywords: | vector_what | Cc: | |
| CPU: | All | Platform: | All |
Description (last modified by )
map 'test' has two layers
Layer=1 Category=20 Table=net_table Layer=2 Category=8 Table=links
Traceback (most recent call last): File "c:/osgeo4w/usr/src/grass-6.4.2RC2/dist.i686-pc- mingw32/etc/wxpython/gui_modules/mapdisp_window.py", line 1017, in MouseActions File "c:/osgeo4w/usr/src/grass-6.4.2RC2/dist.i686-pc- mingw32/etc/wxpython/gui_modules/mapdisp_window.py", line 1207, in OnLeftUp File "c:/osgeo4w/usr/src/grass-6.4.2RC2/dist.i686-pc- mingw32/etc/wxpython/gui_modules/mapdisp.py", line 1382, in QueryVector File "c:/osgeo4w/usr/src/grass-6.4.2RC2/dist.i686-pc- mingw32/etc/wxpython/gui_modules/dbm_dialogs.py", line 102, in __init__ File "c:/osgeo4w/usr/src/grass-6.4.2RC2/dist.i686-pc- mingw32/etc/wxpython/gui_modules/dbm_dialogs.py", line 360, in UpdateDialog File "C:\Programmi\Grass\etc\wxpython\gui_modules\dbm_base.py", line 109, in SelectByPoint if self.tables[table][key]['ctype'] != types.StringType: KeyError : 'STATUS'
v.what works fine
>> ret = grass.read_command('v.what',
quiet = True,
flags = 'ag',
map = 'test',
east_north = '60.0,70.0',
distance = '1.0')
>> ret
East=60
North=70
Map=test
Mapset=piacenza
Type=Line
Id=20
Length=20.000000
Layer=1
Category=20
Driver=sqlite
Database=d:\gis_db\gauss-boaga\test_sqlite.db
Table=net_table
Key_column=cat
cat=20
net=
Layer=2
Category=8
Driver=sqlite
Database=d:\gis_db\gauss-boaga\test_sqlite.db
Table=links
Key_column=cat
cat=8
ID=12
LTYPE=1
NODE1=12
NODE2=13
LENGTH=5280
DIAMETER=10
ROUGHNESS=100
MLOSS=0
STATUS=Open
PARAMETERS=
TYPE=
SETTINGS=
TAG=ID12
but grass.vector_what puts Layer 2 attributes into Layer 1
>>data = grass.vector_what(map = 'test',coord = (60.0, 70.0), distance = 1.0)
>>data
[{'Category': 20,
'Map': 'test',
'Layer': 1,
'Key_column': 'cat',
'Database': 'd:\\gis_db\\gauss-boaga\\test_sqlite.db',
'Mapset': 'piacenza',
'Driver': 'sqlite',
'Length': '20.000000',
'Attributes': {'STATUS': 'Open',
'LTYPE': '1',
'PARAMETERS': '',
'DIAMETER': '10',
'SETTINGS': '',
'MLOSS': '0',
'cat': '8',
'LENGTH': '5280',
'TAG': 'ID12',
'NODE1': '12',
'NODE2': '13',
'TYPE': '',
'ID': '12',
'ROUGHNESS': '100'},
'Table': 'net_table',
'Type': 'Line',
'Id': 20}]
Change History (6)
comment:1 by , 13 years ago
comment:2 by , 12 years ago
| Description: | modified (diff) |
|---|
verbatim formatting applied to ticket description.
comment:3 by , 12 years ago
| Keywords: | vector_what added |
|---|
comment:4 by , 12 years ago
The vector_what function (file vector.py) should by fixed in GRASS 7 in r52824.
vector_what tested with some handmade maps with multiple layers (with and without dblink). Please, confirm.
This blocked (or blocks) #1606 (part of #1606 is duplicate of this ticked).
(vector_what is used only in the GUI so r52824 should not break anything.)
comment:5 by , 12 years ago
Another related change: r52832. Please test it so that it can be backported before release.
Thanks, Anna
comment:6 by , 12 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |

but from Digitize "Diplay/update attributes" button (wxPython) it works......