[GRASS-dev] [GRASS-SVN] r70632 - grass/trunk/scripts/v.report

Huidae Cho grass4u at gmail.com
Sun Feb 19 23:58:06 PST 2017


no problem, I'll backport it.

Thanks.

On Mon, Feb 20, 2017 at 2:39 AM, Martin Landa <landa.martin at gmail.com>
wrote:

> Hi,
>
> are you planning to backport bugfixes to relb72? Thanks, Ma
>
> 2017-02-20 1:15 GMT+01:00  <svn_grass at osgeo.org>:
> > Author: hcho
> > Date: 2017-02-19 16:15:14 -0800 (Sun, 19 Feb 2017)
> > New Revision: 70632
> >
> > Modified:
> >    grass/trunk/scripts/v.report/v.report.py
> > Log:
> > v.report: Fix unit=percent
> >
> > Modified: grass/trunk/scripts/v.report/v.report.py
> > ===================================================================
> > --- grass/trunk/scripts/v.report/v.report.py    2017-02-19 23:40:29 UTC
> (rev 70631)
> > +++ grass/trunk/scripts/v.report/v.report.py    2017-02-20 00:15:14 UTC
> (rev 70632)
> > @@ -81,7 +81,7 @@
> >      else:
> >          extracolnames = [option]
> >
> > -    if units in ['p', 'percent']:
> > +    if units == 'percent':
> >          unitsp = 'meters'
> >      elif units:
> >          unitsp = units
> > @@ -90,6 +90,7 @@
> >
> >      # NOTE: we suppress -1 cat and 0 cat
> >      if isConnection:
> > +        f = grass.vector_db(map=mapname)[int(layer)]
> >          p = grass.pipe_command('v.db.select', quiet=True, map=mapname,
> layer=layer)
> >          records1 = []
> >          catcol = -1
> > @@ -97,12 +98,12 @@
> >              cols = line.rstrip('\r\n').split('|')
> >              if catcol == -1:
> >                  for i in range(0, len(cols)):
> > -                    if cols[i] == 'cat':
> > +                    if cols[i] == f['key']:
> >                          catcol = i
> >                          break
> >                  if catcol == -1:
> > -                    # shouldn't happen, but let's do this
> > -                    catcol = 0
> > +                    grass.fatal(_("There is a table connected to input
> vector map '%s', but "
> > +                                  "there is no key column '%s'.") %
> (mapname, f['key']))
> >                  continue
> >              if cols[catcol] == '-1' or cols[catcol] == '0':
> >                  continue
> > @@ -115,7 +116,6 @@
> >
> >          if len(records1) == 0:
> >              try:
> > -                f = grass.vector_db(map=mapname)[int(layer)]
> >                  grass.fatal(_("There is a table connected to input
> vector map '%s', but "
> >                                "there are no categories present in the
> key column '%s'. Consider using "
> >                                "v.to.db to correct this.") % (mapname,
> f['key']))
> > @@ -142,6 +142,7 @@
> >          for r2 in records2:
> >              records3.append(filter(lambda r1: r1[catcol] == r2[0],
> records1)[0] + r2[1:])
> >      else:
> > +        catcol = 0
> >          records1 = []
> >          p = grass.pipe_command('v.category', inp=mapname, layer=layer,
> option='print')
> >          for line in p.stdout:
> > @@ -172,15 +173,18 @@
> >      numcols = len(colnames) + len(extracolnames)
> >
> >      # calculate percents if requested
> > -    if units != '' and units in ['p', 'percent']:
> > -        # calculate total area value
> > -        areatot = 0
> > +    if units == 'percent' and option != 'coor':
> > +        # calculate total value
> > +        total = 0
> >          for r in records3:
> > -            areatot += float(r[-1])
> > +            total += float(r[-1])
> >
> > -        # calculate area percentages
> > -        records4 = [float(r[-1]) * 100 / areatot for r in records3]
> > -        records3 = [r1 + [r4] for r1, r4 in zip(records1, records4)]
> > +        # calculate percentages
> > +        records4 = [float(r[-1]) * 100 / total for r in records3]
> > +        if type(records1[0]) == int:
> > +            records3 = [[r1] + [r4] for r1, r4 in zip(records1,
> records4)]
> > +        else:
> > +            records3 = [r1 + [r4] for r1, r4 in zip(records1, records4)]
> >
> >      # sort results
> >      if options['sort']:
> >
> > _______________________________________________
> > grass-commit mailing list
> > grass-commit at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/grass-commit
>
>
>
> --
> Martin Landa
> http://geo.fsv.cvut.cz/gwiki/Landa
> http://gismentors.cz/mentors/landa
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20170220/4115acf4/attachment-0001.html>


More information about the grass-dev mailing list