Re: Point inside/outside area constructed by an expanded path

From: John R Pierce <pierce(at)hogranch(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Point inside/outside area constructed by an expanded path
Date: 2010-10-14 19:16:09
Message-ID: 4CB756F9.1070609@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/14/10 12:00 PM, Josi Perez (3T Systems) 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 .

that's pretty tricky. are the 'end caps' on that expansion
rectangular or circular? if circular is acceptable, you could perhaps
calculate the shortest distance of your point from the path (non trivial
if the path is complex), then if that distance is < your 'expansion',
its 'inside'. probably be a good idea to use an overall bounding box to
reject points that are far away to save a lot of overhead.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vick Khera 2010-10-14 19:35:26 Re: PostgreSQL server not starting.
Previous Message Josi Perez (3T Systems) 2010-10-14 19:00:55 Point inside/outside area constructed by an expanded path