<div dir="ltr">Miguel,<div><br></div><div>Are you saying that the FOR loops are taking most of the time? What's the time breakdown for each major step (ST_DumpValues, the FOR loop and ST_SetValues).</div><div><br></div>

<div>The looping itself may not be the primary cause of your problem but rather what is going on within the loop. What is going on within the loop?</div><div><br></div><div>-bborie</div></div><div class="gmail_extra"><br>

<br><div class="gmail_quote">On Thu, Sep 26, 2013 at 11:25 PM, Miguel-Angel Manso-Callejo (UPM) <span dir="ltr"><<a href="mailto:m.manso@upm.es" target="_blank">m.manso@upm.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  

    
  
  <div text="#000000" bgcolor="#FFFFFF">
    Dear all,<br>
    <br>
    <span lang="en"><span>I'm
        writing a</span> <span>stored procedure</span> (</span><span lang="en"><span>pgplSQL) </span></span><span lang="en"><span>that uses</span>
      <span></span></span><span lang="en"><span><span lang="en"><span>postgis</span> <span></span></span>functions</span> 
      <span>version 2.1</span><br>
      <span>Dump</span> <span>the contents of</span>
      <span>an image on a</span> <span>two</span><span>-</span><span>dimensional</span> <span>array</span>
      <span>and then I</span> <span>update</span>
      <span>the cells</span> <span>according to</span>
      <span>some calculations</span><span>.</span><br>
      <span>The process</span> <span>is slow</span><span>,</span>
      <span>but after</span> <span>a while</span>
      <span>I discovered</span> <span>devote</span>
      <span>to</span> <span>the problem, or</span>
      <span>the slowness</span> <span>is due to</span>
      <span>operations</span> <span>that read
        and</span> <span>update the</span> <span>two</span><span>-</span><span>dimensional</span>
      <span>array</span><span>.</span><br>
      <br>
      <span>The code</span> <span>is roughly</span>
      <span>this</span><span>:</span><br>
      <br>
      <span>DECLARE</span><br>
      <span>..</span><br>
      <b><span>img</span></b><b> </b><span>double
        precision</span> <span>[</span><span>]</span> <span>[</span><span>]</span><span>;</span><br>
      <br>
      <span>i</span> <span>integer</span> <span>j</span> <span>integer;</span><br>
      <br>
      <span>BEGIN</span><br>
      <br>
          <span>select</span> <span>ST_DumpValues</span>
      <span>(</span><span>rast</span><span>, 1,</span>
      <span>false)</span> <span>INTO</span> <b><span>img</span></b><b> </b><span>from ..</span><br>
      <br>
          <span>for i</span> <span>IN 1</span>
      <span>.. 1000</span> <span>LOOP</span><br>
             <span>for j</span> <span>IN 1</span>
      <span>..</span> <span>500</span> <span>LOOP</span><br>
                 <span>........</span><br>
                 <b><span>img</span></b><b> </b><span>[</span><span>i</span><span>]</span> <span>[</span><span>j</span><span>]</span><span>:</span>
      <span>=</span> <span>..............</span><span>;</span><br>
             <span>END</span> <span>LOOP</span><span>;</span><br>
         <span>END</span> <span>LOOP</span><span>;</span><br>
      <br>
         <span>select</span> <span>ST_SetValues</span>
      <span>(image,</span> <span>1, 1</span><span>,
        1,</span> <b><span>img</span></b><span>)</span> <span>INTO</span> <span>imagen2</span><span>;</span><br>
         <span>....</span><br>
      <span>END;</span><br>
      <br>
      <span>Anyone know</span> <span>why</span>
      <span>the update</span> <span>of the
        values</span> <span>of the</span> <span>two</span><span>-</span><span>dimensional</span>
      <span>array</span> <span>is slow</span><span>?</span><span>,
        Poorly</span> <span>defined</span> <span>array</span> <span>for the</span> <span>type of operations</span> <span>performed</span><span>?</span><br>
      <br>
      <span>thank you very much<br>
        Best regards.<br>
        <br>
      </span></span>Miguel A. Manso<br>
  </div>

<br>_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a><br></blockquote></div><br></div>