有人可以帮我写一个查询来查找到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。有谁知道如何执行此查询?
答案 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
这适用于查询最接近用户位置的点和多边形。只需提供以米为单位的纬度,经度和距离即可执行查询和完成。这很快。希望这有助于任何想要执行一些很酷的地理空间查询的人。 =)