跳转到主要内容

WKT

从各种Geo 数据类型生成 WKT (Well Known Text) 几何对象。支持的 WKT 对象包括:
  • POINT
  • POLYGON
  • MULTIPOLYGON
  • LINESTRING
  • MULTILINESTRING
语法
参数 geo_data 可以是以下 Geo 数据类型 之一,或其底层基本类型: 返回值
  • 对于 Point,返回 WKT 几何对象 POINT
  • 对于 Polygon,返回 WKT 几何对象 POLYGON
  • 对于 MultiPolygon,返回 WKT 几何对象 MULTIPOLYGON
  • 对于 LineString,返回 WKT 几何对象 LINESTRING
  • 对于 MultiLineString,返回 WKT 几何对象 MULTILINESTRING
示例 来自 Tuple 的 POINT:
由元组数组或元组数组的数组构建的 POLYGON:
由多维元组数组组成的数组构造的 MULTIPOLYGON:

readWKTMultiPolygon

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

示例

输入参数

MULTIPOLYGON 开头的 String 字符串

返回值

MultiPolygon

readWKTPolygon

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

示例

输入参数

POLYGON 开头的 String

返回值

Polygon

readWKTPoint

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

语法

参数

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

返回值

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

示例

readWKTLineString

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

语法

参数

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

返回值

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

示例

readWKTMultiLineString

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

语法

参数

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

返回值

该函数返回 ClickHouse 对 MultiLineString 几何对象的内部表示形式。

示例

readWKTRing

解析 Polygon 几何类型的 Well-Known Text (WKT) 表示,并以 ClickHouse 内部格式返回一个 Ring (闭合线串) 。

语法

参数

  • wkt_string:输入的 WKT 字符串,表示一个 Polygon 几何对象。

返回值

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

示例

polygonsWithinSpherical

返回 true 或 false,表示一个 Polygon 是否完全位于另一个 Polygon 内部。参考 https://www.boost.org/doc/libs/1_62_0/libs/geometry/doc/html/geometry/reference/algorithms/within/within_2.html

示例

readWKBMultiPolygon

将 WKB (Well Known Binary) MultiPolygon 转换为 MultiPolygon 类型的值。

示例

输入参数

MULTIPOLYGON 开头的字符串

返回值

MultiPolygon

readWKBPolygon

将 WKB (Well Known Binary) MultiPolygon 转换为 Polygon 类型。

示例

输入参数

POLYGON 开头的 String

返回值

Polygon

readWKBPoint

ClickHouse 中的 readWKBPoint 函数用于解析 Point 几何对象的 Well-Known Binary (WKB) 表示,并返回 ClickHouse 内部格式的点。

语法

参数

  • wkb_string: 表示点几何对象的输入 WKB 字符串。

返回值

该函数返回 Point 几何对象在 ClickHouse 中的内部表示。

示例

readWKBLineString

解析 LineString 几何对象的 Well-Known Binary (WKB) 表示,并以 ClickHouse 的内部格式返回。

语法

参数

  • wkb_string:表示 LineString 几何类型的输入 WKB 字符串。

返回值

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

示例

readWKBMultiLineString

将 MultiLineString 几何对象的 Well-Known Binary (WKB) 表示解析为 ClickHouse 内部格式并返回。

语法

参数

  • wkb_string:表示 MultiLineString 几何图形的输入 WKB 字符串。

返回值

该函数返回 ClickHouse 对 multilinestring 几何对象的内部表示。

示例

输入参数

返回值

UInt8,false 时为 0,true 时为 1

polygonsDistanceSpherical

计算两个点之间的最小距离,其中一个点属于第一个 Polygon,另一个点属于另一个 Polygon。这里的“球面”是指将坐标解释为纯粹的理想球体上的坐标,而地球并非如此。使用这种坐标系可以加快执行速度,但精度较低。

示例

输入参数

两个多边形

返回值

Float64

polygonsDistanceCartesian

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

示例

输入参数

两个 多边形

返回值

Float64

polygonsEqualsCartesian

如果两个多边形相同,则返回 true

示例

输入参数

两个 多边形

返回值

UInt8,false 时为 0,true 时为 1

polygonsSymDifferenceSpherical

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

示例

输入参数

Polygon

返回值

MultiPolygon

polygonsSymDifferenceCartesian

polygonsSymDifferenceSpherical 相同,但坐标采用笛卡尔坐标系;这种坐标系更接近真实地球模型。

示例

输入参数

多个 Polygon

返回值

MultiPolygon

polygonsIntersectionSpherical

计算多边形之间的交集 (与) ,坐标采用球面坐标。

示例

输入参数

Polygons

返回值

MultiPolygon

polygonsWithinCartesian

如果第二个 Polygon 在第一个 Polygon 内,则返回 true。

示例

输入参数

两个 多边形

返回值

UInt8,false 时为 0,true 时为 1

polygonsIntersectCartesian

如果两个 多边形 相交 (即存在公共区域或边界) ,则返回 true。

示例

输入参数

两个多边形

返回值

UInt8,false 时为 0,true 时为 1

polygonsIntersectSpherical

如果两个多边形相交 (即存在任何公共区域或边界) ,则返回 true。参考:https://www.boost.org/doc/libs/1_62_0/libs/geometry/doc/html/geometry/reference/algorithms/intersects.html

示例

输入参数

两个多边形

返回值

UInt8,false 时为 0,true 时为 1

polygonConvexHullCartesian

计算凸包。参考资料 坐标位于笛卡尔坐标系中。

示例

输入参数

MultiPolygon

返回值

Polygon

polygonAreaSpherical

计算 Polygon 的表面积。

示例

输入参数

Polygon

返回值

浮点数

polygonsUnionSpherical

计算并集 (OR) 。

示例

输入参数

Polygon

返回值

MultiPolygon

polygonPerimeterSpherical

计算 Polygon 的周长。

示例

表示津巴布韦的 Polygon

这是表示津巴布韦的 Polygon:

polygonPerimeterSpherical 函数用法

输入参数

返回值

polygonsIntersectionCartesian

计算多个多边形的交集。

示例

输入参数

Polygon

返回值

MultiPolygon

polygonAreaCartesian

计算 Polygon 的面积

示例

输入参数

Polygon

返回值

Float64

polygonPerimeterCartesian

计算 Polygon 的周长。

示例

输入参数

Polygon

返回值

Float64

polygonsUnionCartesian

计算多边形的并集。

示例

输入参数

Polygon

返回值

MultiPolygon 有关几何系统的更多信息,请参阅这份关于 Boost 库的演示文稿;ClickHouse 使用的正是该库。
最后修改于 2026年7月2日