[GRASS-dev] [GRASS GIS] #3882: winGRASS: not able to digitize vector polygons

GRASS GIS trac at osgeo.org
Tue Oct 22 12:14:15 PDT 2019


#3882: winGRASS: not able to digitize vector polygons
----------------------+---------------------------------
  Reporter:  hellik   |      Owner:  grass-dev@…
      Type:  defect   |     Status:  new
  Priority:  blocker  |  Milestone:  7.8.1
 Component:  wxGUI    |    Version:  git-releasebranch78
Resolution:           |   Keywords:  python3, wingrass
       CPU:  x86-64   |   Platform:  MSWindows
----------------------+---------------------------------

Comment (by hellik):

 Replying to [comment:2 annakrat]:
 > This is probably specific to non-english locale on windows, it's some
 wxPython issue.
 >
 > Could you try this?
 >
 > {{{
 >
 > --- a/gui/wxpython/wxgui.py
 > +++ b/gui/wxpython/wxgui.py
 > @@ -164,7 +164,7 @@ def main(argv=None):
 >
 >      # register GUI PID
 >      registerPid(os.getpid())
 > -
 > +    app.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
 >      app.MainLoop()
 >
 >  if __name__ == "__main__":
 > }}}
 >
 > Does it help? Any unintended consequences?

 patch locally applied to

 {{{
 GRASS Version: 7.8.1dev
 Code revision: d1c4ad132
 Build date: 2019-10-22
 Build platform: x86_64-w64-mingw32
 GDAL: 2.4.1
 PROJ: 5.2.0
 GEOS: 3.8.0
 SQLite: 3.29.0
 Python: 3.7.0
 wxPython: 4.0.3
 Platform: Windows-10-10.0.18362-SP0 (OSGeo4W)
 }}}

 patch doesn't help to digitize areas.

 {{{
 Traceback (most recent call last):
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\core\gth
 read.py", line 121, in OnDone

 event.ondone(event)
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\core\ren
 der.py", line 469, in OnRenderDone

 self.updateProgress.emit(layer=self.layer)
   File "C:\OSGEO4~1\apps\grass\grass78\etc\python\grass\pydi
 spatch\signal.py", line 229, in emit

 dispatcher.send(signal=self, *args, **kwargs)
   File "C:\OSGEO4~1\apps\grass\grass78\etc\python\grass\pydi
 spatch\dispatcher.py", line 349, in send

 **named
   File "C:\OSGEO4~1\apps\grass\grass78\etc\python\grass\pydi
 spatch\robustapply.py", line 60, in robustApply

 return receiver(*arguments, **named)
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\core\ren
 der.py", line 743, in ReportProgress

 self.renderDone.emit()
   File "C:\OSGEO4~1\apps\grass\grass78\etc\python\grass\pydi
 spatch\signal.py", line 229, in emit

 dispatcher.send(signal=self, *args, **kwargs)
   File "C:\OSGEO4~1\apps\grass\grass78\etc\python\grass\pydi
 spatch\dispatcher.py", line 349, in send

 **named
   File "C:\OSGEO4~1\apps\grass\grass78\etc\python\grass\pydi
 spatch\robustapply.py", line 60, in robustApply

 return receiver(*arguments, **named)
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\core\ren
 der.py", line 650, in OnRenderDone

 raise GException(_("Rendering failed: %s" % msg))
 core.gcmd
 .
 GException
 :
 Rendering failed: Expecting 807x466 image but got 807x501
 image.
 Traceback (most recent call last):
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\vdigit\t
 oolbars.py", line 856, in OnSelectMap

 self.StartEditing(self.layers[selection])
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\vdigit\t
 oolbars.py", line 922, in StartEditing

 self.EnableAll()
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\gui_core
 \toolbars.py", line 223, in EnableAll

 for item in self._toolbarData():
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\vdigit\t
 oolbars.py", line 268, in _toolbarData

 return self._getToolbarData(data)
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\gui_core
 \toolbars.py", line 233, in _getToolbarData

 retData.append(self._defineTool(*args))
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\gui_core
 \toolbars.py", line 241, in _defineTool

 return (name, icon.GetBitmap(),
   File
 "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\icons\icon.py",
 line 100, in GetBitmap

 bmp = wx.Bitmap(name=self.imagepath)
 wx._core
 .
 wxAssertionError
 :
 C++ assertion "wxString::Format("%.3f", 1.23).find(str) !=
 wxString::npos" failed at ..\..\src\common\intl.cpp(1648) in
 wxLocale::GetInfo(): Decimal separator mismatch -- did you
 use setlocale()?If so, use wxLocale to change the locale
 instead.
 Traceback (most recent call last):
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\vdigit\t
 oolbars.py", line 391, in OnAddAreaTool

 self.OnAddArea(event)
   File "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\vdigit\t
 oolbars.py", line 369, in OnAddArea

 self.addArea, self.icons['addArea'].GetBitmap())
   File
 "C:\OSGEO4~1\apps\grass\grass78\gui\wxpython\icons\icon.py",
 line 100, in GetBitmap

 bmp = wx.Bitmap(name=self.imagepath)
 wx._core
 .
 wxAssertionError
 :
 C++ assertion "wxString::Format("%.3f", 1.23).find(str) !=
 wxString::npos" failed at ..\..\src\common\intl.cpp(1648) in
 wxLocale::GetInfo(): Decimal separator mismatch -- did you
 use setlocale()?If so, use wxLocale to change the locale
 instead.
 Bearbeitung der Vektorkarte <mytestvect at user1> erfolgreich abgeschlossen
 Erstelle Topologie für die Vektorkarte <mytestvect at user1>...
 Registriere Primitive...
 }}}

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/3882#comment:10>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list