Ah drat! Ok then I have to basically do edge intersection tests by myself. Ah well. bad news! :(
On Tue, Oct 30, 2012 at 10:44 AM, Nicolas Ribot <nicolas.ri...@gmail.com>wrote: > Hi, > > st_intersection is only suitable for 2D operations. Third dimension is not > taken into account. > > Nicolas > > On 30 October 2012 09:44, Ed Linde <edoli...@gmail.com> wrote: > >> Hi All, >> Is there a simpler test I can do? I am quite sure that I am probably not >> using the right >> function in my SQL, or not doing the intersection test correctly. Is >> there any simpler >> way to test this 3D intersection? Am waiting on the postgis gurus to come >> along and >> give me some ideas, coz I am at my wits ends on this one! :) The polygons >> look good >> to me when I visualize them, but don't get how all triangles are found as >> intersecting? >> Anyway will wait. >> >> Cheers, >> Ed >> >> On Tue, Oct 30, 2012 at 9:00 AM, Ed Linde <edoli...@gmail.com> wrote: >> >>> Hi All, >>> I am having some troubles getting the *ST_Intersect* function to work >>> with 3D polygons. >>> I have a table to hold triangles as polygons in *"small_tris"* >>> Another table for holding the polygonal faces of a 3D voronoi diagram in >>> *"vfaces"* >>> So now I am trying to do an intersection between the triangles and the >>> voronoi faces >>> to get the triangles that intersect with the faces. And it seems that >>> *ALL* triangles >>> are intersecting. I have attached a PDF where I have plotted the >>> triangles and the >>> voronoi cells. so the box around in red and blue with a major face going >>> through is >>> the voronoi diagram. The Voronoi partition in 3D is shown at the bottom >>> too for clarity >>> Can someone please help and let me know what am I doing wrong here? >>> Is the select assuming something? So the polygons are flat and the >>> intersections >>> should just be lines or points. I am under some pressure to get this to >>> work, so if >>> anyone needs more information to help, the please let me know! :) >>> >>> Cheers, >>> Ed >>> >>> *-- TABLE SCHEMAS* >>> bounds=# \d vfaces; >>> Table "public.vfaces" >>> Column | Type | Modifiers >>> ----------+----------+----------- >>> gen_id | integer | >>> geomtext | geometry | >>> >>> bounds=# \d small_tris; >>> Table "public.small_tris" >>> Column | Type | Modifiers >>> ----------+----------+----------- >>> id | integer | not null >>> v0 | integer | >>> v1 | integer | >>> v2 | integer | >>> geomtext | geometry | >>> Indexes: >>> "small_tris_pkey" PRIMARY KEY, btree (id) >>> "small_idx" gist (geomtext) >>> >>> >>> * >>> -- TABLE CONTENT* >>> bounds=# select id, st_astext( geomtext ) from small_tris; >>> id | st_astext >>> ----+------------------------------------------------------- >>> 0 | POLYGON Z ((10 10 805,20 10 809,10 20 814,10 10 805)) >>> 1 | POLYGON Z ((10 20 814,20 10 809,20 20 819,10 20 814)) >>> 2 | POLYGON Z ((20 20 819,30 10 809,30 20 812,20 20 819)) >>> 3 | POLYGON Z ((30 10 809,20 20 819,20 10 809,30 10 809)) >>> 4 | POLYGON Z ((30 20 812,30 10 809,40 10 826,30 20 812)) >>> 5 | POLYGON Z ((20 20 819,30 20 812,20 30 827,20 20 819)) >>> 6 | POLYGON Z ((10 20 814,20 20 819,20 30 827,10 20 814)) >>> 7 | POLYGON Z ((10 40 805,10 30 814,20 30 827,10 40 805)) >>> 8 | POLYGON Z ((10 50 804,10 40 805,20 40 807,10 50 804)) >>> 9 | POLYGON Z ((20 30 827,20 40 807,10 40 805,20 30 827)) >>> 10 | POLYGON Z ((30 30 817,20 40 807,20 30 827,30 30 817)) >>> 11 | POLYGON Z ((30 40 816,20 50 809,20 40 807,30 40 816)) >>> 12 | POLYGON Z ((20 40 807,20 50 809,10 50 804,20 40 807)) >>> 13 | POLYGON Z ((10 30 814,10 20 814,20 30 827,10 30 814)) >>> 14 | POLYGON Z ((30 30 817,20 30 827,30 20 812,30 30 817)) >>> 15 | POLYGON Z ((30 20 812,40 20 823,30 30 817,30 20 812)) >>> 16 | POLYGON Z ((40 20 823,30 20 812,40 10 826,40 20 823)) >>> 17 | POLYGON Z ((40 20 823,40 10 826,50 10 803,40 20 823)) >>> 18 | POLYGON Z ((30 30 817,40 20 823,40 30 814,30 30 817)) >>> 19 | POLYGON Z ((40 20 823,50 20 808,40 30 814,40 20 823)) >>> 20 | POLYGON Z ((50 20 808,40 20 823,50 10 803,50 20 808)) >>> 21 | POLYGON Z ((40 30 814,50 20 808,50 30 816,40 30 814)) >>> 22 | POLYGON Z ((30 30 817,40 30 814,40 40 800,30 30 817)) >>> 23 | POLYGON Z ((30 40 816,40 40 800,30 50 813,30 40 816)) >>> 24 | POLYGON Z ((30 40 816,30 30 817,40 40 800,30 40 816)) >>> 25 | POLYGON Z ((30 50 813,40 40 800,40 50 817,30 50 813)) >>> 26 | POLYGON Z ((30 40 816,30 50 813,20 50 809,30 40 816)) >>> 27 | POLYGON Z ((50 40 821,40 50 817,40 40 800,50 40 821)) >>> 28 | POLYGON Z ((50 50 809,40 50 817,50 40 821,50 50 809)) >>> 29 | POLYGON Z ((50 40 821,40 40 800,50 30 816,50 40 821)) >>> 30 | POLYGON Z ((40 30 814,50 30 816,40 40 800,40 30 814)) >>> 31 | POLYGON Z ((30 30 817,30 40 816,20 40 807,30 30 817)) >>> (32 rows) >>> >>> select st_astext(geomtext) from vfaces; >>> >>> st_astext >>> >>> ----------------------------------------------------------------------------------------------- >>> 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)) >>> POLYGON Z ((51 17.8 799,9 38.8 799,9 51 799,51 51 799,51 17.8 799)) >>> POLYGON Z ((51 35.2 828,19.4 51 828,51 51 828,51 35.2 828)) >>> POLYGON Z ((9 9 799,9 38.8 799,51 17.8 799,51 9 799,9 9 799)) >>> 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)) >>> POLYGON Z ((9 9 828,9 51 828,19.4 51 828,51 35.2 828,51 9 828,9 9 828)) >>> (6 rows) >>> >>> *select distinct a.id >>> from small_tris a, vfaces b >>> where st_intersects (a.geomtext, b.geomtext) >>> order by a.id;* >>> id >>> ---- >>> 0 >>> 1 >>> 2 >>> 3 >>> 4 >>> 5 >>> 6 >>> 7 >>> 8 >>> 9 >>> 10 >>> 11 >>> 12 >>> 13 >>> 14 >>> 15 >>> 16 >>> 17 >>> 18 >>> 19 >>> 20 >>> 21 >>> 22 >>> 23 >>> 24 >>> 25 >>> 26 >>> 27 >>> 28 >>> 29 >>> 30 >>> 31 >>> (32 rows) >>> >>> >>> >> >> _______________________________________________ >> postgis-users mailing list >> postgis-users@postgis.refractions.net >> http://postgis.refractions.net/mailman/listinfo/postgis-users >> >> > > _______________________________________________ > postgis-users mailing list > postgis-users@postgis.refractions.net > http://postgis.refractions.net/mailman/listinfo/postgis-users > >
_______________________________________________ postgis-users mailing list postgis-users@postgis.refractions.net http://postgis.refractions.net/mailman/listinfo/postgis-users