<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif">Hi all, Need experts advice.<br><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">This is the same question I have asked <a href="http://gis.stackexchange.com/questions/164683/point-returned-from-st-linelocatepoint-returns-false-in-st-contains">here.</a><br><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">I am using <code>postgis</code>'s <code>ST_LineLocatePoint</code> to find out the closest point on a <code>LineString</code> to the given <code>Point</code>, and usingĀ  <code>ST_LineInterpolatePoint</code> to extract a <code>Point</code> from the returned float number.(as referred <a href="http://postgis.net/docs/ST_LineLocatePoint.html" rel="nofollow">here</a>)</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br>This is my <code>ST_LineLocatePoint</code> Query<br><pre style="" class=""><code><span class="">SELECT</span><span class=""> ST_AsText</span><span class="">(</span><span class="">ST_LineInterpolatePoint</span><span class="">(</span><span class="">foo</span><span class="">.</span><span class="">the_line</span><span class="">,</span><span class="">
         ST_LineLocatePoint</span><span class="">(</span><span class="">foo</span><span class="">.</span><span class="">the_line</span><span class="">,</span><span class="">ST_GeomFromText</span><span class="">(</span><span class="">'POINT(12.962315 
         77.584841)'</span><span class="">))))</span><span class=""> </span><span class="">AS</span><span class=""> g </span><span class="">FROM</span><span class=""> </span><span class="">(</span><span class="">SELECT</span><span class=""> ST_GeomFromText</span><span class="">(</span><span class="">'LINESTRING(12.96145 
         77.58408,12.96219 77.58447,12.96302 77.58489,12.96316 77.58496,12.96348 
         77.58511)'</span><span class="">)</span><span class=""> </span><span class="">AS</span><span class=""> the_line</span><span class="">)</span><span class=""> </span><span class="">AS</span><span class=""> foo</span><span class="">;</span></code></pre><br><p>Output:</p>

<pre style="" class=""><code><span class="">                  g                     
</span><span class="">------------------------------------------</span><span class="">
 POINT</span><span class="">(</span><span class="">12.9624389808159</span><span class=""> </span><span class="">77.5845959902924</span><span class="">)<br><br></span></code></pre><p>Which exactly lies on the <code>linestring</code> I have passed. Demonstration is displayed <a href="http://jsfiddle.net/2p3zekae/2/" rel="nofollow">here</a>.</p><p><br></p><p>query with St_Closest function also returns the same points.<br></p>

<p>But when I check whether this point lies in the same <code>linestring</code> using <code>ST_Contains</code> it always return <code>false</code>, even though the point lies within.</p>

<p>My <code>ST_Contains</code> Query:</p>

<code><span class="">    </span><span class="">SELECT</span><span class=""> ST_Contains</span><span class="">(</span><span class="">ST_GeomFromText</span><span class="">(</span><span class="">'LINESTRING(12.96145 77.58408,12.96219 
    77.58447,12.96302 77.58489, 12.96316 77.58496, 12.96348 
    77.58511)'</span><span class="">),</span><span class="">ST_GeomFromText</span><span class="">(</span><span class="">'POINT(12.9624389808159 77.5845959902924)'</span><span class="">));</span></code>

<p>Output:</p>

<code><span class=""> st_contains <br>
</span><span class="">-------------</span><span class="">
 <br>f</span></code>

<p>I am not getting where I am doing wrong, why I am getting <code>false</code>. Can anyone help me in this.</p>

<code><span class=""><br>I am using Postgresql </span><span class="">:</span><span class=""> </span><span class="">9.4</span><span class="">,
postgis </span><span class="">:</span><span class=""> </span><span class="">2.1</span></code><pre style="" class=""><br></pre><br><br clear="all"></div><div><div class="gmail_signature"><div dir="ltr"><font face="courier new, monospace"><b>Thanks & Regards<br>Dharshan<br></b></font></div></div></div>
</div>