tencent cloud

Cloud Log Service

空間幾何関数

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:16
AI翻訳
この記事では、空間幾何関数について紹介します。

基本的な概念

空間幾何関数は、Well-Known Text(WKT)およびWell-Known Binary(WKB)形式で記述された幾何エンティティをサポートします。
幾何エンティティ
Well-Known Text(WKT)形式
点
POINT (0 0)
線分
LINESTRING (0 0, 1 1, 1 2)
ポリゴン
POLYGON ((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1))
マルチポイント
MULTIPOINT (0 0, 1 2)
マルチラインストリング
MULTILINESTRING ((0 0, 1 1, 1 2), (2 3, 3 2, 5 4))
複数のポリゴン
MULTIPOLYGON (((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1 1)), ((-1 -1, -1 -2, -2 -2, -2 -1, -1 -1)))
幾何エンティティ集合
GEOMETRYCOLLECTION (POINT(2 3), LINESTRING (2 3, 3 4))
幾何エンティティはデフォルトで平面幾何を採用し、平面幾何では2点間の最短距離は直線です。幾何エンティティは球面幾何もサポートし、球面では2点間の最短距離は大円弧です。to_spherical_geography() を使用すると、平面幾何エンティティを球面幾何エンティティに変換できます。 例えば: ST_Distance(ST_Point(-71.0882, 42.3607), ST_Point(-74.1197, 40.6976)) は平面上の2点間の距離を計算し、値は3.4577です。 ST_Distance(to_spherical_geography(ST_Point(-71.0882, 42.3607)), to_spherical_geography(ST_Point(-74.1197, 40.6976))) は球面上の2点間の距離を計算し、値は312822.179です。
長さを計算する場合(例:ST_Distance()およびST_Length())、単位はメートルです。面積を計算する場合(例:ST_Area())、単位は平方メートルです。

幾何エンティティの構築

関数
戻り値の型
説明
ST_Point(double, double)
Point
点を1つ構築します。
ST_LineFromText(varchar)
LineString
WKT形式のテキストから線分を1つ構築します。
ST_Polygon(varchar)
Polygon
WKT形式のテキストからポリゴンを1つ構築します。
ST_GeometryFromText(varchar)
Geometry
WKTテキストから幾何エンティティを1つ構築します。
ST_GeomFromBinary(varbinary)
Geometry
WKBから幾何エンティティを1つ構築します。
ST_AsText(Geometry)
varchar
空間幾何エンティティをWKT形式に変換します。
to_spherical_geography(Geometry)
SphericalGeography
平面幾何エンティティを球面幾何エンティティに変換します。
to_geometry(SphericalGeography)
Geometry
球面幾何エンティティを平面幾何エンティティに変換します。

空間関係の判定

関数
戻り値の型
説明
ST_Contains(Geometry, Geometry)
boolean
2番目のエンティティのすべての点が1番目のエンティティの外部になく、かつ1番目のエンティティに少なくとも1つの内部点が2番目のエンティティの内部にある場合、trueを返します。2番目のエンティティが1番目のエンティティの辺上に正確に位置する場合、falseを返します。
ST_Crosses(Geometry, Geometry)
boolean
2つのエンティティに共通の内部点がある場合、trueを返します。
ST_Disjoint(Geometry, Geometry)
boolean
2つのエンティティに交差がない場合、trueを返します。
ST_Equals(Geometry, Geometry)
boolean
2つのエンティティが完全に同一である場合、trueを返します。
ST_Intersects(Geometry, Geometry)
boolean
2つのエンティティが2つの空間上で共有されている場合、trueを返します。
ST_Overlaps(Geometry, Geometry)
boolean
2つのエンティティの次元が同じで、かつ包含関係にない場合、trueを返します。
ST_Relate(Geometry, Geometry)
boolean
2つのエンティティが関連している場合、trueを返します。
ST_Touches(Geometry, Geometry)
boolean
2つのエンティティが境界のみで接しており、共通の内部点がない場合、trueを返します。
ST_Within(Geometry, Geometry)
boolean
1番目のエンティティが2番目のエンティティの内部に完全に含まれる場合、trueを返します。境界に交差がある場合、falseを返します。

Operations

関数
戻り値の型
説明
geometry_nearest_points(Geometry, Geometry)
row(Point, Point)
2つのジオメトリエンティティ間で最も近い2つの点を返します。
geometry_union(array(Geometry))
Geometry
複数のジオメトリエンティティを1つのジオメトリエンティティに結合します。
ST_Boundary(Geometry)
Geometry
ジオメトリエンティティの閉包を返します。
ST_Buffer(Geometry, distance)
Geometry
入力パラメータGeometryからの距離がdistanceであるポリゴンを返します。
ST_Difference(Geometry, Geometry)
Geometry
2つの空間エンティティの異なる点の集合を返します。
ST_Envelope(Geometry)
Geometry
空間エンティティの境界ポリゴンを返します。
ST_ExteriorRing(Geometry)
Geometry
ポリゴンの外部リングを返します。
ST_Intersection(Geometry, Geometry)
Geometry
2つの空間エンティティの交差点を返します。
ST_SymDifference(Geometry, Geometry)
Geometry
2つの空間エンティティの異なる点から構成される新しい空間エンティティを返します。2つのジオメトリオブジェクトの交差しない部分を取得します。

Accessors

関数
戻り値の型
説明
ST_Area(Geometry)
double
平面幾何においてポリゴンの面積を計算します。
ST_Area(SphericalGeography)
double
球面幾何においてポリゴンの面積を計算します。
ST_Centroid(Geometry)
Geometry
ジオメトリエンティティの中心点を返します。
ST_CoordDim(Geometry)
bigint
ジオメトリエンティティの座標次元を返します。
ST_Dimension(Geometry)
bigint
ジオメトリエンティティの固有次元を返します。この値は座標次元以下である必要があります。
ST_Distance(Geometry, Geometry)
double
平面幾何における2つのエンティティ間の最小距離を計算します。
ST_Distance(SphericalGeography, SphericalGeography)
double
球面幾何における2つのエンティティ間の最小距離を計算します。
ST_IsClosed(Geometry)
boolean
エンティティが閉じた空間である場合、trueを返します。
ST_IsEmpty(Geometry)
boolean
パラメータが空のジオメトリエンティティ集合、ポリゴン、またはポイントである場合、trueを返します。
ST_IsRing(Geometry)
boolean
パラメータが線であり、かつ閉じた単純な線である場合、trueを返します。
ST_Length(Geometry)
double
平面幾何において、1つの線分または複数の線分の長さを計算します。
ST_Length(SphericalGeography)
double
球面幾何において、1つの線分または複数の線分の長さを計算します。
ST_XMax(Geometry)
double
ジオメトリの境界ボックスのX座標の最大値を返します。
ST_YMax(Geometry)
double
ジオメトリの境界ボックスのY座標の最大値を返します。
ST_XMin(Geometry)
double
ジオメトリの境界ボックスのX座標の最小値を返します。
ST_YMin(Geometry)
double
ジオメトリの境界ボックスのY座標の最小値を返します。
ST_StartPoint(Geometry)
point
線分タイプのジオメトリの最初の点を返します。
ST_EndPoint(Geometry)
point
線分タイプのジオメトリの最後の点を返します。
ST_X(Point)
double
ポイントタイプのX軸を返します。
ST_Y(Point)
double
ポイントタイプのY軸を返します。
ST_NumPoints(Geometry)
bigint
幾何エンティティの点の個数を計算します。
ST_NumInteriorRing(Geometry)
bigint
ポリゴン内部のリングの個数を返します。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック