空間関数を使用して、ジオメトリ間の空間関係を決定することができる。
- ST_Contains: g1が完全にg2を含む場合、1を返します。
- ST_Crosses: 左のジオメトリが右のジオメトリと空間的に交差する場合、1を返します。
- ST_Disjoint: 左のジオメトリが右のジオメトリから空間的に分離している場合、1を返します。
- ST_Equals: 左のジオメトリが右のジオメトリと空間的に等しい場合、1を返します。
- ST_Intersects: 左のジオメトリが右のジオメトリと空間的に交差する場合、1を返します。
- ST_Overlaps: 左のジオメトリが右のジオメトリと空間的に重なる場合、0を返します。
- ST_Relate: 左右のジオメトリが次元拡張9交差モデル (DE-9IM) 行列で指定された条件を満たす場合、1を返します。 VARCHAR型の第3の入力は、関係が受け入れられることを示す。
- ST_Touches: 左のジオメトリが右のジオメトリに空間的にタッチした場合、1を返します。
- ST_Within: 左のジオメトリが右のジオメトリに空間的に囲まれている場合、1を返します。
ST_Contains
ST_Contains(g1, g2)- 説明: g1が完全にg2を含む場合、この関数は1を返します。 値1はtrueを示し、値0はfalseを示します。 説明 g1はその境界を含まない。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Contains(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4 1))')) 、ST_GeometryFromText('POINT (2 2)');+ ----------------------------------------------------------------------------------------------------- + | ST_Contains(ST_GeometryFromText('POLYGON ((1 1、1 4、4 4、4 1))')) 、ST_GeometryFromText('POINT (2 2)')) | + ----------------------------------------------------------------------------------------------------- + | 1 |
ST_Crosses
ST_Crosses(g1, g2)- 説明: この関数は、左のジオメトリが右のジオメトリと空間的に交差する場合に1を返します。 値1はtrueを示し、値0はfalseを示します。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Crosses(ST_GeometryFromText('POINT (20)'), ST_GeometryFromText('POINT (25)'));+ ---------------------------------------------------------------------------------------------- + | ST_Crosses(ST_GeometryFromText('POINT (20)'), ST_GeometryFromText('POINT (25)')) | + ---------------------------------------------------------------------------------------------- + | 0 |
ST_Disjoint
ST_Disjoint(g1, g2)- 説明: この関数は、左のジオメトリが右のジオメトリから空間的に分離している場合、1を返します。 値1はtrueを示し、値0はfalseを示します。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Disjoint(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));+ -------------------------------------------------------------------------------------------------- + | ST_Disjoint(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')) | + -------------------------------------------------------------------------------------------------- + | 1 |
ST_Equals
ST_Equals(g1, g2)- 説明: この関数は、左のジオメトリが右のジオメトリと空間的に等しい場合、1を返します。 値1はtrueを示し、値0はfalseを示します。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Equals(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));+ ------------------------------------------------------------------------------------------------ + | ST_Equals(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')) | + ------------------------------------------------------------------------------------------------ + | 0 |
ST_Intersects
ST_Intersects(g1, g2)- 説明: この関数は、左のジオメトリが右のジオメトリと空間的に交差する場合に1を返します。 値1はtrueを示し、値0はfalseを示します。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Intersects(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));+ ---------------------------------------------------------------------------------------------------- + | ST_Intersects(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')) | + ---------------------------------------------------------------------------------------------------- + | 0 |
ST_Overlaps
ST_Overlaps(g1、g2)- 説明: 左のジオメトリが右のジオメトリと空間的に重なる場合、この関数は0を返します。 0の値はtrueを示し、1の値はfalseを示します。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Overlaps(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4 1)))') 、ST_GeometryFromText('POLYGON ((3 3, 3 5, 5 5, 5 3)')));+ --------------------------------------------------------------------------------------------------------------------------------- + | ST_Overlaps(ST_GeometryFromText('POLYGON ((1 1、1 4、4 4、4 1))')) 、ST_GeometryFromText('POLYGON ((3 3、3 5、5 5、5 3))') | + --------------------------------------------------------------------------------------------------------------------------------- + | 1 |
ST_Relate
ST_Relate(g1, g2, s1)- 説明: この関数は、左右のジオメトリがDE-9IM行列で指定された条件を満たす場合、1を返します。 値1はtrueを示し、値0はfalseを示します。 VARCHAR型の第3の入力は、関係が受け入れられることを示す。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Relate(ST_GeometryFromText('LINESTRING (0 0, 3)') 、ST_GeometryFromText('LINESTRING (1 1, 4 1)') 、'**** T ****');+ -------------------------------------------------------------------------------------------------------------------------- + | ST_Relate(ST_GeometryFromText('LINESTRING (0 0, 3)') 、ST_GeometryFromText('LINESTRING (1 1, 4 1)') 、'**** T ****') | + -------------------------------------------------------------------------------------------------------------------------- + | 0 |
ST_Touches
ST_Touches(g1, g2)- 説明: この関数は、左のジオメトリが右のジオメトリに空間的にタッチした場合に1を返します。 値1はtrueを示し、値0はfalseを示します。
- 戻り値のデータ型: INT。
- 例:
返された結果:SELECT ST_Touches(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));+ ------------------------------------------------------------------------------------------------- + | ST_Touches(ST_GeometryFromText('POINT (50 100)') 、ST_GeometryFromText('POINT (150 150)')) | + ------------------------------------------------------------------------------------------------- + | 0 |
ST_Within
ST_Within(g1, g2)- 説明: この関数は、左のジオメトリが右のジオメトリに空間的に囲まれている場合、1を返します。 値1はtrueを示し、値0はfalseを示します。
- 戻り値のデータ型: BOOLEAN。
- 例:
返された結果:SELECT ST_Within(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))+ ------------------------------------------------------------------------------------------------- + | ST_Within(ST_GeometryFromText('POINT (50 100)') 、ST_GeometryFromText('POINT (150 150)')) | + ------------------------------------------------------------------------------------------------- + | 0 |