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 по дате отправления:

Предыдущее
От: "Bob Pawley"
Дата:
Сообщение: Re: How to determine failed connection attempt due to invalid authorization (libpq)?
Следующее
От: Ugo PARSI
Дата:
Сообщение: Re: Segfault : PostgreSQL 9.0.0 and PgPool-II.