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

ポリゴン操作のための関数

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 関数は、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

あるポリゴンが別のポリゴンの完全に内側にあるかどうかに応じて 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つのポリゴンに属する点と別のポリゴンに属する点の間の最小距離を計算します。球面とは、座標が純粋な理想的な球の上にあると解釈されることを意味しますが、これは地球には当てはまりません。このタイプの座標系を使用すると、実行速度が向上しますが、もちろん精度は低下します。

入力パラメータ

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つ目のポリゴンが最初のポリゴンの内側にある場合、true を返します。

入力パラメータ

2つのポリゴン

戻り値

UInt8、falseの場合は0、trueの場合は1

polygonConvexHullCartesian

凸包を計算します。 参考

座標はデカルト座標系です。

入力パラメータ

MultiPolygon

戻り値

Polygon

polygonAreaSpherical

ポリゴンの表面積を計算します。

入力パラメータ

Polygon

戻り値

Float

polygonsUnionSpherical

和集合 (OR) を計算します。

入力パラメータ

ポリゴン

戻り値

MultiPolygon

polygonPerimeterSpherical

ポリゴンの周囲を計算します。


slug: /sql-reference/functions/geo/polygons sidebar_label: ポリゴン title: "ポリゴンを操作するための関数"

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) ポリゴンを Polygon タイプに変換します。

typeoutput
Polygon[[(2,0),(10,0),(10,10),(0,10),(2,0)]]

入力パラメータ

POLYGON で始まる文字列

返される値

Polygon

readWKTPoint

readWKTPoint 関数は、Point ジオメトリの Well-Known Text (WKT) 表現を解析し、ClickHouse インターナルフォーマットのポイントを返します。

構文

引数

  • wkt_string: Point ジオメトリを表す入力 WKT 文字列。

返される値

この関数は、Point ジオメトリの ClickHouse 内部表現を返します。

readWKTLineString

Well-Known Text (WKT) 表現の LineString ジオメトリを解析し、ClickHouse 内部フォーマットで返します。

構文

引数

  • wkt_string: LineString ジオメトリを表す入力 WKT 文字列。

返される値

この関数は、ClickHouse 内部表現の LineString ジオメトリを返します。

readWKTMultiLineString

Well-Known Text (WKT) 表現の MultiLineString ジオメトリを解析し、ClickHouse 内部フォーマットで返します。

構文

引数

  • wkt_string: MultiLineString ジオメトリを表す入力 WKT 文字列。

返される値

この関数は、ClickHouse 内部表現の MultiLineString ジオメトリを返します。

readWKTRing

WKT (Well Known Text) ポリゴンジオメトリの表現を解析し、内部 ClickHouse フォーマットでリング(閉じた LineString)を返します。

構文

引数

  • wkt_string: ポリゴンジオメトリを表す入力 WKT 文字列。

返される値

この関数は、リング(閉じた LineString)ジオメトリの ClickHouse 内部表現を返します。

polygonsWithinSpherical

1 つのポリゴンが別のポリゴンの内部に完全に収まるかどうかを判定し、真または偽を返します。参考文献 https://www.boost.org/doc/libs/1_62_0/libs/geometry/doc/html/geometry/reference/algorithms/within/within_2.html

入力パラメータ

返される値

UInt8、0 は偽、1 は真を表します。

polygonsDistanceSpherical

1 つのポイントが最初のポリゴンに、2 番目が別のポリゴンに属する場合の最小距離を計算します。球面の意味は、座標が完全かつ理想的な球上の座標として解釈されることを意味しますが、これは地球には適用されません。このタイプの座標系を使用すると実行が高速化されますが、当然のことながら正確ではありません。

入力パラメータ

2 つのポリゴン

返される値

Float64

polygonsDistanceCartesian

2 つのポリゴン間の距離を計算します。

入力パラメータ

2 つのポリゴン

返される値

Float64

polygonsEqualsCartesian

2 つのポリゴンが等しい場合に真を返します。

入力パラメータ

2 つのポリゴン

返される値

UInt8、0 は偽、1 は真を表します。

polygonsSymDifferenceSpherical

2 つのポリゴン間の空間的な集合論的対称差(XOR)を計算します。

入力パラメータ

ポリゴン

返される値

MultiPolygon

polygonsSymDifferenceCartesian

polygonsSymDifferenceSpherical と同様ですが、座標はデカルト座標系にあり、実際の地球のモデルにより近くなっています。

入力パラメータ

ポリゴン

返される値

MultiPolygon

polygonsIntersectionSpherical

ポリゴン間の交差点(AND)を計算します。座標は球面です。

入力パラメータ

ポリゴン

返される値

MultiPolygon

polygonsWithinCartesian

2 番目のポリゴンが最初のポリゴンの内部にある場合は真を返します。

入力パラメータ

2 つのポリゴン

返される値

UInt8、0 は偽、1 は真を表します。

polygonConvexHullCartesian

凸包を計算します。参照

座標はデカルト座標系です。

入力パラメータ

MultiPolygon

返される値

Polygon

polygonAreaSpherical

ポリゴンの表面積を計算します。

入力パラメータ

Polygon

返される値

Float

polygonsUnionSpherical

共通部分(OR)を計算します。

入力パラメータ

ポリゴン

返される値

MultiPolygon

polygonPerimeterSpherical

ポリゴンの周囲を計算します。

入力パラメータ

返される値

polygonsIntersectionCartesian

ポリゴンの交差を計算します。

入力パラメータ

ポリゴン

返される値

MultiPolygon

polygonAreaCartesian

ポリゴンの面積を計算します。

入力パラメータ

Polygon

返される値

Float64

polygonPerimeterCartesian

ポリゴンの周囲を計算します。

入力パラメータ

Polygon

返される値

Float64

polygonsUnionCartesian

ポリゴンの和を計算します。

入力パラメータ

ポリゴン

返される値

MultiPolygon

ジオメトリシステムに関する詳細は、ClickHouse が使用している Boost ライブラリに関するこの プレゼンテーション を参照してください。