http://blog.csdn.net/gisshixisheng/article/details/47701237

概述:

在进行地理信息系统开发的过程中,常用的空间数据库有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)实现缓冲区的计算

(转)postgis常用函数介绍(一)的更多相关文章

  1. (转)postgis常用函数介绍(二)

    http://blog.csdn.net/gisshixisheng/article/details/47903151 概述: 书接上文,本文继续讲解Postgres中常用的空间函数的使用. 常用函数 ...

  2. PostGis常用函数中文介绍

    记录常用PostGis常用函数: 1.OGC标准函数 管理函数: 添加几何字段 AddGeometryColumn(, , , , , ) 删除几何字段 DropGeometryColumn(, , ...

  3. [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍

    SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...

  4. MySQL常用函数介绍

    MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...

  5. go语言之进阶篇字符串操作常用函数介绍

    下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr st ...

  6. MySQL 常用函数介绍

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  7. SQL SERVER系统表和常用函数介绍

    sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项s ...

  8. promql 常用函数介绍

    Metrics类型 根据不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器).Gauge(仪表盘).Histogram(直方图).S ...

  9. 性能测试基础-开门篇3(LR常用函数介绍)

    LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("102 ...

随机推荐

  1. 从尾到头打印链表——剑指Offer

    https://www.nowcoder.net/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage= ...

  2. 【CV知识学习】Fisher Vector

    在论文<action recognition with improved trajectories>中看到fisher vector,所以学习一下.但网上很多的资料我觉得都写的不好,查了一 ...

  3. 终于理解java的classpath!

    JAVA 的CLASSPATH 上面这样是可以的!!!!哇, 再也不会出现编译或是运行的时候,class 找不到的问题了.终于明白为什么了. java -cp  /ysr/my-app  P  这条命 ...

  4. iOS 的单例模式 dispatch_once

    iOS 的单例模式 dispatch_once 有些变量仅仅须要初始化一次(如从文件里读取配置參数.读取设备型号等等),能够使用dispatch_once来进行读取优化.保证仅仅调用API一次,以后就 ...

  5. VM Workstation 虚拟机下如何安装VMtools

    不同版本Linux原理类似,这里以Debian为例. 1 根据提示点击Install Tools,CDROM中出现VmwareTools的安装包,在你的主文件夹下新建一个文件夹(随便叫什么都行,我新建 ...

  6. 西门子TCP/UDPport

    通过TCP和UDP数据传输的不同服务用到了哪些port? func=ll&objid=21874445&nodeid0=10806074&load=treecontent&am ...

  7. 快学Scala习题解答—第十章 特质

    10 特质 10.1 java.awt.Rectangle类有两个非常实用的方法translate和grow,但可惜的是像java.awt.geom.Ellipse2D这种类没有. 在Scala中,你 ...

  8. cas4.2的安装

    cas4.2使用的是gradle来构建项目的,项目代码在https://github.com/Jasig/cas下载. 然后之后进入项目的根目录,然后执行gradle来编译项目,如下: gradle ...

  9. [luogu_U15116]珈百璃堕落的开始

    https://www.zybuluo.com/ysner/note/1239458 题面 给定\(n\)个二元组\((x,y)\),问有多少种方案,使得选出其中几个后,\(\sum x=\sum y ...

  10. Linex系统 配置php服务器

    此文是可以参考 楼主也不是系统管理员只是迫不得已所以自己才找的  大家可以参考 .... ..... 安装apache 安装mysql 安装PHP 测试服务器 php -v 查询php的版本 就这些了 ...