处理多边形的函数
WKT
从各种 Geo 数据类型 返回 WKT(良知文本)几何对象。支持的 WKT 对象有:
- POINT
- POLYGON
- MULTIPOLYGON
- LINESTRING
- MULTILINESTRING
语法
参数
geo_data
可以是以下 Geo 数据类型 或其底层原始类型之一:
返回值
- 对于点,返回 WKT 几何对象
POINT
。 - 对于多边形,返回 WKT 几何对象
POLYGON
。 - 对于多重多边形,返回 WKT 几何对象
MULTIPOLYGON
。 - 对于线字符串,返回 WKT 几何对象
LINESTRING
。 - 对于多重线字符串,返回 WKT 几何对象
MULTILINESTRING
。
示例
从元组获取 POINT:
从元组数组或元组数组数组获取 POLYGON:
从多维元组数组获取 MULTIPOLYGON:
readWKTMultiPolygon
将 WKT(良知文本)多边形转换为 MultiPolygon 类型。
示例
type | output |
---|---|
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(良知文本)多边形转换为 Polygon 类型。
示例
type | output |
---|---|
Polygon | [[(2,0),(10,0),(10,10),(0,10),(2,0)]] |
输入参数
以 POLYGON
开头的字符串
返回值
Polygon
readWKTPoint
ClickHouse 中的 readWKTPoint
函数解析点几何的良知文本(WKT)表示,并返回 ClickHouse 内部格式的点。
语法
参数
wkt_string
:表示点几何的输入 WKT 字符串。
返回值
该函数返回点几何的 ClickHouse 内部表示。
示例
readWKTLineString
解析线字符串几何的良知文本(WKT)表示,并返回 ClickHouse 内部格式。
语法
参数
wkt_string
:表示线字符串几何的输入 WKT 字符串。
返回值
该函数返回线字符串几何的 ClickHouse 内部表示。
示例
readWKTMultiLineString
解析多重线字符串几何的良知文本(WKT)表示,并返回 ClickHouse 内部格式。
语法
参数
wkt_string
:表示多重线字符串几何的输入 WKT 字符串。
返回值
该函数返回多重线字符串几何的 ClickHouse 内部表示。
示例
readWKTRing
解析表示多边形几何的良知文本(WKT),并返回闭合线字符串的环(ring)在 ClickHouse 内部格式。
语法
参数
wkt_string
:表示多边形几何的输入 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 表示假,1 表示真
polygonsDistanceSpherical
计算两个点之间的最小距离,其中一个点属于第一个多边形,第二个点属于另一个多边形。球面坐标表示法表示坐标被视为一个纯粹和理想的球体上的坐标,这对于地球来说并不准确。使用这种类型的坐标系统可以加快执行速度,但当然不够精确。
示例
输入参数
两个多边形
返回值
Float64
polygonsDistanceCartesian
计算两个多边形之间的距离
示例
输入参数
两个多边形
返回值
Float64
polygonsEqualsCartesian
如果两个多边形相等,返回真
示例
输入参数
两个多边形
返回值
UInt8,0 表示假,1 表示真
polygonsSymDifferenceSpherical
计算两个多边形之间的空间集合理论对称差 (XOR)
示例
输入参数
多边形
返回值
MultiPolygon
polygonsSymDifferenceCartesian
与 polygonsSymDifferenceSpherical
相同,但坐标在笛卡尔坐标系中;更接近真实地球的模型。
示例
输入参数
多边形
返回值
MultiPolygon
polygonsIntersectionSpherical
计算多边形之间的交集(与),坐标为球面坐标。
示例
输入参数
多边形
返回值
MultiPolygon
polygonsWithinCartesian
如果第二个多边形位于第一个多边形内,则返回真。
示例
输入参数
两个多边形
返回值
UInt8,0 表示假,1 表示真
polygonConvexHullCartesian
计算凸包。 参考
坐标在笛卡尔坐标系中。
示例
输入参数
MultiPolygon
返回值
Polygon
polygonAreaSpherical
计算多边形的表面积。
示例
输入参数
Polygon
返回值
Float
polygonsUnionSpherical
计算并集(或)。
示例
输入参数
多边形
返回值
MultiPolygon
polygonPerimeterSpherical
计算多边形的周长。
示例
这是代表津巴布韦的多边形:
多边形
查询
输入参数
返回值
polygonsIntersectionCartesian
计算多边形的交集。
示例
输入参数
多边形
返回值
MultiPolygon
polygonAreaCartesian
计算多边形的面积
示例
输入参数
多边形
返回值
Float64
polygonPerimeterCartesian
计算多边形的周长。
示例
输入参数
多边形
返回值
Float64
polygonsUnionCartesian
计算多边形的并集。
示例
输入参数
多边形
返回值
MultiPolygon
有关几何系统的更多信息,请参阅这份关于Boost库的 演示文稿,ClickHouse正是使用这个库。