Opened 3 years ago

Last modified 4 days ago

#3294 reopened defect

g.gui.tplot: error when trying to plot a STVDS

Reported by: lrntct Owned by: grass-dev@…
Priority: normal Milestone: 7.8.2
Component: wxGUI Version: svn-trunk
Keywords: Cc:
CPU: x86-64 Platform: Linux

Description

When using g.gui.tplot to plot a time-series of a point in a STVDS, I encounter the following issue:

When selecting the stvds in the GUI, a GUI message appears, saying:

Invalid input temporal dataset

And the console displays a message from t.vect.list:

ERROR: t.vect.list: Sorry, <s> is not a valid flag

If nonetheless trying to plot a value, the following error message appears in the console, and nothing is plotted:

Traceback (most recent call last):
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 759, in OnRedraw
    self._redraw()
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 770, in _redraw
    self._getSTVDData(self.datasetsV)
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 480, in _getSTVDData
    cats = self._getExistingCategories(rows[0]['name'], cats)
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 384, in _getExistingCategories
    for cat in cats:
TypeError: 'NoneType' object is not iterable

Change History (13)

comment:1 Changed 3 years ago by lrntct

Might be related to [69686]

comment:2 Changed 3 years ago by neteler

Resolution: fixed
Status: newclosed

Good catch, r69686 now backported in r70648. Thanks!

comment:3 Changed 3 years ago by lrntct

Resolution: fixed
Status: closedreopened

After applying the patch, I get another error when trying to plot the STVDS:

Traceback (most recent call last):
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 759, in OnRedraw
    self._redraw()
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 770, in _redraw
    self._getSTVDData(self.datasetsV)
  File "/usr/lib/grass72/gui/wxpython/tplot/frame.py", line 499, in _getSTVDData
    lay = int(row['layer'])
TypeError: int() argument must be a string or a number, not 'NoneType'

The maps inside the STVDS have two layers.

t.vect.db.select is working correctly with that STVDS.

comment:4 Changed 3 years ago by martinl

Milestone: 7.2.17.2.2

comment:5 Changed 2 years ago by neteler

Milestone: 7.2.27.2.3

Ticket retargeted after milestone closed

comment:6 Changed 20 months ago by lucadelu

In 72485:

g.gui.tplot: resolved problem with stdvs when no categories are set, see #3294

comment:7 Changed 20 months ago by lucadelu

In 72486:

g.gui.tplot: resolved problem with stdvs when no categories are set, see #3294

comment:8 Changed 20 months ago by lucadelu

In 72490:

g.gui.tplot: resolved problem with stdvs when no categories are set, see #3294

comment:9 Changed 20 months ago by martinl

Milestone: 7.2.3

Ticket retargeted after milestone closed

comment:10 Changed 20 months ago by martinl

Milestone: 7.2.4

comment:11 Changed 6 months ago by veroandreo

Milestone: 7.2.47.8.0
Version: 7.2.0svn-trunk

Changing milestone. I get the last error reported:

Traceback (most recent call last):
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64
-pc-linux-gnu/gui/wxpython/tplot/frame.py", line 882, in
OnRedraw

self._redraw()
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64
-pc-linux-gnu/gui/wxpython/tplot/frame.py", line 893, in
_redraw

self._getSTVDData(self.datasetsV)
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64
-pc-linux-gnu/gui/wxpython/tplot/frame.py", line 566, in
_getSTVDData

lay = int(row['layer'])
TypeError
:
int() argument must be a string or a number, not 'NoneType'
Traceback (most recent call last):
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64
-pc-linux-gnu/gui/wxpython/tplot/frame.py", line 882, in
OnRedraw

self._redraw()
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64
-pc-linux-gnu/gui/wxpython/tplot/frame.py", line 893, in
_redraw

self._getSTVDData(self.datasetsV)
  File "/home/veroandreo/software/grass7_trunk/dist.x86_64
-pc-linux-gnu/gui/wxpython/tplot/frame.py", line 566, in
_getSTVDData

lay = int(row['layer'])
TypeError
:
int() argument must be a string or a number, not 'NoneType'

comment:12 Changed 2 months ago by neteler

Milestone: 7.8.07.8.1

Ticket retargeted after milestone closed

comment:13 Changed 4 days ago by neteler

Milestone: 7.8.17.8.2

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.