Functions for Working with Polygons
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 型に変換します。
例
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 (Well Known Text) MultiPolygon を Polygon 型に変換します。
例
type | output |
---|---|
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
Well-Known Text (WKT) の LineString ジオメトリの表現を解析し、内部の ClickHouse フォーマットで返します。
構文
引数
wkt_string
: LineString ジオメトリを表す入力 WKT 文字列。
返される値
この関数は、LineString ジオメトリの ClickHouse 内部表現を返します。
例
readWKTMultiLineString
Well-Known Text (WKT) の MultiLineString ジオメトリの表現を解析し、内部の ClickHouse フォーマットで返します。
構文
引数
wkt_string
: MultiLineString ジオメトリを表す入力 WKT 文字列。
返される値
この関数は、MultiLineString ジオメトリの ClickHouse 内部表現を返します。
例
readWKTRing
Well-Known Text (WKT) の Polygon ジオメトリの表現を解析し、内部の ClickHouse フォーマットでリング(閉じたラインストリング)を返します。
構文
引数
wkt_string
: Polygon ジオメトリを表す入力 WKT 文字列。
返される値
この関数は、リング(閉じたラインストリング)ジオメトリの ClickHouse 内部表現を返します。
例
polygonsWithinSpherical
1つのポリゴンが他のポリゴンの内部に完全にあるかどうかに応じて、true または false を返します。参考文献: https://www.boost.org/doc/libs/1_62_0/libs/geometry/doc/html/geometry/reference/algorithms/within/within_2.html
例
入力パラメータ
返される値
UInt8、false は 0、true は 1
polygonsDistanceSpherical
1つのポリゴンに属する1つの点と他のポリゴンに属する点との最小距離を計算します。球面とは、座標が完全で理想的な球の座標として解釈されることを意味し、地球には正しくありません。この種類の座標系を使用することで実行速度が向上しますが、もちろん正確ではありません。
例
入力パラメータ
2つのポリゴン
返される値
Float64
polygonsDistanceCartesian
2つのポリゴン間の距離を計算します。
例
入力パラメータ
2つのポリゴン
返される値
Float64
polygonsEqualsCartesian
2つのポリゴンが等しい場合は true を返します。
例
入力パラメータ
2つのポリゴン
返される値
UInt8、false は 0、true は 1
polygonsSymDifferenceSpherical
2つのポリゴン間の空間的集合論的対称差分 (XOR) を計算します。
例
入力パラメータ
ポリゴン
返される値
MultiPolygon
polygonsSymDifferenceCartesian
polygonsSymDifferenceSpherical
と同じですが、座標が直交座標系にあり、これは実際の地球のモデルにより近いです。
例
入力パラメータ
ポリゴン
返される値
MultiPolygon
polygonsIntersectionSpherical
ポリゴン間の交差 (AND) を計算し、座標は球面です。
例
入力パラメータ
ポリゴン
返される値
MultiPolygon
polygonsWithinCartesian
2番目のポリゴンが最初のポリゴン内にある場合は真を返します。
例
入力パラメータ
二つのポリゴン
返される値
UInt8、false は 0、true は 1
polygonConvexHullCartesian
凸包を計算します。 参照
座標は直交座標系です。
例
入力パラメータ
MultiPolygon
返される値
Polygon
polygonAreaSpherical
ポリゴンの表面積を計算します。
例
入力パラメータ
Polygon
返される値
Float
polygonsUnionSpherical
和 (OR) を計算します。
例
入力パラメータ
ポリゴン
返される値
MultiPolygon
polygonPerimeterSpherical
ポリゴンの周囲を計算します。
例
ジンバブエを表すポリゴン
これがジンバブエを表すポリゴンです:
polygonPerimeterSpherical 関数の使用法
入力パラメータ
戻り値
polygonsIntersectionCartesian
ポリゴンの交差点を計算します。
例
入力パラメータ
ポリゴン
戻り値
MultiPolygon
polygonAreaCartesian
ポリゴンの面積を計算します。
例
入力パラメータ
ポリゴン
戻り値
Float64
polygonPerimeterCartesian
ポリゴンの周長を計算します。
例
入力パラメータ
ポリゴン
戻り値
Float64
polygonsUnionCartesian
ポリゴンの和を計算します。
例
入力パラメータ
ポリゴン
戻り値
MultiPolygon
ジオメトリシステムの詳細については、ClickHouse が使用する Boost ライブラリに関するこの プレゼンテーション をご覧ください。