`
togeth
  • 浏览: 27594 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

POSTIGIS函数

阅读更多
1,基本操作函数

AddGeometryColumn(<schema_name>, <table_name>, <column_name>, <srid>, <type>, <dimension>)
给一个已存在属性数据表增加一个几何字段(geomtry column)。schema_name 指表的模式的名字,srid 必须是一个整数指对应于 SPATIAL_REF_SYS 表,type必须是一个大写的字符串,用来描述几何类型,例如:'POLYGON' 或者 'MULTILINESTRING'。
DropGeometryColumn(<schema_name>, <table_name>, <column_name>)
从一个空间数据表中删除一个几何字段。
ST_SetSRID(geometry, integer)
给一个几何对象(geometry)设置一个整型的SRID,对于在一个范围内的查询非常有用。
 
2. Geometry Relationship Functions
   几何空间数据关系函数
ST_Distance(geometry, geometry)
返回两个几何对象的距离(笛卡儿距离),不使用索引。
 
ST_DWithid(geometry, geometry, float)
如果一个几何对象(geometry)在另一个几何对象描述的距离(float)内,返回TRUE。如果有索引,会用到索引。

ST_Equals(geometry, geometry)
如果两个空间对象相等,则返回TRUE。用这个函数比用“=”更好,例如:
equals('LINESTRING(0 0, 10 10)','LINESTRING(0 0, 5 5, 10 10)') 返回 TRUE。
ST_Disjoint(geometry, geometry)
如果两个对象不相连,则返回TRUE。不要使用GeometryCollection作为参数。

ST_Intersects(geometry, geometry)
判断两个几何空间数据是否相交,如果相交返回true,不要使用GeometryCollection作为参数。
Intersects(g1, g2 ) --> Not (Disjoint(g1, g2 ))
不使用索引可以用_ST_Intersects.
ST_Touches(geometry, geometry)
如果两个几何空间对象存在接触,则返回TRUE。不要使用GeometryCollection作为参数。
a.Touches(b) -> (I(a) intersection I(b) = {empty set} ) and (a intersection b) not empty
不使用索引可以用_ST_Touches.
ST_Crosses(geometry, geometry)
如果两个几何空间对象存在交叉,则返回TRUE。不要使用GeometryCollection作为参数。
不使用索引可以用_ST_Crosses.
ST_Within(geometry A, geometry B)
如果几何空间对象A存在空间对象B中,则返回TRUE,不要使用GeometryCollection作为参数。
不使用索引可以用_ST_Within
ST_Overlaps(geometry, geometry)
如果两个几何空间数据存在交迭,则返回 TRUE,不要使用GeometryCollection作为参数。
不使用索引可以用_ST_Overlaps.
ST_Contains(geometry A, geometry B)
如果几何空间对象A包含空间对象B,则返回 TRUE,不要使用GeometryCollection作为参数。
这个函数类似于ST_Within(geometry B, geometry A)
不使用索引可以用_ST_Contains.
ST_Covers(geometry A, geometry B)
如果几何空间对象B中的所有点都在空间对象A中,则返回 TRUE。
不要使用GeometryCollection作为参数。
不使用索引可以用_ST_Covers.
ST_CoveredBy(geometry A, geometry B)
如果几何空间对象A中的所有点都在空间对象B中,则返回 TRUE。
3,Geometry Processing Functions
几何空间数据处理函数
ST_Centroid(geometry)
返回质心点,就是根据几何空间数据,活动该几何空间数据的中心点,返回一个空间点数据.
ST_Area(geometry)
如果几何空间数据为多边形,或者多多边形,则返回空间数据的外围(返回类型double precision) ;
ST_Length(geometry)
这个曲线在其相关的空间参考长度(返回类型double precision) ;
ST_PointOnSurface(geometry)
一定在几何空间线数据上的点,返回一个数据点
ST_Buffer(geometry, double, [integer])
buffer操作一个很有用函数,
这个函数的第一个参数是要操作的空间几何数据,第二个参数长度(距离),第三个参数为一个整型,
这个函数返回一个空间数据类型,以当前第一个参数空间几何数据为参考点,返回小于等于距离的空间
几何数据点,最后由这些点组成一个多边形空间数据,最后一个参数表示
在组成一个1/4圆的有几个点分隔。也就是说如果最好一个参数为8那么这个最后组成的多边形就是32边
的多边形,如果不指定这个参数,系统默认的是8
注意:第二个参数,距离它的单位为空间数据单位(度),在运算时需要进行单位换算,最后转换成度
,单位的换算关系如下:
1英里= 63360 米
1米=1/1852 海里
1海里= 1/60度
如果要进行具体的运算,需要进行一下单位换算,比如要求一个500米的范围,那么应该是
500*1/1852*1/60(度)
ST_Envelope(geometry)
这个函数可以返回mbr(空间最小外包矩形),传入参数可以是point line polygon。

ST_extent(geometry set)
这个函数可以对一个空间数据集进行操作,返回一个最小包含矩形(mbr).
如:SELECT EXTENT(GEOM) FROM GEOMTABLE GROUP BY CATEGORY

ST_Difference(geometry A, geometry B)
返回一个几何空间数据A不同于空间数据B的几何空间数据类型,不要使用GeometryCollection作为参数。
也就是说,如果A为一个line,B也为一个line,那么他们返回的类型就是B把A分割的多线。
如:
select ST_AsEWKT(ST_Difference(geomfromText('LINESTRING(1 1,2 3,3 4,3 1)'),geomfromText('LINESTRING(2 0,2 2,5 2,3 1)')))
返回的MULTILINESTRING((1 1,2 3,3 4,3 2),(3 2,3 1))
如果是A和B都是一个POLYGON多边形,那么返回的就是多多边形,如果相交,那么返回的就是B把A分割,并且不再B中的多多边形。
select ST_AsEWKT(ST_Difference(geomfromText('POLYGON((1 1,2 3,3 4,3 1,1 1))'),geomfromText('POLYGON((2 0,2 2,5 2,1 3,2 0))')))
ST_Union(geometry, geometry)
返回一个合并的几何空间数据,将两个几何空间数据合并为一个几何空间数据,或者GeometryCollection,不要使用GeometryCollection作为参数。

4 ,Geometry Accessors
ST_AsText(geometry)
将几何空间数据,转换成容易理解的空间数据文本格式,
例如:
(0,0 0,1 1,1 1,0 0,0)
转换后应该是这样的结果 POLYGON(0 0,0 1,1 1,1 0,0 0)
ST_SRID(geometry)
返回当前几何空间数据的SRID值
ST_IsClosed(geometry)
判断几何空间数据是否是闭合,就是判断起始点和终点坐标是相同的,如果是相同的返回true,否则返回false.
ST_IsRing(geometry)
这个函数参数的对象是line,判断起始点和终点坐标是否相同,
如果闭合(这个曲线除了起始点和终点相同外,没有其他相交点)怎返回true,否则false,
ST_NumPoints(geometry)
返回几何空间数据lineString上的第一条线上点的个数。

GeometryType(geometry)
判断几何空间数据的类型。
例如
select GeometryType(geomfromText('MULTILINESTRING((1 1,2 3,3 4,3 1,2 1,1 1),(1 2,2 3,4 5))'))
返回的类型为 MULTILINESTRING。
分享到:
评论

相关推荐

    隶属函数在MATLAB中应用_隶属度函数_隶属函数matlab_隶属度_隶属函数在MATLAB中应用_

    在MATLAB中,隶属函数是模糊逻辑系统中的关键概念,用于描述模糊集合中元素的“模糊程度”。这篇详尽的讲解将深入探讨如何在MATLAB环境中编写和计算隶属函数,以及它们在实际应用中的作用。 一、隶属度函数概念 ...

    函数及初等函数的概念性质和图像(包括基本初等函数)

    标题“函数及初等函数的概念性质和图像(包括基本初等函数)”表明本文将要详细讨论函数这一数学领域的基本概念、特性以及它们的图形表示,特别强调的是基本初等函数在这些方面的特征。基本初等函数是构成更复杂函数...

    ArcGIS教程:半变异函数与协方差函数

    半变异函数和协方差函数是地理信息系统(GIS)中地统计分析的重要工具,尤其在ArcGIS的Geostatistical Analyst模块中被广泛应用于空间数据的建模和预测。这两种函数都是用来量化空间数据的统计相关性和空间结构,即...

    PHP函数 -函数的高级用法.ppt

    * PHP函数 -----函数的高级用法 课程内容 可变函数 引用函数返回值 函数的嵌套调用 函数的递归调用 回调函数 一、可变函数 一个变量的值可以为另一个变量的名称。此外,一个变量的值还可以是一个函数的名称,这就是...

    maxwell常用函数.txt

    函数名称 功能描述 表达式用法 abs 绝对值函数 abs(x) 6 sin 正弦函数 sin(x) cos 余弦函数 cos(x) tan 正切函数 tan(x) asin 反正弦函数 asin(x) acos 反余弦函数 acos(x) atan 反正切函数 atan(x) atan2 ...

    C/C++/Linux函数函数插桩(打桩)指南

    1. 函数插桩的基本概念 插桩是一种软件工程中的技术,主要用于在程序中添加额外的代码段,以便在特定的执行点收集信息、监控行为或执行特定操作。这一技术通常用于软件测试、性能分析、调试和日志记录。在C/C++编程...

    vc++ 函数经典 vc++ 函数经典 vc++ 函数经典

    在VC++编程环境中,函数是实现特定功能的基本代码单元,它们可以被其他代码多次调用,从而提高了程序的可重用性和效率。本篇将深入探讨VC++中的函数经典概念和应用。 一、函数定义与声明 在VC++中,函数的定义包括...

    MATLAB核函数算法

    在机器学习领域,核函数(Kernel Function)是一种强大的工具,用于将原始数据转换到高维空间,以便在非线性可分的情况下实现分类或回归。MATLAB作为一种强大的数学计算软件,提供了丰富的核函数库,使得研究人员和...

    C++将类的成员函数作为回调函数

    ### C++将类的成员函数作为回调函数 #### 背景与问题 在C++编程中,回调函数是一种常见的设计模式,它允许程序在特定的事件或条件下调用一个预先注册的函数。然而,当涉及到类的成员函数时,事情变得稍微复杂了...

    WinCC标准函数C语言

    WinCC标准函数C语言 WinCC标准函数是WinCC系统中的一个重要组件,提供了一系列的标准函数,用于控制和操作WinCC报警控件。这些函数可以根据需要进行修改和扩展,还可以创建自己的标准函数。 Alarm函数集是WinCC...

    Excel函数速查 chm

    本资料“Excel函数速查 chm”涵盖了多个领域的函数,包括数学和三角函数、统计函数、文本和数据函数以及财务函数等,总计超过200条函数介绍。下面将对这些函数类别进行详细的解释和说明。 一、数学和三角函数(60条...

    特殊函数计算手册

    由特定微分方程的解定义的特殊函数有正交多项式(如Chebyshev、Laguerre和Hermite多项式),Gamma函数,Legendre函数类,Bessel函数(如球Bessel、变型Bessel、Ricatti-Bessel函数等),Kelvin函数,Airy函数,...

    函数函数函数函数函数函数函数

    标题"函数函数函数函数函数函数函数"强烈强调了函数在编程中的重要性。描述提到的是个人积累的函数集合,用于知识的积累和应用,这表明我们可能在讨论一个自定义的函数库,旨在解决特定问题或优化某些任务。 在编程...

    CEC2014测试函数及相应函数解释说明

    Part A主要包含无约束单目标优化问题,这些问题通常涉及连续函数,有的是全局优化的经典难题,如高斯函数、鞍点问题、多模态函数等。这些函数设计的目标是测试算法在处理不同特性的函数时的表现,例如全局搜索能力、...

    复变函数 - 钟玉泉

    复变函数是数学领域的一个重要分支,主要研究的是复数域上的解析函数。钟玉泉教授在这一领域有着深入的研究和独特的见解。复变函数理论不仅在纯数学中占有核心地位,还在工程、物理、经济等多个领域有广泛的应用。...

    Linux C函数库参考手册完整版 含Linux C函数使用手册chm 中文pdf格式

    Linux C函数库参考手册是一套Linux C函数使用手册,这里还提供了LinuxC函数手册chm,帮助大家查找。在Linux下,使用到的C语言函数中文手册,全都有实例,如果你是大神,完全不需要,如果你对英文的手册感到头疼,...

    回调函数以及钩子函数的概念

    使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在...

    论文研究 - 关于零的黎曼Zeta函数,贝塞尔函数和高斯函数的共同性质

    研究了复数域中Riemann Xi函数(到zeta函数),修改后的Bessel函数和高斯(bell)函数的有限泰勒级数逼近中零的行为。 可以看出,在逼近高阶逼近的过程中,有限逼近中的零点如何逼近真正的零点,在高斯(贝尔)函数...

    strcmp函数 strcmp函数 strcmp函数

    strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数strcmp函数...

Global site tag (gtag.js) - Google Analytics