Thanks for the response, especially as it was truncated by an accidental 
premature send.

I have solved my immediate problem by casting to geometry.

It is, however, worrrying that such fundamental errors exist in in the 
geography functions,as for example,

SELECT ST_Intersects('POINT(-160 -43)'::geography, 'POLYGON((-170 -80, -170 0, 
170 0, 170 -80, -170 -80))'::geography)
also returns FALSE, which is not a query on the outer fringe.

Incidently, the same query using && also gives an incorrect result.

SELECT 'POINT(-160 -43)'::geography && 'POLYGON((-170 -80, -170 0, 170 0, 170 
-80, -170 -80))'::geography

BTW I'm using PostGIS1.5.

I - Dave


David M. Kidd

Research Associate
Center for Population Biology
Silwood Park Campus
Imperial College London
0207 594 2470



________________________________
From: postgis-users-boun...@postgis.refractions.net 
[mailto:postgis-users-boun...@postgis.refractions.net] On Behalf Of Paragon 
Corporation
Sent: 18 April 2011 17:17
To: 'PostGIS Users Discussion'
Subject: Re: [postgis-users] ST_Intersects on geography

Hmm I didn't realize we use BOOM! in our errors, but I guess we do since I get 
the same message in 2.0 and 1.5. :)

I know there are issues with the outer fringes when you get into the -180 ... 
area which we have bug tickets in place for and patches not yet applied.  That 
could be one of them
try moving in a bit like 179.5 89 etc.

Unfortunately the guy who deals with these things is incognito at the moment
________________________________
From: postgis-users-boun...@postgis.refractions.net 
[mailto:postgis-users-boun...@postgis.refractions.net] On Behalf Of Kidd, David 
M
Sent: Monday, April 18, 2011 10:25 AM
To: postgis-users@postgis.refractions.net
Subject: [postgis-users] ST_Intersects on geography

Hi,

Applogies if the is a stupid newbie question.

I have am writing some some simple point in polygon searches on geographic data 
using ST_Intersects, but have been getting some unexpected results;

Searching for a point in the southern hemisphere:

SELECT ST_Intersects('POINT(-160 -43)'::geography, 'POLYGON((-180 -90, -180 0, 
180 0, 180 -90, -180 -90))'::geography)

Returns f

Searching for a point in the northern hemisphere:

SELECT ST_Intersects('POINT(160 43)'::geography, 'POLYGON((0 0, 0 90, 180 90, 
180 0, 0 0))'::geography)

ERROR:  BOOM! Could not generate outside point!
CONTEXT:  SQL function "st_intersects" statement 1

********** Error **********

ERROR: BOOM! Could not generate outside point!
SQL state: XX000
Context: SQL function "st_intersects" statement 1
This works though






David M. Kidd

Research Associate
Center for Population Biology
Silwood Park Campus
Imperial College London
0207 594 2470


_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to