跳到主要内容
跳到主要内容

用于处理多边形的函数

WKT

从各种 Geo Data Types 返回 WKT (Well Known Text) 几何对象。支持的 WKT 对象有:

  • POINT
  • POLYGON
  • MULTIPOLYGON
  • LINESTRING
  • MULTILINESTRING

语法

参数

geo_data 可以是以下 Geo Data Types 或其基础原始类型之一:

返回值

  • 对于 Point,返回 WKT 几何对象 POINT
  • 对于 Polygon,返回 WKT 几何对象 POLYGON
  • 对于 MultiPolygon,返回 WKT 几何对象 MULTIPOLYGON
  • 对于 LineString,返回 WKT 几何对象 LINESTRING
  • 对于 MultiLineString,返回 WKT 几何对象 MULTILINESTRING

示例

来自元组的 POINT:

来自元组数组或元组数组的 POLYGON:

来自多维元组数组的 MULTIPOLYGON:

readWKTMultiPolygon

将 WKT (Well Known Text) MultiPolygon 转换为 MultiPolygon 类型。

示例

类型输出
MultiPolygon[[[(2,0),(10,0),(10,10),(0,10),(2,0)],[(4,4),(5,4),(5,5),(4,5),(4,4)]],[[(-10,-10),(-10,-9),(-9,10),(-10,-10)]]]

输入参数

MULTIPOLYGON 开头的字符串

返回值

MultiPolygon

readWKTPolygon

将 WKT (Well Known Text) MultiPolygon 转换为 Polygon 类型。

示例

类型输出
Polygon[[(2,0),(10,0),(10,10),(0,10),(2,0)]]

输入参数

POLYGON 开头的字符串

返回值

Polygon

readWKTPoint

readWKTPoint 函数在 ClickHouse 中解析 Point 几何的 Well-Known Text (WKT) 表示,并返回 ClickHouse 内部格式的点。

语法

参数

  • wkt_string: 表示 Point 几何的输入 WKT 字符串。

返回值

该函数返回 Point 几何的 ClickHouse 内部表示。

示例

readWKTLineString

解析 LineString 几何的 Well-Known Text (WKT) 表示,并将其返回为 ClickHouse 内部格式。

语法

参数

  • wkt_string: 表示 LineString 几何的输入 WKT 字符串。

返回值

该函数返回 LineString 几何的 ClickHouse 内部表示。

示例

readWKTMultiLineString

解析 MultiLineString 几何的 Well-Known Text (WKT) 表示,并将其返回为 ClickHouse 内部格式。

语法

参数

  • wkt_string: 表示 MultiLineString 几何的输入 WKT 字符串。

返回值

该函数返回 MultiLineString 几何的 ClickHouse 内部表示。

示例

readWKTRing

解析 Polygon 几何的 Well-Known Text (WKT) 表示,并将其返回为 ClickHouse 内部格式的环(闭合线串)。

语法

参数

  • wkt_string: 表示 Polygon 几何的输入 WKT 字符串。

返回值

该函数返回环(闭合线串)几何的 ClickHouse 内部表示。

示例

polygonsWithinSpherical

根据一个多边形是否完全位于另一个多边形内返回真或假。参考 https://www.boost.org/doc/libs/1_62_0/libs/geometry/doc/html/geometry/reference/algorithms/within/within_2.html

示例

输入参数

返回值

UInt8,0 表示 false,1 表示 true

polygonsDistanceSpherical

计算两点之间的最小距离,其中一个点属于第一个多边形,另一个点属于另一个多边形。球面意味着坐标被解释为纯理想球体上的坐标,这对地球并不准确。使用这种类型的坐标系统加速执行,但当然不精确。

示例

输入参数

两个多边形

返回值

Float64

polygonsDistanceCartesian

计算两个多边形之间的距离

示例

输入参数

两个多边形

返回值

Float64

polygonsEqualsCartesian

如果两个多边形相等,则返回真

示例

输入参数

两个多边形

返回值

UInt8,0 表示 false,1 表示 true

polygonsSymDifferenceSpherical

计算两个多边形之间的空间集合理论对称差异 (XOR)

示例

输入参数

多边形

返回值

MultiPolygon

polygonsSymDifferenceCartesian

polygonsSymDifferenceSpherical 相同,但坐标处于笛卡尔坐标系中;更接近于现实世界的模型。

示例

输入参数

多边形

返回值

MultiPolygon

polygonsIntersectionSpherical

计算多边形间的交集(AND),坐标为球面坐标。

示例

输入参数

多边形

返回值

MultiPolygon

polygonsWithinCartesian

如果第二个多边形位于第一个多边形内,则返回真。

示例

输入参数

两个多边形

返回值

UInt8,0 表示 false,1 表示 true

polygonConvexHullCartesian

计算凸包。 参考

坐标处于笛卡尔坐标系中。

示例

输入参数

MultiPolygon

返回值

Polygon

polygonAreaSpherical

计算多边形的表面积。

示例

输入参数

Polygon

返回值

Float

polygonsUnionSpherical

计算并集 (OR)。

示例

输入参数

多边形

返回值

MultiPolygon

polygonPerimeterSpherical

计算多边形的周长。

示例

表示津巴布韦的多边形

这是表示津巴布韦的多边形:

polygonPerimeterSpherical 函数的使用

输入参数

返回值

polygonsIntersectionCartesian

计算多边形的交集。

示例

输入参数

多边形

返回值

MultiPolygon

polygonAreaCartesian

计算多边形的面积

示例

输入参数

Polygon

返回值

Float64

polygonPerimeterCartesian

计算多边形的周长。

示例

输入参数

Polygon

返回值

Float64

polygonsUnionCartesian

计算多边形的并集。

示例

输入参数

多边形

返回值

MultiPolygon

有关几何系统的更多信息,请参见关于 Boost 库的 演示文稿,这是 ClickHouse 使用的内容。