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)实现缓冲区的计算

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏desperate633

LintCode 爬楼梯题目分析代码小结

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

7420
来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第09章 启动并运行TensorFlow

TensorFlow 是一款用于数值计算的强大的开源软件库,特别适用于大规模机器学习的微调。 它的基本原理很简单:首先在 Python 中定义要执行的计算图(例...

15430
来自专栏简书专栏

基于tensorflow、CNN、清华数据集THUCNews的新浪新闻文本分类

tensorflow是谷歌google的深度学习框架,tensor中文叫做张量,flow叫做流。 CNN是convolutional neural netwo...

1.8K10
来自专栏深度学习计算机视觉

pytorch demo 实践

相关环境 python opencv pytorch ubuntu 14.04 pytorch 基本内容 60分钟快速入门,参考:https://blog...

78260
来自专栏后端技术探索

一致性hash算法清晰详解!

consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 ...

10420
来自专栏智能算法

深度学习三人行(第2期)---- TensorFlow爱之再体验

上一期,我们一起学习了TensorFlow的基础知识,以及其在线性回归上的初体验,该期我们继续学习TensorFlow方面的相关知识。学习的路上,我们多多交流,...

370100
来自专栏深度学习之tensorflow实战篇

python下Matplotlib绘图案例与常见设置简介

首先一幅Matplotlib的图像组成部分介绍。 基本构成 在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个A...

51760
来自专栏IT派

PyTorch和Tensorflow版本更新点

导语:今天为大家带来最近更新的Pytorch的更新点介绍,另外,小编Tom邀请你一起搞事情!,源代码可以扫描二维码进群找小编获取哦~ Tensorflow 主...

52850
来自专栏人人都是极客

4.训练模型之准备训练数据

终于要开始训练识别熊猫的模型了, 第一步是准备好训练数据,这里有三件事情要做: 收集一定数量的熊猫图片。 将图片中的熊猫用矩形框标注出来。 将原始图片和标注文件...

51780
来自专栏null的专栏

挑战数据结构和算法面试题——最大间隔

题目来自伯乐在线,欢迎有不同答案的同学来一起讨论。 ? 分析: 本题首先需要理解清楚最大间隔的最小: 最初的间隔为:[1,1,4,1],此时最大间隔为4 删...

32030

扫码关注云+社区

领取腾讯云代金券