用于处理多边形的函数
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 使用的内容。