postgresql多边形位置查询

时间:2015-09-23 00:25:42

标签: postgresql cartodb

有人可以帮我写一个查询来查找到a的所有最近的多边形 经纬度。

因此提供lat / long,我想找到所有最近的多边形。

这是我到目前为止所做的:

SELECT name
FROM questions_radius
WHERE mdsys.sdo_within_distance(
the_geom, 
mdsys.sdo_geometry(2001, 8307, mdsys.sdo_point_type( 
-120, 43, null), null, null), 'distance=500 unit=FOOT')= 'TRUE' 

但这给了我一个错误: 架构" mdsys"不存在。我正在使用cartoDB。有谁知道如何执行此查询?

1 个答案:

答案 0 :(得分:0)

我自己想出来了=)

继承我用过的东西:

SELECT * FROM questions_radius 
WHERE ST_DWithin(the_geom::geography,
ST_SetSRID(ST_MakePoint([user_latitude], [user_longitude]), 4326)::geography, [distance_in_meters])
ORDER BY the_geom <-> ST_SetSRID(ST_MakePoint([user_latitude],[user_longitude]),4326) ASC
LIMIT 100

这适用于查询最接近用户位置的点和多边形。只需提供以米为单位的纬度,经度和距离即可执行查询和完成。这很快。希望这有助于任何想要执行一些很酷的地理空间查询的人。 =)