Re: "IN" in a geometric database using data type "point" - Mailing list pgsql-general

From Andrew Hunter
Subject Re: "IN" in a geometric database using data type "point"
Date
Msg-id 71744C2E-444A-433D-93F7-769EDDF9E73D@ucalgary.ca
Whole thread Raw
In response to "IN" in a geometric database using data type "point"  (Romain Billoir <billoirr@gmail.com>)
List 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





pgsql-general by date:

Previous
From: Gurjeet Singh
Date:
Subject: Re: 9.0RC1 error variable not found in subplantarget lists
Next
From: Merlin Moncure
Date:
Subject: Re: psql copy command - 1 char limitation on delimiter