postgis常用的函数

常见函数:http://postgis.net/docs/reference.html

ST_GeometryType(geometry)    ——    返回几何图形的类型

ST_NDims(geometry)    ——    返回几何图形的维数

ST_SRID(geometry)    ——    返回几何图形的空间参考标识码

点(Points)

ST_X(geometry)    ——    返回X坐标

ST_Y(geometry)    ——    返回Y坐标

线串(Linestring)

ST_Length(geometry)    ——    返回线串的长度

ST_StartPoint(geometry)    ——    将线串的第一个坐标作为点返回

ST_EndPoint(geometry)    ——    将线串的最后一个坐标作为点返回

ST_NPoints(geometry)    ——    返回线串的坐标数量

多边形(Polygon)

ST_Area(geometry)    ——     返回多边形的面积

ST_NRings(geometry)    ——    返回多边形中环的数量(通常为1个,其他是孔)

ST_ExteriorRing(geometry)    ——    以线串的形式返回多边形最外面的环

ST_InteriorRingN(geometry, n)    ——    以线串形式返回指定的内部环

ST_Perimeter(geometry)    ——    返回所有环的长度

集合(Collection)

ST_NumGeometries(geometry)    ——    返回集合中的组成部分的数量

ST_GeometryN(geometry, n)    ——    返回集合中指定的组成部分

ST_Area(geometry)    ——    返回集合中所有多边形组成部分的总面积

ST_Length(geometry)    ——    返回所有线段组成部分的总长度

几何图形输入和输出

①Well-known text(WKT)

  • ST_GeomFromText(text, srid)    ——    返回geometry
  • ST_AsText(geometry)    ——    返回text
  • ST_AsEWKT(geometry)    ——    返回text

②Well-known binary(WKB)

  • ST_GeomFromWKB(bytea)    ——    返回geometry
  • ST_AsBinary(geometry)    ——    返回bytea
  • ST_AsEWKB(geometry)    ——    返回bytea

③Geographic Mark-up Language(GML)

  • ST_GeomFromGML(text)    ——    返回geometry
  • ST_ASGML(geometry)    ——    返回text

④Keyhole Mark-up Language(KML)

  • ST_GeomFromKML(text)    ——    返回geometry
  • ST_ASKML(geometry)    ——     返回text

⑤GeoJson

  • ST_AsGeoJSON(geometry)    ——    返回text

⑥Scalable Vector Graphics(SVG)

  • ST_AsSVG(geometry)    ——    返回text

postgis常用操作手册

查询所有函数:

SELECT * FROM pg_proc;

更新坐标系st_setsrid,查看坐标系:st_srid

创建空间索引:

1

2

3

4

5

6

7

8

CREATE INDEX [indexname] ON [tablename] USING GIST ( [geometryfield] );

example:create index idx_poi5_geom on poi5 using gist(geom);

使用空间查询:

select count(*) from poi5 a,poi5 b

where a.pid='20080243019'

and st_within(b.geom,st_buffer(a.geom,0.001));

执行计划:

如果不使用空间索引执行计划:

两个geometry之间关系:within、disjoint、intersects、union、intersection,difference

1

2

3

4

5

6

7

8

9

10

11

12

St_within(geom A,geom B)返回A是否处于B中

St_disjoint(geom A,geom B)返回A是否不在B中

St_intersects(geom A,geom B)返回A是否和B有接触

St_union(geom A,geom B)返回A+B两个几何的合并

St_intersection(geom A,geom B)返回A和B的交集

St_difference(geom A,geom B)返回A与B不相交的部分几何

select

st_difference(

st_buffer(

st_geomfromtext('Point(116 39)'),0.7),

st_buffer(

st_geomfromtext('Point(117 39)'),0.7)) geom

  

判断几何是否空:st_isempty(geom A)

几何类型转换:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

wkt转geometry:st_geomfromtext(wkt)

select st_geomfromtext('Point(122 33)')

geometry转wkt:st_astext(geometry)

select st_astext(st_geomfromtext('Point(122 33)'))

geometry转geojson:st_asgeojson(geometry)

select st_asgeojson(st_geomfromtext('Point(122 33)'))

geojson转geometry:st_geomfromgeojson(geojson)

select

st_geomfromgeojson(

st_asgeojson(st_geomfromtext('Point(122 33)')))

geometry转geohash:st_geohash(geometry)

select st_geohash(st_geomfromtext('Point(116 39)'))

geohash转geometry:st_geomfromgeohash

select st_geomfromgeohash('wwfmzesx7yvjugxr3nzv')

  

获取几何信息:

1

2

3

4

5

得到几何类型:st_geometrytype(geometry A)

根据经纬度,获取两点距离(单位:米):st_distance_sphere(point a,point b)

select

st_distance_sphere(st_geomfromtext('Point(116 39)'),

st_geomfromtext('Point(117 39)'))

  

如果两个几何在指定范围内,则返回true,否则false:st_dwithin(geom A,geom B)

1

2

3

select count(*) from poi5 a,poi5 b

where a.pid='20080243019'

and st_dwithin(b.geom,a.geom,0.001);

postgis常用的函数相关推荐

  1. jQuery中常用的函数方法总结

    jQuery中为我们提供了很多有用的方法和属性,自己总结的一些常用的函数,方法.个人认为在www.21kaiyun.com的紫微斗数星座在线排盘开发中会比较常用的,仅供大家学习和参考. 事件处理 re ...

  2. R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析

    R语言广义线性模型函数GLM.广义线性模型(Generalized linear models).GLM函数的语法形式.glm模型常用函数.常用连接函数.逻辑回归.泊松回归.系数解读.过散度分析 目录

  3. R语言常用sys函数汇总:sys.chmod、Sys.Date、Sys.time、Sys.getenv、Sys.getlocale、sys.getpid、sys.glob、sys.info等

    R语言常用sys函数汇总:sys.chmod.Sys.Date.Sys.time.Sys.getenv.Sys.getlocale.sys.getpid.sys.glob.sys.info等 目录

  4. mysql的聚合函数综合案例_MySQL常用聚合函数详解

    一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...

  5. excel中最常用的30个函数_最常用日期函数汇总excel函数大全收藏篇

    在我们的实际工作中,经常需要用到日期函数.日期函数那么多,你还只会用函数TODAY吗?那你就OUT了.今天一起来看下常用日期函数的用法! 1.DATE 函数DATE:返回在日期时间代码中代表日期的数字 ...

  6. MapInfo中常用查询函数及用法

    MapInfo中常用查询函数及用法: 函数用途 语法 备注 图层中选点 Str$(obj)="point": Str(String)表示字符串:point表示点: 图层中选线 St ...

  7. loadrunner写脚本常用C函数

    loadrunner写脚本常用C函数 strcat的串连两个字串. strchr返回指向第一次出现的字符串中的字符. STRCMP比较两个字符串来确定的字母顺序. STRCPY一个字符串复制到另一个地 ...

  8. linux c数字转字符串函数,Linux常用C函数—字符串转换篇

    Linux 常用C 函数-字符串转换篇 atof (将字符串转换成浮点型数) 相关函数 atoi ,atol ,strtod ,strtol ,strtoul 定义函数 double atof(con ...

  9. SQL常用字符串函数

    SQL常用字符串函数 一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用''括起来,但含其它字符的字符串必须用''括起来使用 ...

最新文章

  1. 全国计算机等级考试一级教程讲义资料,计算机等级考试一级教程讲义.docx
  2. PostProcessor
  3. 树莓派入门(树莓派登录的几种方式)
  4. 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建
  5. python3 mysqldb查询_python3 pymysql查询结果包含字段名
  6. Kdb+和Q语言使用-银行系统
  7. 如何开始在 Mac 上使用快捷方式?
  8. 谷歌移动UI框架Flutter入门
  9. 软件企业研发人员激励机制研究
  10. 我在windows10下,使用CMake gui 编译krita源码,CMake gui报错:LibMyPaint_DIR-NOTFOUND
  11. [Unity插件]物体轮廓特效HighlightPlus
  12. 基尔霍夫电压定律解析
  13. 《如何设计一个秒杀系统》——专栏笔记
  14. 前端之扇形图实现案例
  15. 再谈深度学习文本的表示
  16. 0004基于单片机智能垃圾桶控制系统设计
  17. 去掉 unigui 服务器端的 UniGUI Server 字样
  18. 撸码也要好心情-宝藏壁纸网站wallhaven分享
  19. 一分钟复习完CSS基础知识
  20. 北交大计算机在线作业,北交18秋《计算机应用基础》在线作业一

热门文章

  1. 芯片引脚外围电容有何作用?
  2. Spring-第一篇-快速入门
  3. kindle的下载电子书的资源网站
  4. XML转Json 设置指定节点为数组
  5. css清除浮动的四种方法(详细)
  6. 【英语词组】恋恋不忘Day6-1
  7. 红旗Linux的特点和应用范围,三大特性!红旗Linux Desktop 7体验
  8. 10Mbps是多少网速呢
  9. 宽带波束形成 恒定束宽波束形成 学习笔记
  10. centos7安装pip