すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_SymDifference

最終更新日:Mar 28, 2026

2 つのジオメトリ オブジェクトの対称差(symmetric difference)を返します。つまり、互いに重複しない各ジオメトリの部分を返します。

構文

geometry ST_SymDifference(geometry geomA, geometry geomB)

パラメーター

パラメーター説明
geomA最初のジオメトリ オブジェクト。
geomB2 番目のジオメトリ オブジェクト。

注意事項

  • GeometryCollection はサポートされていません。 この関数は GeometryCollection オブジェクトをサポートしていません。

  • 3D ジオメトリのサポートは部分的です。 この関数は 3D ジオメトリをサポートしており、出力では Z 座標が保持されますが、対称差の計算には X 座標と Y 座標のみが使用されます。出力されるジオメトリ オブジェクトは、入力から元の Z 座標を引き継ぎます。

使用例

以下の例では、重複する 2 つのラインストリングの対称差を計算します。重複するセグメント (1 0, 2 0) は結果から除外され、各入力の非重複セグメントが MULTILINESTRING として返されます。

SELECT ST_AsText(
  ST_SymDifference(
    'LINESTRING(0 0, 2 0)'::geometry,
    'LINESTRING(1 0, 3 0)'::geometry
  )
);

出力:

MULTILINESTRING((0 0,1 0),(2 0,3 0))
(1 row)

次のステップ

  • ST_Difference — geomA の geomB と交差しない部分を返します(非対称)

  • ST_Union — 2つのジオメトリ オブジェクトのUNIONを返します

  • ST_Intersection — 2つのジオメトリ オブジェクトが共有する部分を返します