PostGIS 查詢點在線上


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) 
        )

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM