加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

postgresql空间函数示例

(2016-08-15 13:38:21)
分类: PostgreSQL
SELECT *
  FROM mypgis.j建筑_j建筑物 TA  
  WHERE EXISTS (SELECT 1 FROM mypgis.地块 TB WHERE ST_Contains(TA.shape,TB.shape)='true')
  --计算距离
SELECT st_distance('01010000000000006061185D400000000039F64340'::geometry, '010100000000000020064D5D4000000080C8904340'::geometry);

--查看某一个点是否在某个多边形内 返回t表示在范围内
SELECT  ST_Contains( ST_MakePolygon(ST_GeomFromText('LINESTRING ( 121.312350 30.971457 , 121.156783 31.092221 , 121.353250 31.278195 , 121.509125 31.157431 , 121.312350 30.971457 ) ')) ,st_point(121.332378,31.07106) )
--查看某一个点是否在某个多边形内 返回f表示不在范围内
SELECT  ST_Contains( ST_MakePolygon(ST_GeomFromText('LINESTRING ( 121.312350 30.971457 , 121.156783 31.092221 , 121.353250 31.278195 , 121.509125 31.157431 , 121.312350 30.971457 ) ')) ,st_point(121.632378,31.07106) )

SELECT COUNT(0) FROM mypgis.j建筑_j建筑物 TA --T土地利用现状_D地类图斑

SELECT *
  FROM mypgis.T土地利用现状_D地类图斑 TA  
  WHERE ST_Contains(TA.shape,ST_POINT(54279.602199999617,42051.124600000678))='true' 

  --LINESTRING ( 121.312350 30.971457 , 121.156783 31.092221 , 121.353250 31.278195 , 121.509125 31.157431 , 121.312350 30.971457 )
  
--以wkt格式查看空间图形
  select ST_AsText(shape),shape from mypgis.j建筑_j建筑物 TA 

  select ST_geomfromText('MULTILINESTRING((1 1,2 3,3 4,3 1,2 1,1 1),(1 2,2 3,4 5))')

  [postgres@localhost ~]$pgsql2shp -f test.shp -P 123456 -u postgres postgis sites

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有