Hi,<br>Just to add more information, in case someone has time later on to check it out.<br>I tried intersecting just ONE triangle with the faces in my vfaces table, and what I<br>get back from the st_intersection is the triangle back itself repeated 4 times! I don't<br>
get it. Is there a way to get around this behaviour. The triangle and the faces are <br>shown in the image pasted below. Its clear that the triangle is not touching any of <br>the faces. Any ideas?<br><br>Cheers, Ed<br><br>
bounds=# select st_astext(st_intersection(a.geomtext, <b>'POLYGON((10 10 805,20 10 809,10 20 814,10 10 805)</b>)'::geometry ))<br>from vfaces a<br>where <br>st_intersects( a.geomtext, <br> ST_GeomFromText('POLYGON((10 10 805,20 10 809,10 20 814,10 10 805))')<br>
);<br> <br> st_astext <br>-------------------------------------------------------<br> <b>POLYGON Z ((10 10 805,10 20 814,20 10 809,10 10 805))</b><br> POLYGON Z ((10 10 805,10 20 814,20 10 809,10 10 805))<br>
POLYGON Z ((10 10 805,10 20 814,20 10 809,10 10 805))<br> POLYGON Z ((10 10 805,10 20 814,20 10 809,10 10 805))<br>(4 rows)<br><br><img src="data:image/png;base64,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" alt=""><br>
<br><div class="gmail_quote">On Tue, Oct 30, 2012 at 9:44 AM, Ed Linde <span dir="ltr"><<a href="mailto:edolinde@gmail.com" target="_blank">edolinde@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>Is there a simpler test I can do? I am quite sure that I am probably not using the right <br>function in my SQL, or not doing the intersection test correctly. Is there any simpler <br>way to test this 3D intersection? Am waiting on the postgis gurus to come along and<br>
give me some ideas, coz I am at my wits ends on this one! :) The polygons look good<br>to me when I visualize them, but don't get how all triangles are found as intersecting?<br>Anyway will wait.<br><br>Cheers,<br>Ed<div class="HOEnZb">
<div class="h5"><br>
<br><div class="gmail_quote">On Tue, Oct 30, 2012 at 9:00 AM, Ed Linde <span dir="ltr"><<a href="mailto:edolinde@gmail.com" target="_blank">edolinde@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>I am having some troubles getting the <b>ST_Intersect</b> function to work with 3D polygons. <br>I have a table to hold triangles as polygons in <b>"small_tris"</b><br>Another table for holding the polygonal faces of a 3D voronoi diagram in <b>"vfaces"</b><br>
So now I am trying to do an intersection between the triangles and the voronoi faces<br>to get the triangles that intersect with the faces. And it seems that *ALL* triangles <br>are intersecting. I have attached a PDF where I have plotted the triangles and the <br>
voronoi cells. so the box around in red and blue with a major face going through is <br>the voronoi diagram. The Voronoi partition in 3D is shown at the bottom too for clarity<br>Can someone please help and let me know what am I doing wrong here?<br>
Is the select assuming something? So the polygons are flat and the intersections <br>should just be lines or points. I am under some pressure to get this to work, so if<br>anyone needs more information to help, the please let me know! :) <br>
<br>Cheers,<br>Ed<br><br><b>-- TABLE SCHEMAS</b><br>bounds=# \d vfaces;<br> Table "public.vfaces"<br> Column | Type | Modifiers <br>----------+----------+-----------<br> gen_id | integer | <br> geomtext | geometry | <br>
<br>bounds=# \d small_tris;<br> Table "public.small_tris"<br> Column | Type | Modifiers <br>----------+----------+-----------<br> id | integer | not null<br> v0 | integer | <br> v1 | integer | <br>
v2 | integer | <br> geomtext | geometry | <br>Indexes:<br> "small_tris_pkey" PRIMARY KEY, btree (id)<br> "small_idx" gist (geomtext)<br><br><br><b><br>
-- TABLE CONTENT</b><br>bounds=# select id, st_astext( geomtext ) from small_tris;<br> id | st_astext <br>----+-------------------------------------------------------<br> 0 | POLYGON Z ((10 10 805,20 10 809,10 20 814,10 10 805))<br>
1 | POLYGON Z ((10 20 814,20 10 809,20 20 819,10 20 814))<br> 2 | POLYGON Z ((20 20 819,30 10 809,30 20 812,20 20 819))<br> 3 | POLYGON Z ((30 10 809,20 20 819,20 10 809,30 10 809))<br> 4 | POLYGON Z ((30 20 812,30 10 809,40 10 826,30 20 812))<br>
5 | POLYGON Z ((20 20 819,30 20 812,20 30 827,20 20 819))<br> 6 | POLYGON Z ((10 20 814,20 20 819,20 30 827,10 20 814))<br> 7 | POLYGON Z ((10 40 805,10 30 814,20 30 827,10 40 805))<br> 8 | POLYGON Z ((10 50 804,10 40 805,20 40 807,10 50 804))<br>
9 | POLYGON Z ((20 30 827,20 40 807,10 40 805,20 30 827))<br> 10 | POLYGON Z ((30 30 817,20 40 807,20 30 827,30 30 817))<br> 11 | POLYGON Z ((30 40 816,20 50 809,20 40 807,30 40 816))<br> 12 | POLYGON Z ((20 40 807,20 50 809,10 50 804,20 40 807))<br>
13 | POLYGON Z ((10 30 814,10 20 814,20 30 827,10 30 814))<br> 14 | POLYGON Z ((30 30 817,20 30 827,30 20 812,30 30 817))<br> 15 | POLYGON Z ((30 20 812,40 20 823,30 30 817,30 20 812))<br> 16 | POLYGON Z ((40 20 823,30 20 812,40 10 826,40 20 823))<br>
17 | POLYGON Z ((40 20 823,40 10 826,50 10 803,40 20 823))<br> 18 | POLYGON Z ((30 30 817,40 20 823,40 30 814,30 30 817))<br> 19 | POLYGON Z ((40 20 823,50 20 808,40 30 814,40 20 823))<br> 20 | POLYGON Z ((50 20 808,40 20 823,50 10 803,50 20 808))<br>
21 | POLYGON Z ((40 30 814,50 20 808,50 30 816,40 30 814))<br> 22 | POLYGON Z ((30 30 817,40 30 814,40 40 800,30 30 817))<br> 23 | POLYGON Z ((30 40 816,40 40 800,30 50 813,30 40 816))<br> 24 | POLYGON Z ((30 40 816,30 30 817,40 40 800,30 40 816))<br>
25 | POLYGON Z ((30 50 813,40 40 800,40 50 817,30 50 813))<br> 26 | POLYGON Z ((30 40 816,30 50 813,20 50 809,30 40 816))<br> 27 | POLYGON Z ((50 40 821,40 50 817,40 40 800,50 40 821))<br> 28 | POLYGON Z ((50 50 809,40 50 817,50 40 821,50 50 809))<br>
29 | POLYGON Z ((50 40 821,40 40 800,50 30 816,50 40 821))<br> 30 | POLYGON Z ((40 30 814,50 30 816,40 40 800,40 30 814))<br> 31 | POLYGON Z ((30 30 817,30 40 816,20 40 807,30 30 817))<br>(32 rows)<br><br> select st_astext(geomtext) from vfaces;<br>
st_astext <br>-----------------------------------------------------------------------------------------------<br> POLYGON Z ((51 17.8 799,9 38.8 799,9 51 819.33333333333,19.4 51 828,51 35.2 828,51 17.8 799))<br>
POLYGON Z ((51 17.8 799,9 38.8 799,9 51 799,51 51 799,51 17.8 799))<br> POLYGON Z ((51 35.2 828,19.4 51 828,51 51 828,51 35.2 828))<br> POLYGON Z ((9 9 799,9 38.8 799,51 17.8 799,51 9 799,9 9 799))<br> POLYGON Z ((51 17.8 799,9 38.8 799,9 51 819.33333333333,19.4 51 828,51 35.2 828,51 17.8 799))<br>
POLYGON Z ((9 9 828,9 51 828,19.4 51 828,51 35.2 828,51 9 828,9 9 828))<br>(6 rows)<br><br><b style="color:rgb(51,102,255)">select distinct <a href="http://a.id" target="_blank">a.id</a><br>from small_tris a, vfaces b<br>
where st_intersects (a.geomtext, b.geomtext)<br>
order by <a href="http://a.id" target="_blank">a.id</a>;</b><br> id <br>----<br> 0<br> 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 10<br> 11<br> 12<br> 13<br> 14<br> 15<br> 16<br> 17<br> 18<br> 19<br>
20<br> 21<br> 22<br>
23<br> 24<br> 25<br> 26<br> 27<br> 28<br> 29<br> 30<br> 31<br>(32 rows)<br><br><img src="" alt=""><br>
</blockquote></div><br>
</div></div></blockquote></div><br>