Ok, for a polygon, is there a good postgis function that can return the edges to me in the right sequence? Or at least the points that constitute the polygon in the right order, so I can generate the edges in a script?
Thanks, Ed On Tue, Oct 30, 2012 at 10:46 AM, Ed Linde <edoli...@gmail.com> wrote: > 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