<html><body><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:12pt"><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: Courier New,courier,monaco,monospace,sans-serif; background-color: transparent; font-style: normal;">I will follow your suggestion as far such functionality is not implemented in v.perturb.<br><span></span></div><div> </div><div>Alessandro Samuel-Rosa
<br>---
<br>Graduate School in Agronomy - Soil Science
<br>Federal Rural University of Rio de Janeiro
<br>Seropédica, Rio de Janeiro, Brazil
<br>---
<br>Guest Researcher at ISRIC - World Soil Information
<br>Wageningen, the Netherlands
<br>---
<br>Homepage: soil-scientist.net   Skype: alessandrosamuel</div> <div class="qtdSeparateBR"><br><br></div><div style="display: block;" class="yahoo_quoted"> <div style="font-family: Courier New, courier, monaco, monospace, sans-serif; font-size: 12pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> Em Quinta-feira, 28 de Agosto de 2014 15:09, Moritz Lennert <mlennert@club.worldonline.be> escreveu:<br> </font> </div>  <br><br> <div class="y_msg_container">On 28/08/14 14:55, Alessandro Samuel Rosa wrote:<br clear="none">> My objective is to perform a spatial simulated annealing schedule. It<br clear="none">> works as follows:<br clear="none">><br clear="none">> 1) generate a set of n points randomly positioned in the study area<br clear="none">> (v.random);<br clear="none">> 2) query values from raster maps
 (r.what);<br clear="none">> 3) calculate an statistic;<br clear="none">> 4) randomly perturb one randomly selected point;<br clear="none">>     - the point has to fall withing the study area;<br clear="none">> 5) go through 2-4 till the statistic meets a given criterion.<br clear="none">><br clear="none">> Ideally, v.perturb would do step 4: allow for perturbing a single point<br clear="none">> and check if it still falls inside the study area. If the point falls<br clear="none">> outside the study area, then it should be forced to the closest position<br clear="none">> within the study area.<br clear="none"><br clear="none">Until someone adds this functionality to v.perturb, you could just use a <br clear="none">loop like this:<br clear="none"><br clear="none">- v.extract your point (possibly v.extract -r the other points)<br clear="none">- perturb extracted point<br clear="none">- while point outside region (you
 can check either mathematically using <br clear="none">the points coordinates that you can get via v.to.db or you can use <br clear="none">v.select the point with the region polygon and check whether the result <br clear="none">is empty or no)<br clear="none">    - perturb the point again<div class="yqt8329307157" id="yqtfd63559"><br clear="none"><br clear="none">Moritz<br clear="none"></div><br><br></div>  </div> </div>  </div> </div></body></html>