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

PolarDB:ST_Intersection

最終更新日:Jul 01, 2024

このトピックでは、ST_Intersection関数について説明します。 この関数は、入力ジオメトリオブジェクトが交差する点のセットに対応するジオメトリオブジェクトを返します。

構文

geometry  ST_Intersection(geometry  geomA , geometry  geomB);
geography  ST_Intersection(geography  geogA , geography  geogB);
geometry ST_Intersection(geometry set gField);

パラメーター

パラメーター

説明

geomA/geomB

指定する2つのジオメトリオブジェクト。

geogA/geogB

指定する2つの地理オブジェクト。

gField

指定するジオメトリフィールド。

説明

  • 2つの入力ジオメトリオブジェクトが交差しない場合、この関数は空のジオメトリオブジェクトを返します。

  • geographyオブジェクトを指定した場合、この関数はジオメトリ関数を使用してオブジェクトを処理します。 この関数は、最初に、入力地理オブジェクトをジオメトリオブジェクトに変換し、平面空間参照内の入力オブジェクトの交差を計算し、次に、世界測地系1984 (WGS84) 座標系に基づいて、交差を地理オブジェクトに変換します。

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

  • この関数は、入力オブジェクトのm座標を削除します。

  • 集計関数は、すべてのジオメトリオブジェクトに対して順番に交差演算を実行し、ジオメトリオブジェクトの交差を返します。

  • デフォルトのパラメータ設定を使用して返される結果:

    SELECT ST_AsText(ST_Intersection('POLYGON((0 0,0 2,2 2,2 0,0 0))'::geometry,'POLYGON((0 0,3 0,3 1,0 1,0 0))'::geometry));
               st_astext
    --------------------------------
     POLYGON((0 1,2 1,2 0,0 0,0 1))
    (1 row)            
  • 集計関数が呼び出された後に返される結果:

    create table agg_result(id integer, geom geometry);
    insert into agg_result values(0, ST_GeomFromText('POLYGON((0 0, 0 0.5, 0.5 0.5, 0.5 0, 0 0))'));
    insert into agg_result select i, st_buffer('POINT(0 0)', 0.8 + random()*0.1) from generate_series(1,100) as i;
    select st_astext(st_intersection(geom)) from agg_result;
                   st_astext
    ----------------------------------------
     POLYGON((0 0,0 0.5,0.5 0.5,0.5 0,0 0))
    (1 row)

    Figure 1