与 ST_Geometry 配合使用的 SQL 函数

与 ST_Geometry 配合使用的 SQL 函数

进行以下任意操作时,会创建特定的 SQL 函数和类型:

  • 在 Oracle 或 PostgreSQL 数据库中创建地理数据库。
  • 在 Oracle 或 PostgreSQL 数据库中安装 ST_Geometry 空间数据类型。
  • 使用 createSQLiteDatabase ArcPy 函数创建 SQLite 数据库,并指定 ST_Geometry 空间数据类型。

在 Oracle 和 PostgreSQL 数据库中,ST_Geometry 类型及其函数创建于 sde 用户的方案中。在 SQLite 中,类型和函数存储在一个库中,在对 SQLite 数据库执行 SQL 之前必须加载该库。

本帮助部分提供了一个可与 ST_Geometry 空间数据类型配合使用的函数列表及其描述。函数主题的结构如下:

  • 定义

    函数的描述

  • 语法

    用于使用函数的正确语法

    请注意,对于关系运算符来说,参数的指定顺序十分重要:第一个参数应表示从中进行选择的表,而第二个参数应表示正用作过滤器的表。

  • 返回类型

    执行函数时所返回的数据类型

  • 示例

    使用特定函数的示例

注:

该部分中的示例不会为创建的表构建空间索引。要创建空间索引,请参阅为包含 ST_Geometry 列的表创建空间索引以获得相关说明。

SQL 函数的列表

单击下面的链接将会转到可与 Oracle、PostgreSQL 和 SQLite 中的 ST_Geometry 类型配合使用的函数。

在 Oracle 中使用 ST_Geometry 函数时,必须使用 sde 对函数和运算符进行限定。例如,ST_Buffer 将为 sde.ST_Buffer。添加 sde. 将向软件说明该函数存储在 sde 用户的方案中。对于 PostgreSQL,可选择是否进行限定,但包括限定符是一个很好的做法。与 SQLite 配合使用函数时,不包括进行限定,因为在 SQLite 数据库中没有 sde 方案。

提示:

对于 ST_Geometry 之外的空间类型(例如 PostGIS 几何类型或 Oracle SDO_Geometry 类型),请分别参阅 PostGIS 或 Oracle Spatial 文档以了解有关各个类型使用的函数的信息。可在 www.postgis.org中找到 PostGIS 文档。Oracle 文档可在 Oracle 帮助中心中找到。

ST_Geometry SQL 函数可以根据用途进行分组。

构造函数

构造函数会获取一种几何类型或几何的文本说明,然后创建一个几何。下表列出了构造函数,并指出哪些 ST_Geometry 实现支持所有的构造函数。

构造函数

函数 Oracle PostgreSQL SQLite

ST_Curve

X

 

X

ST_GeomCollection

X

X

 

ST_GeomCollFromWKB

 

X

 

ST_Geometry

X

X

X

ST_GeomFromText

X

 

X

ST_GeomFromWKB

     

ST_LineFromText

X

 

X

ST_LineFromWKB

X

X

X

ST_LineString

X

X

X

ST_MLineFromText

X

 

X

ST_MLineFromWKB

X

X

X

ST_MPointFromText

X

 

X

ST_MPointFromWKB

X

X

X

ST_MPolyFromText

X

 

X

ST_MPolyFromWKB

X

X

X

ST_MultiCurve

X

   

ST_MultiLineString

X

X

X

ST_MultiPoint

X

X

X

ST_MultiPolygon

X

X

X

ST_MultiSurface

X

   

ST_Point

X

X

X

ST_PointFromText

X

 

X

ST_PointFromWKB

X

X

X

ST_PolyFromText

X

 

X

ST_PolyFromWKB

X

X

X

ST_Polygon

X

X

X

ST_Surface

X

 

X

存取器函数

有很多函数都采用一个或多个几何作为输入,并返回关于几何的特定信息。

其中一些函数会检查要素是否符合特定条件。如果几何满足条件,则函数会返回 1 或 t(表示 TRUE)。如果几何不满足条件,则函数会返回 0 或 f(表示 FALSE)。

如无特殊说明,这些函数适用于所有实现。

存取器函数

ST_Area

ST_AsBinary

ST_AsText

ST_Centroid

ST_CoordDim

ST_Dimension

ST_EndPoint

ST_Entity(仅限 Oracle 和 SQLite)

ST_GeometryType

ST_GeoSize(仅限 PostgreSQL)

ST_Is3d(仅限 Oracle 和 SQLite)

ST_IsClosed

ST_IsEmpty

ST_IsMeasured(仅限 Oracle 和 SQLite)

ST_IsRing

ST_IsSimple

ST_Length

ST_M

ST_MaxM

ST_MaxX

ST_MaxY

ST_MaxZ

ST_MinM

ST_MinX

ST_MinY

ST_MinZ

ST_NumGeometries

ST_NumInteriorRing

ST_NumPoints

ST_SRID

ST_StartPoint

ST_X

ST_Y

ST_Z

关系函数

关系函数将几何作为输入并确定各几何之间是否存在特定关系。如果满足空间关系的条件,则这些函数会返回 1 或 t(表示 TRUE)。如果未满足条件(不存在关系),这些函数会返回 0 或 f(表示 FALSE)。

如无特殊说明,这些函数适用于所有实现。

关系函数

ST_Contains

ST_Crosses

ST_Disjoint

ST_EnvIntersects(仅限 Oracle 和 SQLite)

ST_Equals

ST_Intersects

ST_OrderingEquals(仅限 Oracle 和 PostgreSQL)

ST_Overlaps

ST_Relate

ST_Touches

ST_Within

几何函数

这些函数利用空间数据并对其执行分析,然后返回新的空间数据。

如无特殊说明,这些函数适用于所有实现。

几何函数

ST_Aggr_ConvexHull(仅限 Oracle 和 SQLite)

ST_Aggr_Intersection(仅限 Oracle 和 SQLite)

ST_Aggr_Union(仅限 Oracle 和 SQLite)

ST_Boundary

ST_Buffer

ST_ConvexHull

ST_Difference

ST_Distance

ST_Envelope

ST_Equalsrs(仅限 PostgreSQL)

ST_ExteriorRing

ST_GeometryN

ST_InteriorRingN

ST_Intersection

ST_PointN

ST_PointOnSurface

ST_SymmetricDiff

ST_Transform

ST_Union

转载自:https://blog.csdn.net/usrnck0709/article/details/80264241

You may also like...