<div dir="ltr">it works.<div>thanks a lot</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-05-30 17:28 GMT+02:00 Marcin Mionskowski <span dir="ltr"><<a href="mailto:mionskowskimarcin@gmail.com" target="_blank">mionskowskimarcin@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Try with ST_SnapToGrid:<br>
ST_SnapToGrid('your geom',0.000001)<br>
Vertex coordinates are doubles - even if it seems, that thay are the same in binary, thay can differ a bit, causing strange intersection results.<br>
<br>
Regards,<br>
Marcin<span class=""><br>
<br>
<br>
On Wed, 30 May 2018 13:59:28 +0200, franco base <<a href="mailto:frenk.calza@gmail.com" target="_blank">frenk.calza@gmail.com</a>> wrote:<br>
<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<div><div class="h5"><br>
maybe this example is easier to understand.<br>
<br>
I cannot explain why<br>
intersection between 2 line geometry return point (this is not true)<br>
and<br>
intersection between 2 same geometry transformed to WKT and then again to<br>
geometry return line (this is true)<br>
<br>
<br>
<br>
WITH geom AS<br>
(<br>
SELECT<br>
<br>
---- linestring geometry<br>
'0102000020E610000002000000F1C<wbr>B9E90EF5822400B08BFE04DB846408<wbr>9928BE6E8582240A6DE39B92DB8464<wbr>0'::geometry(linestring,4326)<br>
as a0,<br>
'0102000020E610000003000000F4C<wbr>B9E90EF5822400808BFE04DB846408<wbr>9928BE6E8582240A6DE39B92DB8464<wbr>08C928BE6E8582240A9DE39B92DB84<wbr>640'<br>
::geometry(linestring,4326) as b0,<br>
---------<br>
<br>
---- makegeometry from output coordinate of ST_AsText<br>
ST_GeomFromText<br>
(ST_AsText('0102000020E6100000<wbr>02000000F1CB9E90EF5822400B08BF<wbr>E04DB8464089928BE6E8582240A6DE<wbr>39B92DB84640'::geometry(<wbr>linestring,4326)))<br>
as a1,<br>
ST_GeomFromText<br>
(ST_AsText('0102000020E6100000<wbr>03000000F4CB9E90EF5822400808BF<wbr>E04DB8464089928BE6E8582240A6DE<wbr>39B92DB846408C928BE6E8582240A9<wbr>DE39B92DB84640'::geometry(<wbr>linestring,4326)))<br>
as b1,<br>
---------<br>
<br>
---- get point coordinate from linestring geometry<br>
ST_AsText('0102000020E61000000<wbr>2000000F1CB9E90EF5822400B08BFE<wbr>04DB8464089928BE6E8582240A6DE3<wbr>9B92DB84640'::geometry(<wbr>linestring,4326))<br>
as a,<br>
ST_AsText('0102000020E61000000<wbr>3000000F4CB9E90EF5822400808BFE<wbr>04DB8464089928BE6E8582240A6DE3<wbr>9B92DB846408C928BE6E8582240A9D<wbr>E39B92DB84640'<br>
::geometry(linestring,4326) ) as b<br>
----------<br>
)<br>
<br>
<br>
SELECT<br>
st_geometrytype(st_intersectio<wbr>n(a0,b0)),st_geometrytype(st_<wbr>intersection(a1,b1)),a,b<br>
FROM geom<br>
<br>
RETURN<br>
"ST_Point";"ST_LineString";"LI<wbr>NESTRING(9.17370273531376<br>
45.4398766453524,9.17365189031<wbr>377<br>
45.4388953716819)";"LINESTRING<wbr>(9.17370273531376<br>
45.4398766453524,9.17365189031<wbr>377 45.4388953716819,9.17365189031<wbr>377<br>
45.4388953716819)"<br>
<br>
<br>
<br>
"POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.9.2, 08<br>
September 2015" GDAL="GDAL 1.11.3, released 2015/09/16" LIBXML="2.9.3"<br>
LIBJSON="0.11.99" TOPOLOGY RASTER"<br>
<br>
<br>
<br>
Thanks a lot<br>
f<br>
<br>
<br>
<br>
2018-05-29 12:49 GMT+02:00 franco base <<a href="mailto:frenk.calza@gmail.com" target="_blank">frenk.calza@gmail.com</a>>:<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Thanks I undesrtand.<br>
Infact<br>
<br>
SELECT st_contains(b,a)  return true.<br>
<br>
<br>
I still don't understand why<br>
<br>
SELECT  st_intersection(a,b) return a line<br>
and<br>
SELECT st_intersection(a,c) return a point<br>
and<br>
SELECT st_intersection(b,c) return a point<br>
<br>
<br>
<br>
SELECT ST_AsText (c)<br>
<br>
return<br>
<br></div></div>
"LINESTRING(*9.18334214253396 45.4443310195606,9.18284350788<wbr>197<br>
45.4441804010334,9.18274220788<wbr>201 45.4441483010334,9.18274220788<wbr>201<br>
45.4441483010334,9.18271080788<wbr>202 45.4441388010335,9.18271080788<wbr>202<br>
45.4441388010335*,9.1826721078<wbr>8205 45.4442348010335,9.18267210788<wbr>205<div><div class="h5"><br>
45.4442348010335,9.18256900788<wbr>209 45.4442025010335,9.18256930788<wbr>208<br>
45.4442020010335,9.18171610788<wbr>24 45.4439402010335,9.18171610788<wbr>24<br>
45.4439402010335,9.18096850788<wbr>267 45.4437069010336,9.18096850788<wbr>267<br>
45.4437069010336,9.18075270788<wbr>275 45.4436465010336,9.18075270788<wbr>275<br>
45.4436465010336,9.18046820788<wbr>286 45.4435903010337,9.18046820788<wbr>286<br>
45.4435903010337,9.18017890788<wbr>296 45.4435440010337,9.18017890788<wbr>296<br>
45.4435440010337,9.17996920788<wbr>304 45.4435166010337,9.17996920788<wbr>304<br>
45.4435166010337,9.17973530788<wbr>314 45.4435053010337,9.17973530788<wbr>314<br>
45.4435053010337,9.17950020788<wbr>323 45.4435044010337,9.17950020788<wbr>323<br>
45.4435044010337,9.17913950788<wbr>338 45.4435149010338,9.17913950788<wbr>338<br>
45.4435149010338,9.17903360788<wbr>343 45.4435180010338,9.17903360788<wbr>343<br>
45.4435180010338,9.17900690788<wbr>344 45.4435188010338,9.17900690788<wbr>344<br>
45.4435188010338,9.17898210788<wbr>345 45.4435200010338,9.17898210788<wbr>345<br>
45.4435200010338,9.17890050788<wbr>348 45.4435241010338,9.17890050788<wbr>348<br>
45.4435241010338,9.17876780788<wbr>353 45.4435307010338,9.17847140788<wbr>366<br>
45.4435455010338,9.17875697558<wbr>416 45.4435312419178)"<br>
<br>
The first 6 point are the same that make b geometry<br>
<br>
>> st_makepoint(9.18334214253396,<wbr>45.4443310195606),<br>
>> st_makepoint(9.18284350788197,<wbr>45.4441804010334),<br>
>> st_makepoint(9.18274220788201,<wbr>45.4441483010334),<br>
>> st_makepoint(9.18274220788201,<wbr>45.4441483010334),<br>
>> st_makepoint(9.18271080788202,<wbr>45.4441388010335),<br>
>> st_makepoint(9.18271080788202,<wbr>45.4441388010335)<br>
<br>
The first 2 point are the same that make a geometry<br>
>> st_makepoint(9.18284350788197,<wbr>45.4441804010334),<br>
>> st_makepoint(9.18334214253396,<wbr>45.4443310195606)<br>
<br>
<br>
<br>
thanks<br>
f<br>
<br>
<br>
<br>
<br>
<br>
<br>
2018-05-28 21:22 GMT+02:00 Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca" target="_blank">pramsey@cleverelephant.ca</a>>:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Also knowing that the end points of a line string are considered the<br>
boundary of the linestring, not the interior...<br>
<br>
On Mon, May 28, 2018 at 12:21 PM, Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca" target="_blank">pramsey@cleverelephant.ca</a>><br>
wrote:<br>
> Does knowing that an overlaps test is only true if the interiors of<br>
> both objects interact, but there is no full containment relationship<br>
> help you understand a little?<br>
><br>
> On Mon, May 28, 2018 at 8:03 AM, franco base <<a href="mailto:frenk.calza@gmail.com" target="_blank">frenk.calza@gmail.com</a>><br>
wrote:<br>
>> Hi all,<br>
>><br>
>><br>
>> question 1)<br>
>> why ST_Overlaps doesn't work with geometry a and b?<br>
>> The first 2 point of the 2 line (bold) are the same.<br>
>> ST_Intersection works<br>
>><br>
>> question 2)<br>
>> if I extend line b it becomes c<br>
>> (sorry i write text geometry because I have a lot of point coord),<br>
>> ST_Overlaps return false and also<br>
>> ST_Intersection return a point (length =0)<br>
>><br>
>> What's happen?<br>
>><br>
>> "POSTGIS="2.2.1 r14555" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel.<br>
4.9.2, 08<br>
>> September 2015" GDAL="GDAL 1.11.3, released 2015/09/16" LIBXML="2.9.3"<br>
>> LIBJSON="0.11.99" TOPOLOGY RASTER"<br>
>><br>
>><br>
>> WITH geom AS<br>
>> (<br>
>> SELECT<br>
>> st_setsrid(st_makeline(<br>
>> st_makepoint(9.18284350788197,<wbr>45.4441804010334),<br>
>> st_makepoint(9.18334214253396,<wbr>45.4443310195606)<br>
>> ),4326) a,<br>
>><br>
>> st_setsrid(st_makeline(ARRAY[<br>
>> st_makepoint(9.18334214253396,<wbr>45.4443310195606),<br>
>> st_makepoint(9.18284350788197,<wbr>45.4441804010334),<br>
>> st_makepoint(9.18274220788201,<wbr>45.4441483010334),<br>
>> st_makepoint(9.18274220788201,<wbr>45.4441483010334),<br>
>> st_makepoint(9.18271080788202,<wbr>45.4441388010335),<br>
>> st_makepoint(9.18271080788202,<wbr>45.4441388010335) ]),4326) b,<br>
>><br>
>> '0102000020E610000027000000E85<wbr>27405DF5D224039CEBED6DFB846402<br>
A470DAA9D5D22403CFB43E7DAB8464<wbr>073E7FC62905D22409DC1FDD9D9B84<br>
64073E7FC62905D22409DC1FDD9D9B<wbr>8464040F560458C5D224065A94C8AD<br>
9B8464040F560458C5D224065A94C8<wbr>AD9B84640577DD232875D224085179<br>
BAFDCB84640577DD232875D2240851<wbr>79BAFDCB84640C43B5CAF795D2240B<br>
B5EA7A0DBB84640BB366DB9795D224<wbr>0D5A0759CDBB84640CB05C9E4095D2<br>
240CC685208D3B84640CB05C9E4095<wbr>D2240CC685208D3B8464088EC7DE7A<br>
75C224074794263CBB8464088EC7DE<wbr>7A75C224074794263CBB84640280A7<br>
29E8B5C224050769668C9B84640280<wbr>A729E8B5C224050769668C9B846403<br>
1A63554665C224097E12591C7B8464<wbr>031A63554665C224097E12591C7B84<br>
6409A92E968405C22406A63C10CC6B<wbr>846409A92E968405C22406A63C10CC<br>
6B84640164A8CEC245C22402356E82<wbr>6C5B84640164A8CEC245C22402356E<br>
826C5B84640D4962A44065C22406FC<wbr>51DC8C4B84640D4962A44065C22406<br>
FC51DC8C4B84640A5F78473E75B224<wbr>0380991C0C4B84640A5F78473E75B2<br>
240380991C0C4B84640B08F6F2CB85<wbr>B2240449DA518C5B84640B08F6F2CB<br>
85B2240449DA518C5B84640087D054<wbr>BAA5B224050D0A632C5B84640087D0<br>
54BAA5B224050D0A632C5B84640213<wbr>C1ECBA65B2240F2CC5C39C5B846402<br>
13C1ECBA65B2240F2CC5C39C5B8464<wbr>06BDBF78AA35B2240F0C76D43C5B84<br>
6406BDBF78AA35B2240F0C76D43C5B<wbr>84640D731EDD8985B2240C676D265C<br>
5B84640D731EDD8985B2240C676D26<wbr>5C5B84640EFDF4074875B224027DB2<br>
F9DC5B846404443B89A605B2240369<wbr>D5619C6B84640B521C808865B22404<br>
765B9A1C5B84640'::geometry<br>
>> as c<br>
>> )<br>
>><br>
>><br>
>> SELECT<br>
>> ---- question 1<br>
>> st_overlaps(a,b),<br>
>> st_length(st_intersection(a,b)<wbr>::geography)::int,<br>
>> ---- question 2<br>
>> st_overlaps(a,c),<br>
>> st_length(st_intersection(a,c)<wbr>::geography)::int<br>
>><br>
>> FROM geom<br>
>><br>
>><br>
>> return<br>
>><br>
>> f;42;f;0<br>
>><br>
>><br>
>><br>
>> thanks<br>
>> ft<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> ______________________________<wbr>_________________<br>
>> postgis-users mailing list<br>
>> <a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
>> <a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/postgis-users</a><br>
______________________________<wbr>_________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org" target="_blank">postgis-users@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-users" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailma<wbr>n/listinfo/postgis-users</a><br>
<br>
</blockquote>
<br>
<br>
</div></div></blockquote>
<br><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
Using Opera's mail client: <a href="http://www.opera.com/mail/" rel="noreferrer" target="_blank">http://www.opera.com/mail/</a><br>
</font></span></blockquote></div><br></div>