On Thu, Oct 14, 2010 at 3:00 PM, Josi Perez (3T Systems) <josiperez3t@xxxxxxxxx> 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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general