前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >postgis常用函数介绍(一)

postgis常用函数介绍(一)

作者头像
lzugis
发布2018-10-23 15:08:48
2.8K0
发布2018-10-23 15:08:48
举报

概述:

在进行地理信息系统开发的过程中,常用的空间数据库有esri的sde,postgres的postgis以及mySQL的mysql gis等等,在本文,给大家介绍的是有关postgis的一些常用函数的意思以及使用。

说明:

本文中所使用postgres的版本为9.4.0,你可从我的百度网盘获取相关的安装包,安装包地址如下:

    postgres:http://pan.baidu.com/s/1o69WORK

    postgres空间扩展:http://pan.baidu.com/s/1c0fPfpe

先安装postgres,在安装postgres的空间扩展,软件安装好之后就开始了解下postgres的常用函数吧。

wkt简介:

WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。WKT可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多面体。可以通过几何集合的方式来表示不同维度的几何对象。 几何物体的坐标可以是2D(x,y),3D(x,y,z),4D(x,y,z,m),加上一个属于线性参照系统的m值。 以下为几何WKT字串样例: POINT(6 10) LINESTRING(3 4,10 50,20 25) POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)) MULTIPOINT(3.5 5.6, 4.8 10.5) MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4)) MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3))) GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) POINT ZM (1 1 5 60) POINT M (1 1 80) POINT EMPTY MULTIPOLYGON EMPTY

函数介绍:

1、如何找到postgres的函数

安装完成之后,打开pgAdmin,打开之后,打击点开如下图:

注意:

图中数据库lzugis是一个空间数据库,找到框架->public,展开public之后如下图:

看到了吧,我们所要找的函数就在这个下面,此外,常用的还有数据表,触发器函数等,函数展开之后截图如下:

图中,以下划线开头的表示系统函数,在平常应用中是使用不到的,不以下划线开头是咱们有可能用到的函数,所以,在使用的过程中可要仔细看看了。

2、常用函数

wkt和geometry的互换

postgres中,可以通过函数st_astext(geom)实现geometry到wkt的转换,通过st_geomfromtext(wkt,wkid)实现wkt到geometry的转换,具体使用如下:

st_astext(geom)

通常,我们通过此函数将数据库中的对象取出来用以前台的展示。

st_geomfromtext(wkt,wkid)

通常,我们通过此函数将前台操作完的数据提交到后台,进行入库或者别的空间相关的操作,比如缓冲区分析,距离计算等。

获取点的x和y坐标值,获取线/面的xmin,ymin,xmax,ymax

可以通过函数st_x(geom)和st_y(geom)函数获取点对象的x和y坐标值;

可以通过st_xmin(geom),st_ymin(geom),st_xmax(geom),st_ymax(geom)函数获取线/面对象的四至。

距离,长度和面积计算

可以通过函数st_distance(geom,geom)或者st_distance(wkt,wkt)函数计算两点的距离

可以通过st_length(geom)或者st_length(wkt)计算线的长度。

可以通过函数st_area(geom)或者st_area(wkt)计算面积。

缓冲区计算

可以通过函数st_buffer(geom,distance)或者st_buffer(wkt,distance)实现缓冲区的计算

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年08月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档