postgresql多边形位置查询

postgresql polygon location query

谁能帮我写一个查询来找到所有最近的多边形 经纬度。

所以我无法提供 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。有人知道如何执行此查询吗?

我自己想出来的 =)

这是我使用的:

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

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