<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#FFFFFF" text="#333333">
    <p>Hi,</p>
    <p>Thanks for your reply. I can have numerous raster (several
      hundreds). I want to find a minimum but with a tolerance, it's why
      I want to be able to shift the value. In fact I want to sort the
      value of my all input raster for each x,y cell and get the second
      or third, or any position in the sorted list, to build my output
      raster. My application is to get the area not visible from a road
      (I did 1600 viewshed raster from the roads every 250m). I want a
      tolerance in order that one point of view (top of hill) does not
      reduce too much the hidden area. To do so, a fixed number of my
      point of view (20%) does not reduce the hidden area. The result is
      the area is hidden from 80% of the road.<br>
    </p>
    <p>I already wrote a python script that read all rasters for each
      x,y cell and make a array(), sort the array values, and build a
      raster. It works on reasonable number of cell, but seems to fails
      with large number of cells. I'm not a programmer !<br>
    </p>
    <p>I wondered if this kind of treatment exists already in Grass. <br>
    </p>
    <p>If somebody wants to hemps me to develop this, I could be nice.
      But I think it could be an improvement of r.series function.</p>
    <p>Sorry for my bad english, I hope you have understand my wishes !<br>
    </p>
    <p>Cheers</p>
    <p>Frank<br>
    </p>
    <div class="moz-cite-prefix">Le 07/02/2019 à 12:04, Veronica Andreo
      a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAAMki4FmyaxJo-NX_V177iBxnAsFkbOcfB-gbM-4r3UM0sjXvw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">Hi Ken,
        <div dir="auto"><br>
        </div>
        <div dir="auto">There isn't any build-in function for that in
          grass, afaik. Depending on how long is your series, you could
          shift the map list you use in each run and then use r.univar
          on each output from r.series to get the minimum and by
          comparison, get the second minimum of the series of maps (a
          scalar). </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">However, if what you need is a map of second
          minimums per pixel, I believe that might require some
          programming for a new function... Do you know any other
          software which has this function? Maybe, if there's such thing
          in Python for example, it could be recycled or used with grass
          maps in a script... Dunno, just thinking out loud</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">best,</div>
        <div dir="auto">Vero</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr">El jue., 7 feb. 2019 07:16, Ken Mankoff <<a
            href="mailto:mankoff@gmail.com" target="_blank"
            rel="noreferrer" moz-do-not-send="true">mankoff@gmail.com</a>>
          escribió:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Frank,<br>
          <br>
          On 2019-02-07 at 08:27 +0100, Frank David <<a
            href="mailto:frank.david@geophom.fr" rel="noreferrer
            noreferrer" target="_blank" moz-do-not-send="true">frank.david@geophom.fr</a>><br>
          wrote...<br>
          > I try to find how to get the shifted minimum value of a
          series of<br>
          > raster map. I want to shift by one, or more, the
          "minimum" value found<br>
          > on each cell to get the "almost minimum" of the series.
          Is there an<br>
          > available function/method to do that ?<br>
          <br>
          I don't think I fully understand what you want. Are you
          working with strds? You mention "series". If I wanted to get
          the second-minimum of a single raster, I would use r.stats
          with the "-1" flag, sort, and search for the 2nd (or
          2nd-to-last).<br>
          <br>
            -k.<br>
          <br>
          _______________________________________________<br>
          grass-user mailing list<br>
          <a href="mailto:grass-user@lists.osgeo.org" rel="noreferrer
            noreferrer" target="_blank" moz-do-not-send="true">grass-user@lists.osgeo.org</a><br>
          <a href="https://lists.osgeo.org/mailman/listinfo/grass-user"
            rel="noreferrer noreferrer noreferrer" target="_blank"
            moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/grass-user</a></blockquote>
      </div>
    </blockquote>
  </body>
</html>