Re: "IN" in a geometric database using data type "point"

From: Andrew Hunter <ahunter(at)ucalgary(dot)ca>
To: "Romain Billoir" <billoirr(at)gmail(dot)com>
Cc: Andrew Hunter <ahunter(at)ucalgary(dot)ca>, PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: "IN" in a geometric database using data type "point"
Date: 2010-09-26 12:22:12
Message-ID: 71744C2E-444A-433D-93F7-769EDDF9E73D@ucalgary.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Romain,

Assuming you have PostGIS installed and position is defined as a point or multpoint ADT then you could use the ST_Intersect operator

SELECT *
FROM map
WHERE ST_Intersects(position, 'MULTIPOINT(-1 -1,1 -1,1 1,-1 1)');

Regards

Andrew

On 2010-09-26, at 12:27 PM, Romain Billoir wrote:

> Hi, i'm trying to request a database using data type "point" using keyword "IN" with a list of point generated by PHP, like this:
> 'SELECT * FROM map WHERE position IN ((point(-1,-1), (point(1,-1), point(1,1), point(-1,1))'
> but this request returns me an error: operator doesn't exist point = point.
> so i tried to use a path unstead of list of point like this:
> 'SELECT * FROM map WHERE position <@ path '(point(-1,-1), (point(1,-1), point(1,1), point(-1,1))'
> but this request returns me the point 0,0???
>
> Is anybody have a suggestions?
>
> Thanks.

Andrew Hunter PEng RPSurv PhD
Assistant Professor
Department of Geomatics Engineering
Schulich School of Engineering
University of Calgary

T: +403.220.7377
F: +403.284.1980
E: ahunter (at) ucalgary (dot) ca
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2010-09-26 13:05:44 Re: psql copy command - 1 char limitation on delimiter
Previous Message Peter Eisentraut 2010-09-26 11:57:50 Re: ECPG - Some errno definitions don't match to the manual