[postgis-users] Difficult Problem with Polygons

Nicolas Ribot nicolas.ribot at gmail.com
Mon Oct 29 07:06:13 PDT 2012


Yes indeed it's clearer.

You could compute the distance between each adjacent triangle and the
voronoi generator and order by shortest distance. (taking the
triangle's centroid for the distance)
Also, is the voronoi boundary forming a polygon or just a line ? in
the former, you could find all the triangles inside the voronoi cell.
In the latter, you will have to determine a signed area or a cross
product to know if points lie in the same side of the boundary.

Nicolas

On 29 October 2012 13:45, Ed Linde <edolinde at gmail.com> wrote:
> Hi All,
> Wondering if that diagram made things any simpler or is it still not clear
> what the problem
> is?
>
> Thanks,
> Ed
>
>
> On Mon, Oct 29, 2012 at 11:57 AM, Ed Linde <edolinde at gmail.com> 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.ribot at gmail.com>
>> wrote:
>>>
>>> Could you draw a figure ?
>>>
>>> Nicolas
>>>
>>> On 29 October 2012 11:03, Ed Linde <edolinde at 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 <mwtoews at gmail.com> wrote:
>>> >>
>>> >> On 29 October 2012 21:33, Ed Linde <edolinde at 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 = 567 AND
>>> >>     ST_Relate(elements.geom, e.geom, 'FF2F11212');
>>> >>
>>> >> I'm not certain about your second question.
>>> >>
>>> >> -Mike
>>> >> _______________________________________________
>>> >> postgis-users mailing list
>>> >> postgis-users at postgis.refractions.net
>>> >> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > postgis-users mailing list
>>> > postgis-users at postgis.refractions.net
>>> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>>> >
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list