如何获取与PostGIS中给定圆相交的所有圆?

问题描述:

我试图找出存储在数据库中的所有圆圈(圆圈遍布世界各地),它们相交或重叠给定的圆圈。我已经存储的圆圈所示:如何获取与PostGIS中给定圆相交的所有圆?

CREATE TABLE circles(gid serial PRIMARY KEY, name varchar, code integer, the_geog geography(POLYGON,4326)); 

INSERT INTO circles (gid, name, code, the_geog) VALUES (1,"hello", 11,geometry(ST_Buffer(geography(ST_GeomFromText('POINT(48.732084 -3.459144)')), 1000))); 

现在,当我试图找出所有相交给定圆的圆圈,我得到这个错误:

ERROR: Only lon/lat coordinate systems are supported in geography. 

我m使用此查询获取数据:

select * from circles where st_intersects (circles.the_geog,ST_Buffer(ST_Transform(ST_GeomFromText('POINT(-105.04428 39.74779)', 4326), 2877), 1500)); 

有谁能告诉我我做错了什么吗?

我利用这方面的工作:

select * from circles where st_intersects (circles.the_geog,geometry(ST_Buffer(geography(ST_GeomFromText('POINT(13.28527 52.521711)')), 1000)));