Hi All, Thanks for the tips! Just another thing, when I compute the "transition points" on each edge (shown as red points in my pdf). I need to join them to make a polygon. Wondering how I can connect them together so that I start with a point and end on it to form a closed polygon?
Cheers, Ed On Mon, Oct 29, 2012 at 3:03 PM, Stephen Woodbridge <wood...@swoodbridge.com > wrote: > Hi Ed, > > Well if clarifies one thing at least, you can ignore Mike's st_Relate > because 5 is not adjacent to a linear edge, it is only adjacent to a > vertex, so st_touches should work fine. > > so you are looking for: > > 1. a specific triangle by id > 2. that intersects triangle VC > 3. and the triangles adjacent to triangle by id > 4. and those that are contained in VC > 5. sorted by distance to P1 limit 1 > > so something like: > > select id, the_geom > from (select id, the_geom as adjacent > from triangles > where st_touches(the_geom, > (select the_geom > from triangles a, > (select the_geom as vc > from vc_table > where id='p1') b > where a.id=4)) c > order by st_distance(c.the_geom, (select the_geom > from points > where id='p1')) asc limit 1; > > Untested, but should give you a model to work with. > > -Steve W > > > > On 10/29/2012 6:57 AM, Ed Linde wrote: > >> Attached is a figure. Where the dotted line is the boundary of the >> voronoi cell whose >> generator is point P1. So triangle "4" intersects with the voronoi >> boundary, but we are >> interested in the adjacent triangles of triangle 4, which are closer to >> point P1. >> For example, triangle 5. >> >> Hope this helps. >> Cheers, >> Ed >> >> On Mon, Oct 29, 2012 at 11:50 AM, Nicolas Ribot <nicolas.ri...@gmail.com >> <mailto:nicolas.ribot@gmail.**com <nicolas.ri...@gmail.com>>> wrote: >> >> Could you draw a figure ? >> >> Nicolas >> >> On 29 October 2012 11:03, Ed Linde <edoli...@gmail.com >> <mailto:edoli...@gmail.com>> wrote: >> > Hi All, >> > Thanks for the suggestions. >> > For 1) I will look into how ST_touches works and see if it can >> pick up all >> > the adjacent polygons to >> > the one I have. And also look into Mike's suggestion on >> ST_relate...though I >> > must admit it looks >> > more complex. >> > For 2) I will try to clarify it a bit more... its harder to do >> without a >> > figure :) but here goes. >> > >> > Lets say we have a point Q which is the generator of a voronoi >> cell. Now I >> > compute the >> > intersection between the voronoi cell boundaries and my >> triangulation (Set >> > of polygons) >> > using ST_intersect. Once I have these triangles.. I say pick one >> triangle T >> > that is >> > intersecting the voronoi cell boundary of Q. >> > For all the triangles adjacent to T, I need to know which >> triangles are >> > INSIDE the voronoi >> > boundary (closer to Q) and which adjacent triangles are just >> OUTSIDE the >> > voronoi >> > boundary (farther from Q). I am basically testing for a certain >> property by >> > "shrinking" the >> > voronoi cell (closer to Q) and another property when "expanding" >> the voronoi >> > cell (away from Q). >> > Just need to make this division of triangles. Haven't thought of >> a nice way >> > to do this in postgis 2.0 >> > So any suggestions would greatly help. >> > >> > Thanks, >> > Ed >> > >> > On Mon, Oct 29, 2012 at 10:15 AM, Mike Toews <mwto...@gmail.com >> <mailto:mwto...@gmail.com>> wrote: >> >> >> >> On 29 October 2012 21:33, Ed Linde <edoli...@gmail.com >> <mailto:edoli...@gmail.com>> wrote: >> >> > Hi All, >> >> > I need help with 2 hard problems. I store triangles in a table >> as >> >> > POLYGON. >> >> > >> >> > 1. I want to know for a given triangle, which triangles share >> an edge >> >> > (adjacent) with this triangle. >> >> >> >> Sounds like you have a finite element mesh with nodes and >> elements. >> >> You can use ST_Relate with pattern 'FF2F11212' to pick out >> elements >> >> that share the same edge. This DE-9-IM is sort-of a custom >> ST_Touches, >> >> but only takes linear boundary overlaps. So if you have a table >> >> "elements", and you want to find ones that touch ID 567: >> >> >> >> SELECT elements.* >> >> FROM elements, elements as e >> >> WHERE e.id <http://e.id> = 567 AND >> >> >> ST_Relate(elements.geom, e.geom, 'FF2F11212'); >> >> >> >> I'm not certain about your second question. >> >> >> >> -Mike >> >> ______________________________**_________________ >> >> postgis-users mailing list >> >> >> postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> >> <mailto:postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> > >> >> >> >> http://postgis.refractions.**net/mailman/listinfo/postgis-**users<http://postgis.refractions.net/mailman/listinfo/postgis-users> >> > >> > >> > >> > ______________________________**_________________ >> > postgis-users mailing list >> > >> postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> >> <mailto:postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> > >> >> > >> http://postgis.refractions.**net/mailman/listinfo/postgis-**users<http://postgis.refractions.net/mailman/listinfo/postgis-users> >> > >> ______________________________**_________________ >> postgis-users mailing list >> >> postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> >> <mailto:postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> > >> >> >> http://postgis.refractions.**net/mailman/listinfo/postgis-**users<http://postgis.refractions.net/mailman/listinfo/postgis-users> >> >> >> >> >> ______________________________**_________________ >> postgis-users mailing list >> postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> >> http://postgis.refractions.**net/mailman/listinfo/postgis-**users<http://postgis.refractions.net/mailman/listinfo/postgis-users> >> >> > ______________________________**_________________ > postgis-users mailing list > postgis-users@postgis.**refractions.net<postgis-users@postgis.refractions.net> > http://postgis.refractions.**net/mailman/listinfo/postgis-**users<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