
我还有一个名为’business’的独立表,其几何列’office_geom'(‘POINT’)表示办公室的位置.
我的目的是从“旅行”表中选择记录,其目的地距离任何办公地点不到1000米.
我需要什么查询才能获得我需要的结果?
解决方法 可以使用子查询或连接来完成.使用子查询的示例:SELECT * FROM business WHERE EXISTS( SELECT 1 FROM trip WHERE ST_distance_Sphere(trip.destination_geom,business.office_geom) < 1000)
但是这个查询不会使用索引,并且可能需要很长时间才能处理大数据集.如果需要,可以从几何创建地理列,在地理列上创建空间索引,并使用ST_DWithin:
select * from business b join trip t on ST_DWithin(trip.destination_geogr,business.office_geogr,1000)总结
以上是内存溢出为你收集整理的postgresql – PostGIS:从其他点查找特定半径范围内的点全部内容,希望文章能够帮你解决postgresql – PostGIS:从其他点查找特定半径范围内的点所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)