<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
pre
        {mso-style-priority:99;
        mso-style-link:"Preformattato HTML Carattere";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.PreformattatoHTMLCarattere
        {mso-style-name:"Preformattato HTML Carattere";
        mso-style-priority:99;
        mso-style-link:"Preformattato HTML";
        font-family:"Courier New";}
span.com
        {mso-style-name:com;}
span.pln
        {mso-style-name:pln;}
span.pun
        {mso-style-name:pun;}
span.kwd
        {mso-style-name:kwd;}
span.typ
        {mso-style-name:typ;}
span.lit
        {mso-style-name:lit;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1223562631;
        mso-list-type:hybrid;
        mso-list-template-ids:665909382 -1 68157443 68157445 68157441 68157443 68157445 68157441 68157443 68157445;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Times New Roman",serif;
        mso-fareast-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style>
</head>
<body lang="IT">
<div class="WordSection1">
<p>Hi all,</p>
<p>I have a set of projected spatial points (id, x, y, dist, value) that needs to be filtered. For each point I have to find the other ones falling within a variable distance. For each selection, I need only the one with the maximum value or, if duplicated,
 keeping just one.</p>
<p>I tried to check the available tools and I found out what follows:<o:p></o:p></p>
<p style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">         
</span></span><![endif]>A simpler possibility would be to use the “Select by expression”, but I’m not that familiar with the syntax and I ended up with [clearly non-working]: CASE WHEN distance($currentfeature)<”dist” THEN max(“value”) END</p>
<p style="margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">         
</span></span><![endif]>Another possibility would be to improve the following R code, available online (thanks to the author)</p>
<p>Any (R, Python, else) suggestion?</p>
<pre><span class="com"><o:p> </o:p></span></pre>
<pre><span class="com"><o:p> </o:p></span></pre>
<pre><span class="com">##Layer=vector</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="com">##ID=Field Layer</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="com">##distance= Field Layer</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="com">##Output= output vector</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">library</span><span class="pun">(</span><span class="pln">rgeos</span><span class="pun">)</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">library</span><span class="pun">(</span><span class="pln">sp</span><span class="pun">)</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">library</span><span class="pun">(</span><span class="pln">spdep</span><span class="pun">)</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln"><o:p> </o:p></span></pre>
<pre><span class="pln">coordi </span><span class="pun"><-</span><span class="pln"> </span><span class="kwd">as</span><span class="pun">.</span><span class="pln">matrix</span><span class="pun">(</span><span class="pln">coordinates</span><span class="pun">(</span><span class="typ">Layer</span><span class="pun">))</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">tram_nb </span><span class="pun"><-</span><span class="pln"> dnearneigh</span><span class="pun">(</span><span class="pln">coordi</span><span class="pun">,</span><span class="pln"> d1 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> d2 </span><span class="pun">=</span><span class="pln"> distance</span><span class="pun">,</span><span class="pln">row</span><span class="pun">.</span><span class="pln">names</span><span class="pun">=</span><span class="typ">Layer</span><span class="pun">[[</span><span class="pln">ID</span><span class="pun">]])</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">tram_nb</span><span class="pun"><-</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">frame</span><span class="pun">(</span><span class="pln">card</span><span class="pun">(</span><span class="pln">tram_nb</span><span class="pun">))</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">tram</span><span class="pun"><-</span><span class="pln">cbind</span><span class="pun">(</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">vector</span><span class="pun">(</span><span class="typ">Layer</span><span class="pun">[[</span><span class="pln">ID</span><span class="pun">]]),</span><span class="pln"> tram_nb</span><span class="pun">)</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="typ">Coord</span><span class="pun"><-</span><span class="pln">cbind</span><span class="pun">()</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">n</span><span class="pun"><-</span><span class="pln">length</span><span class="pun">(</span><span class="typ">Layer</span><span class="pun">[[</span><span class="pln">ID</span><span class="pun">]])</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="kwd">for</span><span class="pun">(</span><span class="pln">i </span><span class="kwd">in</span><span class="pln"> </span><span class="lit">1</span><span class="pun">:</span><span class="pln">n</span><span class="pun">){</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">   </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tram</span><span class="pun">[</span><span class="pln">i</span><span class="pun">,</span><span class="lit">2</span><span class="pun">]!=</span><span class="lit">0</span><span class="pln"> </span><span class="pun">){</span><span class="pln"> </span><span class="typ">Coord</span><span class="pln"> </span><span class="pun"><-</span><span class="pln">rbind</span><span class="pun">(</span><span class="typ">Coord</span><span class="pun">,</span><span class="pln">cbind</span><span class="pun">(</span><span class="pln">coordi</span><span class="pun">[</span><span class="pln">i</span><span class="pun">,</span><span class="lit">1</span><span class="pun">],</span><span class="pln"> coordi</span><span class="pun">[</span><span class="pln">i</span><span class="pun">,</span><span class="lit">2</span><span class="pun">],</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">vector</span><span class="pun">(</span><span class="typ">Layer</span><span class="pun">[[</span><span class="pln">ID</span><span class="pun">]])[</span><span class="pln">i</span><span class="pun">]))</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pun">}</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pun">}</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">x</span><span class="pun"><-</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">numeric</span><span class="pun">(</span><span class="typ">Coord</span><span class="pun">[,</span><span class="lit">1</span><span class="pun">])</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">y</span><span class="pun"><-</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">numeric</span><span class="pun">(</span><span class="typ">Coord</span><span class="pun">[,</span><span class="lit">2</span><span class="pun">])</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">X</span><span class="pun"><-</span><span class="pln">cbind</span><span class="pun">(</span><span class="pln">x</span><span class="pun">,</span><span class="pln">y</span><span class="pun">)</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">matrix</span><span class="pun"><-</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">matrix</span><span class="pun">(</span><span class="pln">X</span><span class="pun">)</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="pln">matrix</span><span class="pun"><-</span><span class="typ">SpatialPointsDataFrame</span><span class="pun">(</span><span class="pln">matrix</span><span class="pun">,</span><span class="kwd">as</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">frame</span><span class="pun">(</span><span class="typ">Coord</span><span class="pun">),</span><span class="pln">proj4string</span><span class="pun">=</span><span class="pln">CRS</span><span class="pun">(</span><span class="typ">Layer</span><span class="pun">))</span><span class="pln"><o:p></o:p></span></pre>
<pre><span class="typ">Output</span><span class="pun">=</span><span class="pln">matrix</span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thank you in advance for your help!</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">All the best,</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Nic</p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
</div>
</body>
</html>