メインコンテンツまでスキップ
メインコンテンツまでスキップ

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 型に変換します。

typeoutput
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 型に変換します。

typeoutput
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 ライブラリに関するこの プレゼンテーション をご覧ください。