<html style="direction: ltr;">
  <head>
    <meta content="text/html; charset=windows-1255"
      http-equiv="Content-Type">
    <style type="text/css">body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
  </head>
  <body style="direction: ltr;"
    bidimailui-detected-decoding-type="preferred-charset"
    bgcolor="#FFFFFF" text="#000000">
    On 10/30/2012 03:31 AM, Phil Donovan wrote:
    <blockquote
cite="mid:CAHOEYY5N7YUh8a+FH_cH4QNdXqhDFsQMxB+GO0-=skSBGghtsg@mail.gmail.com"
      type="cite">How does one dissolve and sum a field in GRASS? I
      guess one way would be to create a separate table of summed values
      and then join them back to the new dissolved layer? How would you
      create this table of summed values?
      <div>
        <br>
      </div>
    </blockquote>
    <br>
    This problem can be split (no pun intended) into two parts. First,
    to group the values in one column and sum the values in another
    column could be done in a database. If your vector is in sqlite,
    then:<br>
    # lets assume: a vector named 'v', <br>
    # the dissolve column is called 'id' and the column to be summed is
    called 'val'<br>
    sqlite> CREATE TABLE v_sum AS SELECT id, SUM(val) AS sum_by_id
    FROM v GROUP BY id;<br>
    <br>
    Now you have an additional sqlite table with the aggregated values
    of the sum column for each dissolve value. At this point you can
    actually just connect your vector to this table thru a second layer
    and you'll see the summed values for each id:<br>
    <br>
    v.db.connect map=v driver=sqlite \<br>
        database=$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db \<br>
        table=v_sum layer=2<br>
    v.db.select v layer=2<br>
    # should show the summed values for each dissolve value<br>
    <br>
    But we have not yet done any dissolve. The v.dissolve module will
    dissolve only polygons, and only those that share a common boundary.
    If that's the case you can run v.dissolve, then attach the result to
    the table created above:<br>
    v.dissolve in=v out=v_diss column=id<br>
    # check resulting cats:<br>
    v.category v_diss option=report<br>
    # Connect to the summed table<br>
    v.db.connect v_diss driver=sqlite
    database=$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db table=v_sum
    key=id<br>
    <br>
    I think that should do it.<br>
    <br>
    -- <br>
    Micha<br>
      <br>
    <blockquote
cite="mid:CAHOEYY5N7YUh8a+FH_cH4QNdXqhDFsQMxB+GO0-=skSBGghtsg@mail.gmail.com"
      type="cite">
      <div>______________________________________</div>
      <div><b>Example table:</b></div>
      <div><br>
      </div>
      <div>Dissolve Column    |      Sum column
        <div>1                          |       0.5</div>
        <div>1                          |       0.5</div>
        <div>1                          |       0.5</div>
        <div>2                          |       0.25</div>
        <div>2                          |       0.25</div>
        <div><br>
        </div>
        <div><b>into:</b></div>
        <div><br>
        </div>
        <div>Diss C | Sum C</div>
        <div>1         | 1.5</div>
        <div>2         | 0.5</div>
        <div><br>
        </div>
        <div>________________________________________</div>
        <div><br>
        </div>
        <div>Cheers Phil.</div>
      </div>
      <br>
      This mail was received via Mail-SeCure System.<br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
grass-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/grass-user">http://lists.osgeo.org/mailman/listinfo/grass-user</a>

This mail was received via Mail-SeCure System.


</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Micha Silver
GIS Consultant, Arava Development Co.
<a class="moz-txt-link-freetext" href="http://www.surfaces.co.il">http://www.surfaces.co.il</a></pre>
  </body>
</html>