postgis常用函数介绍(一)

概述:

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-13 07:16:37

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

PostGis常用函数中文介绍

记录常用PostGis常用函数: 1.OGC标准函数 管理函数: 添加几何字段 AddGeometryColumn(, , , , , ) 删除几何字段 DropGeometryColumn(, , ) 检查数据库几何字段并在geometry_columns中归档 Probe_Geometry_Columns() 给几何对象设置空间参考(在通过一个范围做空间查询时常用) ST_SetSRID(geometry, integer) 几何对象关系函数 : 获取两个几何对象间的距离 ST_Distan

opencv 常用函数介绍

××××××××××××××××××××××××××××××××××××××× CvScalar imgmean,imgstd; double imgmax,imgmin; cvAvgSdv(img,&imgmean,&imgstd); cvMinMaxLoc(img,&imgmin,&imgmax,NULL,NULL); printf("mean:%f std:%f max:%f,min:%f\n",imgmean.val[0],imgstd.val[

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

下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档. 一.字符串操作常用函数介绍 1.Contains func Contains(s, substr string) bool 功能:字符串s中是否包含substr,返回bool值 示例: fmt.Println(strings.Contains("seafood", "foo")) fmt.Println(strings.Contains("seafood&qu

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

LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("1024");//设置1行数据最大长度,经常会使用到 web_reg_save_param("SupplierId", "LB=SupplierId>", "RB=</b:SupplierId", "SEARCH=BODY&

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

sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项sysdatabases 主数据库 服务器中的数据库syslanguages 主数据库 语言syslogins 主数据库 登陆帐号信息sysoledbusers 主数据库 链接服务器登陆信息sysprocesses 主数据库 进程 sysremotelogins主数据库 远程登录帐号syscolumn

oracle中110个常用函数介绍

1. ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2. CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C --

Web常用函数介绍(LoadRunner相关)

介绍大纲:1. web_url2. web_image3. web_link4. web_submmit_form 详细介绍: 一. web_url web_url 语法: Int Web_url(const char *name, const char * url, <Lists of Attributes>, [EXTRARES,<Lists of Resource Attributes>,LAST) 返回值 成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)

Curl常用函数介绍

一.LibCurl基本编程框架 在基于LibCurl的程序里,主要采用callback function (回调函数)的形式完成传输任务,用户在启动传输前设置好各类参数和回调函数,当满足条件时libcurl将调用用户的回调函数实现特定功能.下面是利用libcurl完成传输任务的流程: 1. 调用curl_global_init()初始化libcurl 2. 调用curl_easy_init()函数得到 easy interface型指针 3. 调用curl_easy_setopt()设置传输选项

oracle常用函数介绍

字符函数 数学函数 日期函数 转换函数 to_char(数字/日期)是把日期或数字转换为字符串 将数字转换成指定格式 to_char(1210.73, '9999.9') -- would return '1210.7' to_char(1210.73, '9,999.99') -- would return '1,210.73' to_char(1210.73, '$9,999.00') -- would return '$1,210.73' to_char(21, '000099') --