[GRASS-dev] [GRASS GIS] #1961: wxNVIZ: error if no raster map selected

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------
Hi,

testing wxNVIZ in latest 6.5svn, I get an error and 100% CPU use if I
select '3D view' in the map display window with just a vector map
selected. (also tried with a 3D vector map, same thing) happens both on my
linux and Wingrass-VM. It's recoverable once you switch back to '2D view'
mode.

one possible solution is in the case of no raster tell nviz to create a
new constant surface at z=0 with 50% transparency. (or at least that's the
trick with tcl/tk nviz + no raster to drape things on)

traceback from wxgui module output window:
{{{
Starting 3D view mode...
Vector map <roads@PERMANENT> loaded (746 features)
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
383, in DoPaint

self.lmgr.nviz.UpdatePage('view')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4233,
in UpdatePage

hmin,hmax)
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
long int too large to convert to int
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
383, in DoPaint

self.lmgr.nviz.UpdatePage('view')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4233,
in UpdatePage

hmin,hmax)
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
long int too large to convert to int
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
383, in DoPaint

self.lmgr.nviz.UpdatePage('view')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4233,
in UpdatePage

hmin,hmax)
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
cannot convert float infinity to integer
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
383, in DoPaint

self.lmgr.nviz.UpdatePage('view')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4233,
in UpdatePage

hmin,hmax)
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
cannot convert float infinity to integer
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
383, in DoPaint

self.lmgr.nviz.UpdatePage('view')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4233,
in UpdatePage

hmin,hmax)
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
cannot convert float infinity to integer
}}}

thanks,
Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [ticket:1961 hamish]:
> Hi,
>
> testing wxNVIZ in latest 6.5svn, I get an error and 100% CPU use if I
select '3D view' in the map display window with just a vector map
selected. (also tried with a 3D vector map, same thing) happens both on my
linux and Wingrass-VM. It's recoverable once you switch back to '2D view'
mode.
>
> one possible solution is in the case of no raster tell nviz to create a
new constant surface at z=0 with 50% transparency. (or at least that's the
trick with tcl/tk nviz + no raster to drape things on)

It seems that this is already done. Try r56122 which should fix the
traceback.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:1 annakrat]:
> It seems that this is already done. Try r56122 which should fix the
traceback.

Seems to be working. Please confirm and I will backport it.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by neteler):

Replying to [comment:2 annakrat]:
> Seems to be working. Please confirm and I will backport it.

Hamish, does it now for you?

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1961#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hellik):

Replying to [comment:3 neteler]:
> Replying to [comment:2 annakrat]:
> > Seems to be working. Please confirm and I will backport it.
>
> Hamish, does it now for you?

tested here with

{{{
GRASS version: 6.5.svn
GRASS SVN Revision: 56422
GIS Library Revision: 50936 (2012-02-25)
GDAL/OGR: 1.9.2
PROJ4: Rel. 4.8.0, 6 March 2012
Python: 2.7.4
wxPython: 2.8.12.1
Platform: Windows-7-6.1.7601-SP1 (OSGeo4W)
}}}

and nc-hospitals, it works

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1961#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hellik):

Replying to [comment:4 hellik]:
>
> and nc-hospitals, it works

also with nc-streams, but not with nc-lakes

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1961#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hamish):

Hi,

it's better for points now, thanks, but still some small tweaks needed
elsewhere. comments as I go:

tested Spearfish's bugsites map in devbr6, looked ok. when tested in the
old 6.4.3svn version only a thin line rendered until I moved the
z-exaggeration slider off 0.0 to 1.0. (which seems like a nice default)

fwiw there doesn't seem to be a need to abbreviate exaggeration to exag.
since there is lots of space to the right of it for the text.

restarting the GUI in devbr6 and adding Spearfish's roads did not go well,
nothing rendered, lots of this repeating in the terminal:
  (.:25449): Gtk-CRITICAL **: gtk_range_set_range: assertion `min < max'
failed

and endless repeating tracebacks:
{{{
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
385, in DoPaint

self.lmgr.nviz.UpdatePage('cplane')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4315,
in UpdatePage

self.FindWindowById(self.win['cplane']['position']['z']['sli
der']).SetRange(zRange[0], zRange[1])
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
in method 'Slider_SetRange', expected argument 2 of type
'int'
}}}

on going back to 2D mode:
{{{
self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
385, in DoPaint

self.lmgr.nviz.UpdatePage('cplane')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4315,
in UpdatePage

self.FindWindowById(self.win['cplane']['position']['z']['sli
der']).SetRange(zRange[0], zRange[1])
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
long int too large to convert to int
Switching back to 2D view mode...
Vector map <roads@PERMANENT> (lines) unloaded successfully
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
385, in DoPaint

self.lmgr.nviz.UpdatePage('cplane')
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4315,
in UpdatePage

self.FindWindowById(self.win['cplane']['position']['z']['sli
der']).SetRange(zRange[0], zRange[1])
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2692, in
SetRange

return _controls_.Slider_SetRange(*args, **kwargs)
OverflowError
:
long int too large to convert to int
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
366, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
376, in DoPaint

self.LoadDataLayers()
   File "/home/hamish/src/grass/svn/grass65/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/mapwindow.py", line
1311, in LoadDataLayers

npoints, nlines, nfeatures, mapIs3D =
self.lmgr.nviz.VectorInfo(layer)
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14564, in
__getattr__

raise PyDeadObjectError(self.attrStr % self._name)
wx._core
.
PyDeadObjectError
:
The C++ part of the NvizToolWindow object has been deleted,
attribute access no longer allowed.
}}}

Spearfish geology (area) did not render at all. Perhaps it could check
'v.info -t' via vector.vector_info_topo() and if a vector map containing
area features is loaded pop up a warning and offer to render the
boundaries-as-lines instead?

Going to the wxNVIZ Data tab at that point and trying to add a raster
didn't work, the drop down showed the current mapset and PERMANENT, but no
maps within them and no '>' triangle or so to click to expand them. I
supposed that's what MarkusN experienced too, that list will only show
raster maps already listed in the current Map Display's layer listing.

Once I've gone back and added it to the layer list it appears, but I can't
edit its attributes-- changing the fine and coarse resolution had no
effect. (could the fine resolution be made a little bit (~20-30%) finer by
default?)

{{{
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/relbr_6_4/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 2658,
in OnSetRaster

self.UpdateSurfacePage(layer, data, updateName = False)
   File "/home/hamish/src/grass/svn/relbr_6_4/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 4443,
in UpdateSurfacePage

self.OnSurfaceAxis(None)
   File "/home/hamish/src/grass/svn/relbr_6_4/dist.x86_64
-unknown-linux-gnu/etc/wxpython/nviz/tools.py", line 3153,
in OnSurfaceAxis

id = data['surface']['object']['id']
KeyError
:
'object'
}}}

and then if I manually go to the Data tab -> Vector controls and tick the
box to have it render on the newly selected raster map, it stays at z=0
below. "Height above surface" there also appears to work as a multiplier,
not in map units? but of what? the archsites map is not 3D. the cat
number? interesting raindrop effect, but not so good for accurate
alignment.

thanks,
Hamish

ps- Perspective still needs a hard upper-bound at 180 degrees. currently
if you type e.g. `325` degrees in the box and move the slider you can see
where it crosses over itself and the geometry inverts. interesting, but
not really usable.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1961#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:6 hamish]:
> Hi,
>
> it's better for points now, thanks, but still some small tweaks needed
elsewhere. comments as I go:
>

some changes applied in grass7 (the code for all branches is almost the
same)

>
> tested Spearfish's bugsites map in devbr6, looked ok. when tested in the
old 6.4.3svn version only a thin line rendered until I moved the
z-exaggeration slider off 0.0 to 1.0. (which seems like a nice default)

bug in ogsf zexag guess (r56496) fixed

>
>
> fwiw there doesn't seem to be a need to abbreviate exaggeration to exag.
since there is lots of space to the right of it for the text.
>
>
> restarting the GUI in devbr6 and adding Spearfish's roads did not go
well, nothing rendered, lots of this repeating in the terminal:
> (.:25449): Gtk-CRITICAL **: gtk_range_set_range: assertion `min < max'
failed
>
> and endless repeating tracebacks:

please test r56500

>
> Spearfish geology (area) did not render at all. Perhaps it could check
'v.info -t' via vector.vector_info_topo() and if a vector map containing
area features is loaded pop up a warning and offer to render the
boundaries-as-lines instead?

It displays now boundaries by default, centroids can be activated too
(r56495, r56497).

>
>
> Going to the wxNVIZ Data tab at that point and trying to add a raster
didn't work, the drop down showed the current mapset and PERMANENT, but no
maps within them and no '>' triangle or so to click to expand them. I
supposed that's what MarkusN experienced too, that list will only show
raster maps already listed in the current Map Display's layer listing.
>
> Once I've gone back and added it to the layer list it appears, but I
can't edit its attributes-- changing the fine and coarse resolution had no
effect. (could the fine resolution be made a little bit (~20-30%) finer by
default?)

sorry, I cannot reproduce but I know that this error sometimes appears

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:7&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:6 hamish]:
> and then if I manually go to the Data tab -> Vector controls and tick
the box to have it render on the newly selected raster map, it stays at
z=0 below. "Height above surface" there also appears to work as a
multiplier, not in map units? but of what? the archsites map is not 3D.
the cat number? interesting raindrop effect, but not so good for accurate
alignment.

It should be in map units. The problem appears only when there is no
surface to drape the points on. Should be fixed in r56515.

>
>
> thanks,
> Hamish
>
> ps- Perspective still needs a hard upper-bound at 180 degrees. currently
if you type e.g. `325` degrees in the box and move the slider you can see
where it crosses over itself and the geometry inverts. interesting, but
not really usable.

done in r56514

if you confirm that these fixes help, I will backport them.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:8&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hamish):

Replying to [comment:8 annakrat]:
> Replying to [comment:6 hamish]:
> > and then if I manually go to the Data tab -> Vector controls and tick
the box to have it render on the newly selected raster map, it stays at
z=0 below. "Height above surface" there also appears to work as a
multiplier, not in map units? but of what? the archsites map is not 3D.
the cat number? interesting raindrop effect, but not so good for accurate
alignment.
>
> It should be in map units. The problem appears only when there is no
surface to drape the points on. Should be fixed in r56515.
>
> > ps- Perspective still needs a hard upper-bound at 180 degrees.
currently if you type e.g. `325` degrees in the box and move the slider
you can see where it crosses over itself and the geometry inverts.
interesting, but not really usable.
>
> done in r56514
>
> if you confirm that these fixes help, I will backport them.

Hi,

I tested both of these in trunk, seems ok.

I also tested adding points without a surface, the first time I again got
the repeating "Gtk-CRITICAL **: gtk_range_set_range: assertion `min <
max'" in the terminal, but quitting the gui and restarting it then worked.
I'll try to test that more later.

thanks,
Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:9&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hamish):

Hi,

here's a traceback if I load a raster then a vector-areas map in 2D mode,
switch to 3D mode, then change the order of the two in the layer list in
the Map Layers tab by dragging the vector map to the bottom of the list:

{{{
Starting 3D view mode...
Loading raster map <elevation.10m@PERMANENT>...
Loading raster map <elevation.10m@PERMANENT>...
Translating colors from raster map
<elevation.10m@PERMANENT>...
Vector map <fields7@grass7> loaded (261 features)
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/lmgr/layertree.py", line
1303, in OnChangeSel

if self.layer_selected.IsChecked():
AttributeError
:
'NoneType' object has no attribute 'IsChecked'
Raster map <elevation.10m@PERMANENT> unloaded successfully
Vector map <fields7@grass7> (lines) unloaded successfully
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/lmgr/layertree.py", line
1202, in OnLayerChecked

npoints, nlines, nfeatures, mapIs3D =
self.lmgr.nviz.VectorInfo(mapLayer)
AttributeError
:
'NvizToolWindow' object has no attribute 'VectorInfo'
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/lmgr/layertree.py", line
1311, in OnChangeSel

self.lmgr.nviz.UpdatePage('vector')
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/tools.py", line
4520, in UpdatePage

self.UpdateVectorPage(layer, data['vector'])
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/tools.py", line
4710, in UpdateVectorPage

vInfo = grass.vector_info_topo(layer.GetName())
AttributeError
:
'NoneType' object has no attribute 'GetName'
Vector map <fields7@grass7> loaded (261 features)
Loading raster map <elevation.10m@PERMANENT>...
Loading raster map <elevation.10m@PERMANENT>...
Translating colors from raster map
<elevation.10m@PERMANENT>...
}}}

thanks,
Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:10&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hamish):

Replying to [comment:7 annakrat]:
> Replying to [comment:6 hamish]:
> > restarting the GUI in devbr6 and adding Spearfish's roads did not go
well,
> > nothing rendered, lots of this repeating in the terminal:
> > (.:25449): Gtk-CRITICAL **: gtk_range_set_range: assertion `min <
max' failed
> >
> > and endless repeating tracebacks:
>
> please test r56500

still happens.

grass7, start g.gui, add roads vector map, go to 3d mode:

{{{
Starting 3D view mode...
Vector map <roads7@grass7> loaded (746 features)
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
376, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
398, in DoPaint

self.lmgr.nviz.UpdatePage('cplane')
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/tools.py", line
4570, in UpdatePage

self.FindWindowById(self.win['cplane']['position']['z']['sli
der']).SetValue(zRange[0])
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2672, in
SetValue

return _controls_.Slider_SetValue(*args, **kwargs)
OverflowError
:
long int too large to convert to int
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
376, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
398, in DoPaint

[...]

packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2672, in
SetValue

return _controls_.Slider_SetValue(*args, **kwargs)
OverflowError
:
long int too large to convert to int

Switching back to 2D view mode...

Vector map <roads7@grass7> (lines) unloaded successfully
Vector map <roads7@grass7> loaded (746 features)
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
376, in OnPaint

self.DoPaint()
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
389, in DoPaint

self.LoadDataLayers()
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
1327, in LoadDataLayers

self.LoadVector(item, points = False)
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
1734, in LoadVector

toolWin.UpdatePage('vector')
   File "/usr/lib64/python2.6/dist-
packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14564, in
__getattr__

raise PyDeadObjectError(self.attrStr % self._name)
wx._core
.
PyDeadObjectError
:
The C++ part of the NvizToolWindow object has been deleted,
attribute access no longer allowed.
}}}

thanks,
Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:11&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:8 annakrat]:
> if you confirm that these fixes help, I will backport them.

done

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:12&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:11 hamish]:
> Replying to [comment:7 annakrat]:
> > Replying to [comment:6 hamish]:
> > > restarting the GUI in devbr6 and adding Spearfish's roads did not go
well,
> > > nothing rendered, lots of this repeating in the terminal:
> > > (.:25449): Gtk-CRITICAL **: gtk_range_set_range: assertion `min <
max' failed
> > >
> > > and endless repeating tracebacks:
> >
> > please test r56500
>
>
> still happens.
>
> grass7, start g.gui, add roads vector map, go to 3d mode:
>
>
> {{{
> Starting 3D view mode...
> Vector map <roads7@grass7> loaded (746 features)
> Traceback (most recent call last):
> File "/home/hamish/src/grass/svn/trunk/dist.x86_64
> -unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
> 376, in OnPaint
>
> self.DoPaint()
> File "/home/hamish/src/grass/svn/trunk/dist.x86_64
> -unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
> 398, in DoPaint
>
> self.lmgr.nviz.UpdatePage('cplane')
> File "/home/hamish/src/grass/svn/trunk/dist.x86_64
> -unknown-linux-gnu/etc/gui/wxpython/nviz/tools.py", line
> 4570, in UpdatePage
>
> self.FindWindowById(self.win['cplane']['position']['z']['sli
> der']).SetValue(zRange[0])
> File "/usr/lib64/python2.6/dist-
> packages/wx-2.8-gtk2-unicode/wx/_controls.py", line 2672, in
> SetValue
>
> return _controls_.Slider_SetValue(*args, **kwargs)
> OverflowError
> :
> long int too large to convert to int
> }}}

please try r56560

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:13&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:10 hamish]:
> Hi,
>
> here's a traceback if I load a raster then a vector-areas map in 2D
mode, switch to 3D mode, then change the order of the two in the layer
list in the Map Layers tab by dragging the vector map to the bottom of the
list:

please try r56551

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:14&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by hamish):

Hi Anna,

the two fixes (r56560 and r56551) seem good, thanks.

more testing...

adding a vector points map to the 'Map layers' list after there
is already a vector area map open in 3D mode tries to load a points
map as a lines map and fails:

{{{
Starting 3D view mode...
Vector map <fields7@grass7> loaded (261 features)
Vector map <arch_pts@grass7> loaded (24 points)
No features from vector map <arch_pts@grass7> fall within
current region
Error loading vector map <arch_pts@grass7>
Loading vector map <arch_pts@grass7> (lines) failed
}}}

(but then the points render ok anyway and get added to the Data
vector controls correctly)

-----

I don't have much interest in displaying centroids, but for the
sake of testing them, with the vector area and a points map already
loaded, go back to the Map Layers tab and edit the d.vect preferences
for the area map to show centroids too:

{{{
Traceback (most recent call last):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/gui_core/forms.py", line
654, in OnOK

cmd = self.OnApply(event)
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/gui_core/forms.py", line
669, in OnApply

self)
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/lmgr/layertree.py", line
1521, in GetOptData

if mapWin.IsLoaded(layer):
   File "/home/hamish/src/grass/svn/trunk/dist.x86_64
-unknown-linux-gnu/etc/gui/wxpython/nviz/mapwindow.py", line
1267, in IsLoaded

if 'object' not in data['vlines'] and \
KeyError
:
'vlines'
}}}

-----

some other observations & 2c feedback:

perhaps make the default line width 1; width=2 looks a bit
"nibbled" (see screenshot), even after raising the height
above surface by about $nsres distance.

perhaps make the default line color a little more muted (aqua?)

perhaps make the default raster fine/coarse resolution 20-30% finer
and/or perhaps set the default coarse mode back to wire-frame.

dragging layers around in the Map layers tab while in 3D view mode
is a bit clunky. afterwards I got a weird mix in the vector roads
map of some lines as the default blue,size=2 and others the modified
aqua,size=1 I did before loading the raster layer. (see screenshot)

you'll also notice in the screenshot a red-trail in the top right.
that always follows my mouse around, it disappears as soon as I move the
view-puck. shrug. (open source radeon driver on debian/squeeze)

rotate 3D mode is highly sensitive to mouse movement. fly-through mode
next door is very very slow to react. the normal Pan button seems to
do nothing other than redraw the scene as-is. (maybe have it
"Look: [here]" ?) hmm, after that fly-through mode no longer works..

for Animation, perhaps make the default file format PPM instead of TIF,
as that is what the encoders will generally want as input.
consider to add a help button to the animation page, with a link to
the "Movies" grass wiki page for tips on encoding to .avi, .gif, etc.

thanks,
Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:15&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
--------------------+-------------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: defect | Status: new
Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Keywords: wxnviz | Platform: All
      Cpu: x86-64 |
--------------------+-------------------------------------------------------

Comment(by annakrat):

Replying to [comment:15 hamish]:
> Hi Anna,
>
> the two fixes (r56560 and r56551) seem good, thanks.

backported

>
> I don't have much interest in displaying centroids, but for the
> sake of testing them, with the vector area and a points map already
> loaded, go back to the Map Layers tab and edit the d.vect preferences
> for the area map to show centroids too:
>

The error is fixed in r56578. However showing centroids is controlled on
3d view vector page - check load points checkbox

>
> -----
>
> some other observations & 2c feedback:

> perhaps make the default line width 1; width=2 looks a bit
> "nibbled" (see screenshot), even after raising the height
> above surface by about $nsres distance.

> perhaps make the default line color a little more muted (aqua?)

> perhaps make the default raster fine/coarse resolution 20-30% finer
> and/or perhaps set the default coarse mode back to wire-frame.
>
>

Some of the default values can be set in 3d view settings.

> dragging layers around in the Map layers tab while in 3D view mode
> is a bit clunky. afterwards I got a weird mix in the vector roads
> map of some lines as the default blue,size=2 and others the modified
> aqua,size=1 I did before loading the raster layer. (see screenshot)
>

> you'll also notice in the screenshot a red-trail in the top right.
> that always follows my mouse around, it disappears as soon as I move the
> view-puck. shrug. (open source radeon driver on debian/squeeze)
>

> rotate 3D mode is highly sensitive to mouse movement. fly-through mode
> next door is very very slow to react. the normal Pan button seems to
> do nothing other than redraw the scene as-is. (maybe have it
> "Look: [here]" ?) hmm, after that fly-through mode no longer works..
these things are quite experimental but the pan button should work (not
really panning but it changes focus)
>

This ticket is fixed (in terms of the initial problem).

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:16&gt;
GRASS GIS <http://grass.osgeo.org>

#1961: wxNVIZ: error if no raster map selected
---------------------+------------------------------------------------------
  Reporter: hamish | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.3
Component: wxGUI | Version: svn-develbranch6
Resolution: fixed | Keywords: wxnviz
  Platform: All | Cpu: x86-64
---------------------+------------------------------------------------------
Changes (by wenzeslaus):

  * status: new => closed
  * resolution: => fixed

Comment:

Original issues fixed and backported according to comment:16, closing as
fixed. Please open new separate tickets if other issues still apply or if
you have feature requests.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1961#comment:17&gt;
GRASS GIS <http://grass.osgeo.org>