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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 |