Re: Point inside/outside area constructed by an expanded path
От | Merlin Moncure |
---|---|
Тема | Re: Point inside/outside area constructed by an expanded path |
Дата | |
Msg-id | AANLkTim+jSR3uQ-tORcV-Lm54t1eQJ56_o-_b3MJT0HY@mail.gmail.com обсуждение исходный текст |
Ответ на | Point inside/outside area constructed by an expanded path ("Josi Perez (3T Systems)" <josiperez3t@gmail.com>) |
Список | pgsql-general |
On Thu, Oct 14, 2010 at 3:00 PM, Josi Perez (3T Systems) <josiperez3t@gmail.com> wrote: > Hi, > > I use postgreSQL.8.4.2 and don't have postGIS installed. > I have a geometric type polygon and I know that it is possible to determine > if a point it is inside or not of this polygon, using anything like that: > select > polygon('(-23.5672,-46.6510),(-23.5670,-46.65095),(-23.5672,-46.6508),(-23.5672,-46.6510)') > @> point('-23.567534,-46.64942') > > The question: > Anyone knows an algorithm or have ideas how to determine if a point it is > inside an area constructed by geometric type path expanded for a known > distance? > Graphically: > > the path > x=========x=======x > > the path expanded by a distance > > | | A | > | | | > -------x=========x=======x------- C > | | | > B | | | > > the points A and B are inside and the point C are outside . hm -- if the number of points in the path aren't terribly large, you can bust this down to a a smaller number of components using available tools in postgres. For *each* path segment, construct a rectangle and two circles at the end points: CRRRRC If the point is inside the rectangle or either circle (both of those operations can be solved conventionally in postgres), it's in your area. If there are a lot of points or you are working with big data, you should be looking at geometric library to do the work for you. merlin
В списке pgsql-general по дате отправления: