一、集合对象关系函数
ST_Distance(geometry, geometry): 获取两个几何对象间的距离
ST_DWithin(geometry, geometry, float): 如果两个几何对象间距离在给定值范围内,则返回TRUE
ST_Equals(geometry, geometry):判断两个几何对象是否相等(比如LINESTRING(0 0, 2 2)
和LINESTRING(0 0, 1 1, 2 2)是相同的几何对象)
ST_Disjoint(geometry, geometry):判断两个几何对象是否分离
ST_Intersects(geometry, geometry):判断两个几何对象是否相交
postgre中:
ST_Intersects(A,B),如果A,B之间的交集不生成空集,则返回t,否则返回f
oracle和sqlite中:
ST_Intersects(A,B),如果A,B之间的交集不生成空集,则返回1,否则返回0
ST_Touches(geometry, geometry):判断两个几何对象的边缘是否接触
ST_Crosses(geometry, geometry): 判断两个几何对象是否互相穿过
ST_Within(geometry A, geometry B):判断A是否被B包含
ST_Overlaps(geometry, geometry):判断两个几何对象是否是重叠
ST_Contains(geometry A, geometry B):判断A是否包含B
ST_Covers(geometry A, geometry B):判断A是否覆盖 B
ST_CoveredBy(geometry A, geometry B):判断A是否被B所覆盖
ST_Relate(geometry, geometry, intersectionPatternMatrix):通过DE-9IM 矩阵判断两个几何对象的
关系是否成立
ST_Relate(geometry, geometry):获得两个几何对象的关系(DE-9IM矩阵)
二、集合对象处理函数
ST_Centroid(geometry):获取几何对象的中心
ST_Area(geometry):面积量测
ST_Length(geometry):长度量测
ST_PointOnSurface(geometry):返回曲面上的一个点
ST_Boundary(geometry):获取边界
ST_Buffer(geometry, double, [integer]):获取缓冲后的几何对象
ST_ConvexHull(geometry):获取多几何对象的外接对象
ST_Intersection(geometry, geometry):获取两个几何对象相交的部分
ST_Shift_Longitude(geometry):将经度小于0的值加360使所有经度值在0-360间
ST_SymDifference(geometry A, geometry B):获取两个几何对象不相交的部分(A、B可互换)
ST_Difference(geometry A, geometry B):从A去除和B相交的部分后返回
ST_Union(geometry, geometry):返回两个几何对象的合并结果
ST_Union(geometry set):返回一系列几何对象的合并结果
ST_MemUnion(geometry set):用较少的内存和较长的时间完成合并操作,结果和ST_Union相同
三、集合对象存取函数
ST_AsText(geometry):获取几何对象的WKT描述
ST_AsBinary(geometry):获取几何对象的WKB描述
ST_SRID(geometry):获取几何对象的空间参考ID
ST_Dimension(geometry):获取几何对象的维数
ST_Envelope(geometry):获取几何对象的边界范围
ST_IsEmpty(geometry):判断几何对象是否为空
ST_IsSimple(geometry):判断几何对象是否不包含特殊点(比如自相交)
ST_IsClosed(geometry):判断几何对象是否闭合
ST_IsRing(geometry):判断曲线是否闭合并且不包含特殊点
ST_NumGeometries(geometry):获取多几何对象中的对象个数
ST_GeometryN(geometry,int):获取多几何对象中第N个对象
ST_NumPoints(geometry):获取几何对象中的点个数
ST_PointN(geometry,integer):获取几何对象的第N个点
ST_ExteriorRing(geometry):获取多边形的外边缘
ST_NumInteriorRings(geometry):获取多边形内边界个数
ST_NumInteriorRing(geometry):获取多边形内边界个数
ST_InteriorRingN(geometry,integer):获取多边形的第N个内边界
ST_EndPoint(geometry):获取线的终点
ST_StartPoint(geometry):获取线的起始点
GeometryType(geometry):获取几何对象的类型
ST_GeometryType(geometry):获取几何对象的类型 ,但是不检查M值,即POINTM对象会被判断为point
ST_X(geometry):获取点的X坐标
ST_Y(geometry):获取点的Y坐标
ST_Z(geometry):获取点的Z坐标
ST_M(geometry):获取点的M值
四、几何测量函数
ST_Area(geometry): 量测面积
ST_distance_sphere(point, point):根据经纬度点计算在地球曲面上的距离,单位米,地球半径取值
6370986米
ST_distance_spheroid(point, point, spheroid):使用指定的地球椭球参数
ST_length2d(geometry):量测2D对象长度
ST_length3d(geometry):量测3D对象长度
ST_length_spheroid(geometry,spheroid):根据经纬度对象计算在地球曲面上的长度
ST_length3d_spheroid(geometry,spheroid)
ST_distance(geometry, geometry):量测两个对象间距离
ST_max_distance(linestring,linestring):量测两条线之间的最大距离
ST_perimeter(geometry):量测2D对象的周长
ST_perimeter2d(geometry)
ST_perimeter3d(geometry):量测3D对象的周长
ST_azimuth(geometry, geometry):量测两点构成的方位角,单位弧度
五、几何对象编辑
ST_AddBBOX(geometry):给几何对象添加一个边界,会使查询速度加快
ST_DropBBOX(geometry):删除几何对象的边界
ST_AddPoint(linestring, point, [])
ST_RemovePoint(linestring, offset)
ST_SetPoint(linestring, N, point): 添加、删除、设置点
ST_Force_collection(geometry)
ST_Force_2d(geometry)
ST_Force_3dz(geometry), ST_Force_3d(geometry),
ST_Force_3dm(geometry)
ST_Force_4d(geometry)
ST_Multi(geometry):几何对象类型转换
ST_Transform(geometry,integer):将几何对象转化到指定空间参考
ST_Affine(geometry, float8, float8, float8, float8, float8, float8, float8, float8,
float8, float8, float8, float8):对3D几何对象作仿射变化
ST_Affine(geometry, float8, float8, float8, float8, float8, float8):对2D几何对象作仿射变化
ST_Translate(geometry, float8, float8, float8):对几何对象作偏移
ST_Scale(geometry, float8, float8, float8):对几何对象作缩放
ST_RotateZ(geometry, float8)
ST_RotateX(geometry, float8)
ST_RotateY(geometry, float8):对3D几何对象作旋转
ST_TransScale(geometry, float8, float8, float8, float8):对2D对象作偏移和缩放
ST_Reverse(geometry):反转
ST_ForceRHR(geometry):转化到右手定则
参考IsSimple函数
ST_Simplify(geometry, tolerance)
ST_SimplifyPreserveTopology(geometry, tolerance):使用Douglas-Peuker算法
ST_SnapToGrid(geometry, originX, originY, sizeX, sizeY)
ST_SnapToGrid(geometry, sizeX, sizeY), ST_SnapToGrid(geometry, size):讲几何对象顶点捕捉到
网格
ST_SnapToGrid(geometry, geometry, sizeX, sizeY, sizeZ, sizeM):第二个参数为点,指定原点坐标
ST_Segmentize(geometry, maxlength):分段
ST_LineMerge(geometry):合并为线