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

GRASS GIS trac at osgeo.org
Tue May 28 02:43:53 PDT 2013


#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 at 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>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list