[postgis-tickets] [PostGIS] #2422: geography regression difference ST_DWithin
PostGIS
trac at osgeo.org
Fri Jan 31 20:22:24 PST 2014
#2422: geography regression difference ST_DWithin
---------------------+------------------------------------------------------
Reporter: robe | Owner: pramsey
Type: defect | Status: new
Priority: high | Milestone: PostGIS 2.1.2
Component: postgis | Version: 2.1.x
Keywords: |
---------------------+------------------------------------------------------
Comment(by robe):
Hey I think this might be the same issue I am having here: This is a
really sweet short example this guy provided to reproduce:
http://lists.osgeo.org/pipermail/postgis-users/2014-January/038619.html
email message added below. I was able to reproduce issue on my windows 7
64-bit running POSTGIS="2.2.0dev r12204" GEOS="3.4.2-CAPI-1.8.2 r3924"
PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.0, released 2013/04/24"
LIBXML="2.7.8" LIBJSON="UNKNOWN" RASTER
{{{
Hello,
I am using Ubuntu 12.04 with the official PostgreSQL apt repo (via
https://wiki.postgresql.org/wiki/Apt). I am running into an easily
reproducible issue, and was hoping for some help to solve this.
When using ST_Intersects() not all rows that intersect are returned. This
was not the case in previous versions that we have upgraded from.
These are the steps to reproduce on a fresh install of Ubuntu 12.04 with
all packages updated and PostGIS/PostgreSQL 9.3 installed:
test=# CREATE TABLE test (id serial, condition_geo geography);
CREATE TABLE
test=# INSERT INTO test (condition_geo) VALUES
(ST_Buffer(ST_GeogFromWKB(ST_MakePoint(20.0,30.0)),10.0));
INSERT 0 1
test=# SELECT id FROM test WHERE ST_Intersects("condition_geo",
ST_Buffer(ST_GeogFromText('POINT(20.0 30.0)'), 20.0)) IS TRUE;
id
----
1
(1 row)
test=# INSERT INTO test (condition_geo) VALUES
(ST_Buffer(ST_GeogFromWKB(ST_MakePoint(20.0,30.0)),10.0));
INSERT 0 1
test=# SELECT id FROM test WHERE ST_Intersects("condition_geo",
ST_Buffer(ST_GeogFromText('POINT(20.0 30.0)'), 20.0)) IS TRUE;
id
----
1
(1 row)
test=# SELECT id FROM test WHERE ST_Intersects("condition_geo",
ST_Buffer(ST_GeogFromText('POINT(20.0 30.0)'), 20.0)) IS TRUE AND id = 2;
id
----
2
(1 row)
Note that the SELECT should return both rows 1 and 2 in the first SELECT.
Any thoughts?
}}}
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2422#comment:28>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list