首页 > 其他 > 详细

PostGIS 查询点在线上

时间:2019-10-11 18:02:50      阅读:273      评论:0      收藏:0      [点我收藏+]

1、缓冲区法:查询数据库fm表里,与坐标(12989691.512 4798962.444)相距0.0001米的数据(3857坐标系)

SELECT id FROM fm where st_intersects(st_transform(st_buffer(st_transform(st_geomfromtext(point(12989691.512 4798962.444),3857),3857),1),3857),geom) ;
--如果坐标系统一,不用transform也可以
SELECT id FROM fm where st_intersects(st_buffer(st_geomfromtext(point(12989691.512 4798962.444)),0.0001),geom) ;

2、缓冲区法:查询fm表里,与点要素geometry相距0.0001米的要素

--geometry(例:0101000000D34D62709FC66841FA7E6A9C7C4E5241)
SELECT id FROM fm where st_intersects(st_buffer(0101000000D34D62709FC66841FA7E6A9C7C4E5241,0.0001),geom) ;

3、空间分析法:ST_Intersects查看相交

--带业务逻辑
select t.gid,t.geom from fm t where t.gid  in (
          select a.gid from fm a,(select c.* from zy c where c.gid = up_temprow.gid) b where ST_intersects(a.geom,b.geom) 
        )
--简化
select t.gid,t.geom from fm t where t.gid  in (
          select a.gid from fm a,zy b where ST_intersects(a.geom,b.geom) 
        )

 

PostGIS 查询点在线上

原文:https://www.cnblogs.com/giser-s/p/11655810.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!