USER MANUALS

空間関数

空間関数:

ST_AREA

説明

ST_AREA 関数は、wkb/wkt の面積を返します。

SELECT st_area(wkb)/st_area(wkt) FROM view

ST_AREA_METERS

説明

ST_AREA 関数は、wkb/wkt の area_meters を返します。この関数は、wkb の面積を返します。結果の単位は平方メートルです。コードではジオメトリの CRS を指定します。

SELECT st_area_meters(wkb, code)/st_area_meters(wkt, code) FROM view

ST_BOUNDARY

説明

ST_BOUNDARY 関数は、wkb/wkt の結合された境界を表現する新しいジオメトリを返します。

SELECT st_boundary(wkb)/st_boundary(wkt) FROM view

ST_BUFFER

説明

ST_BUFFER 関数は、入力ジオメトリから指定した距離内にある点をすべて含む新しいジオメトリを返します。この関数は、すべての空間データ型をサポートします。

SELECT st_buffer(wkb, <distance:double>)/st_buffer(wkt, <distance:double>) FROM view

SELECT st_buffer('POINT(0 0)', 1.0) FROM view
  • この関数は、入力ジオメトリから指定した距離内にある点を含む新しいジオメトリを返します。

ST_BUFFER_METERS

説明

ST_BUFFER_METERS 関数は、入力ジオメトリから指定した距離内にある点をすべて含む新しいジオメトリを返します。コードではジオメトリの CRS を指定します。距離の単位はメートルです。

ジオメトリの CRS の距離の標準単位がメートルとは異なる場合、ジオメトリは UTM ゾーンに投影されます。このゾーンはジオメトリの重心の座標によって決定されます。新しいバッファジオメトリが新しい UTM 投影内で計算されます。その単位はメートルです。最後に、このジオメトリがソースの CRS に再投影されます。入力 CRS の単位がすでにメートルである場合、バッファジオメトリは変換なしに計算されます。

距離パラメータが大きすぎて、バッファジオメトリが計算に使用する UTM ゾーンの制限を超える場合、精度が失われる可能性があります。この関数は、すべての空間データ型をサポートします。

SELECT ST_BUFFER_METERS(wkt, code, <distance:double>) FROM view
  • コードは、管理者情報とコロン (:) で始める必要があります。

SELECT ST_BUFFER_METERS('POINT(43.37 -8.41)','EPSG:4326',1000) FROM view
  • この関数は、BLOB を入力として受け取ることもできます。BLOB では、ジオメトリを既知のバイナリ (wkb) 形式で表現する必要があります。

ST_CENTROID

説明

ST_CENTROID 関数は、wkb/wkt の幾何学的中心を返します。この関数は、すべての空間データ型をサポートします。

SELECT st_centroid(wkb)/st_centroid(wkt) FROM view

ST_CONTAINS

説明

ST_CONTAINS 関数は、ジオメトリ wkb2 がジオメトリ wkb1 に完全に含まれる場合に true を返します。この関数は、すべての空間データ型をサポートします。

SELECT st_contains(wkb1, wkb2)/st_contains(wkt1, wkt2) FROM view
  • ジオメトリ wkb2 がジオメトリ wkb1 に完全に含まれる場合、true (t) を返します。

ST_CONVEXHULL

説明

ST_CONVEXHULL 関数は、ジオメトリ内のすべての点を含む最小の凸ポリゴンを計算します。この関数は、すべての空間データ型をサポートします。

SELECT st_convexhull(wkb)/st_convexhull(wkt) FROM view

ST_CREATE_POINT

説明

ST_CREATE_POINT 関数は、点を作成します。パラメータは abscissa(x) と ordinate(y) であり、2 次元の長方形空間内での点の位置を定義します。

SELECT st_create_point(<x:DOUBLE>, <y:DOUBLE>) FROM view

ST_CROSSES

説明

ST_CROSSES 関数は、指定した複数のジオメトリに共通の内点がいくつかあるものの、すべてではない場合に true を返します。この関数は、すべての空間データ型をサポートします。

SELECT st_crosses(wkb1, wkb2)/st_crosses(wkt1, wkt2) FROM view
  • ジオメトリに共通の内点が複数ある場合、結果は true (t) になります。

ST_DIFFERENCE

説明

ST_DIFFERENCE 関数は、wkb1/wkt1 の、wkb2/wkt2 と交差しない部分である新しいジオメトリを返します。この関数は、すべての空間データ型をサポートします。

SELECT st_difference(wkb1, wkb2)/st_difference(wkt1, wkt2) FROM view

ST_DIMENSION

説明

ST_DIMENSION 関数は、wkb の次元を返します。

SELECT st_dimension(wkb1, wkb2)/st_dimension(wkt1, wkt2) FROM view

ST_DISJOINT

説明

ST_DISJOINT 関数は、指定した複数のジオメトリに共通の点がない場合に true を返します。この関数は、すべての空間データ型をサポートします。

SELECT st_disjoint(wkb1, wkb2)/st_disjoint(wkt1, wkt2) FROM view
  • 指定したジオメトリに共通の内点がない場合、結果は true (t) になります。共通の内点がある場合、結果は false (f) になります。

ST_DISTANCE

説明

ST_DISTANCE 関数は、ジオメトリ wkb1/wkt1 とジオメトリ wkb2/wkt2 間の最小距離を返します。

SELECT st_distance(wkb1, wkb2)/st_distance(wkt1, wkt2) FROM view

ST_DISTANCE_METERS

説明

ST_DISTANCE_METERS 関数は、ジオメトリ wkb1/wkt1 とジオメトリ wkb2/wkt2 間の、メートルで表した最小距離を返します。コードでは各ジオメトリの CRS を指定します。入力の CRS が WGS84 と異なる場合、入力は WGS84 に投影されます。2 つのジオメトリが WGS84 である場合は、2 つのジオメトリ間の大円距離が計算されます。

SELECT st_distance_meters(wkb1, code1, wkb2, code2)/st_distance_meters(wkt1, code1, wkt2, code2) FROM view

ST_ENDPOINT

説明

ST_ENDPOINT 関数は、wkb/wkt の終点を返します。Wkb/wkt はラインストリングである必要があります。

SELECT st_endpoint(wkb)/st_endpoint(wkt) FROM view

ST_ENDPOINT('LINESTRING(0 2, 4 5, 7 8)')
  • 結果は以下のようになります。

'POINT (7 8)'

ST_ENVELOPE

説明

ST_ENVELOPE 関数は、wkb/wkt のエンベロープ (境界ボックス) を表現する新しいジオメトリを返します。

SELECT st_envelope(wkb)/st_envelope(wkt) FROM view

ST_EQUALS

説明

ST_EQUALS 関数は、指定したジオメトリが同じジオメトリを表現する場合に true を返します。方向性は無視されます。この関数は、すべての空間データ型をサポートします。

SELECT st_equals(wkb, wkb)/st_equals(wkt, wkt) FROM view

ST_EXTERIORRING

説明

ST_EXTERIORRING 関数は、wkb/wkt の外環を表現する新しいジオメトリを返します。Wkb/wkt はポリゴンである必要があります。

SELECT st_exteriorring(wkb)/st_exteriorring(wkt) FROM view

ST_GEOMETRYTYPE

説明

ST_GEOMETRYTYPE 関数は、wkb/wkt のタイプを返します。

SELECT st_geometrytype(wkb)/st_geometrytype(wkt) FROM view

ST_GEOM_TO_STRUCT

この関数には 2 つのシグネチャがあります。

  1. st_geom_to_struct(wkb): ジオメトリを表現する BLOB 値を解析し、レジスターと配列に換算したジオメトリの構造的表現に変換します。

  2. st_geom_to_struct(wkt): ジオメトリを表現する テキスト 値を解析し、レジスターと配列に換算したジオメトリの構造的表現に変換します。

ジオメトリの構造的表現は、次のフィールドが含まれる VDP レジスター (構造体) になります。

  • type: ジオメトリのタイプ (点、ラインストリング、ポリゴン...)。

  • bounding_box: ジオメトリを包含する最小の長方形の座標が含まれるレジスター。

  • point: type フィールドでジオメトリが点であると指定されている場合、点の座標 x と y が含まれるレジスター。

  • linestring: type フィールドでジオメトリがラインストリングであると指定されている場合、そのラインストリングを形成する点が含まれる配列。

  • polygon: type フィールドでジオメトリがポリゴンであると指定されている場合、外部のラインストリング (シェル) として定義されているレジスターと、ポリゴン内の穴 (ラインストリング) が含まれる配列。

  • multipoint: type フィールドでジオメトリがマルチポイントであると指定されている場合、そのすべての点が含まれる配列。

  • multilinestring: type フィールドでジオメトリがマルチラインストリングであると指定されている場合、そのすべてのラインストリングが含まれる配列。

  • multipolygon: type フィールドでジオメトリがマルチポリゴンであると指定されている場合、そのすべてのポリゴンが含まれる配列。

この関数は、文字列を入力として受け取ることができます。文字列では、ジオメトリを馴染みのあるテキスト (wkt) 形式で表す必要があります。

たとえば、入力が「LINESTRING(1 1, 5 5, 10 10, 20 20)」である場合、この関数を使用するための式は次のようにする必要があります。

st_geom_to_struct(input)

結果は以下のようになります。

{ type = 'LineString',

bounding_box = {

   max_x = 20.0,

   max_y = 20.0,

   min_x = 1.0,

   min_y = 1.0 },

point = null,

linestring = Array [

   { x = 1.0, y = 1.0 },

   { x = 5.0, y = 5.0 },

   { x = 10.0, y = 10.0 },

   { x = 20.0, y = 20.0 } ],

polygon = null,

multipoint = null,

multilinestring = null,

multipolygon = null }

この関数は、BLOB を入力として受け取ることもできます。BLOB では、ジオメトリを既知のバイナリ (wkb) 形式で表現する必要があります。

ST_GEOMETRYN

説明

ST_GEOMETRYN 関数は、N 番目のジオメトリを返します。N は位置パラメータで指定します。

SELECT st_geometryn(wkb, <position:INTEGER>)/st_geometryn(wkt, <position:INTEGER>) FROM view

ST_INTERIORRINGN

説明

ST_INTERIORRINGN 関数は、wkb/wkt の N 番目の内環を返します。N は位置パラメータで指定します。Wkb/wkt はポリゴンである必要があります。ジオメトリがポリゴンではない場合、または指定した位置が範囲外である場合、null を返します。

SELECT st_interiorringn(wkb, <position:INTEGER>)/st_interiorringn(wkt, <position:INTEGER>) FROM view

ST_INTERSECTION

説明

ST_INTERSECTION 関数は、wkt1 と wkt2 の共有部分によって形成される新しいジオメトリを返します。この関数は、すべての空間データ型をサポートします。

SELECT st_intersection(wkb1, wkb2)/st_intersection(wkt1, wkt2) FROM view

ST_INTERSECTS

説明

ST_INTERSECTS 関数は、指定したジオメトリの交差が空のセットにならない場合に true を返します。

SELECT st_intersects(wkb1, wkb2)/st_intersects(wkt1, wkt2) FROM view
  • ジオメトリが交差する場合、結果は true (t) になります。交差しない場合、結果は false (f) になります。

ST_ISCLOSED

説明

ST_ISCLOSED 関数は、開始点と終了点が一致する場合に true を返します。Wkb/wkt はラインストリングまたはマルチラインストリングである必要があります。

SELECT st_isclosed(wkb)/st_isclosed(wkt) FROM view
  • 開始点と終了点が一致する場合、結果は true (t) になります。

ST_ISEMPTY

説明

ST_ISEMPTY 関数は、wkb が空のジオメトリである場合に true を返します。

SELECT st_isempty(wkb)/st_isempty(wkt) FROM view
  • 指定したジオメトリが空である場合、結果は true (t) になります。

ST_ISSIMPLE

説明

ST_ISSIMPLE 関数は、wkb/wkt に自己交差や自己接触などの異常な幾何学的点がない場合に true を返します。

SELECT st_issimple(wkb)/st_issimple(wkt) FROM view
  • 指定したジオメトリに異常な幾何学的点がない場合、結果は true (t) になります。

ST_ISRING

説明

ST_ISRING 関数は、wkb/wkt が閉じていて単純である場合に true を返します。Wkb/wkt はラインストリングである必要があります。

SELECT st_isring(wkb)/st_isring(wkt) FROM view
  • 指定したジオメトリが閉じていて単純である場合、結果は true (t) になります。

ST_LENGTH

説明

ST_LENGTH 関数は、wkb/wkt の長さを返します。Wkb/wkt はラインストリングまたはマルチラインストリングである必要があります。

SELECT st_length(wkb)/st_length(wkt) FROM view

ST_LENGTH_METERS

説明

ST_LENGTH_METERS 関数は、wkb/wkt の長さを返します。結果の単位はメートルです。Wkb はラインストリングまたはマルチラインストリングである必要があります。コードではジオメトリの CRS を指定します。

SELECT st_length_meters(wkb, <code:string>)/st_length_meters(wkt, <code:string>) FROM view

ST_NUMGEOMETRIES

説明

ST_NUMGEOMETRIES 関数は、ジオメトリの数を返します。

SELECT st_numgeometries(wkb)/st_numgeometries(wkt) FROM view
  • 指定したジオメトリが単純なジオメトリである場合、1 が返されます。指定したジオメトリが GEOMETRYCOLLECTION または MULTI サブタイプである場合、ジオメトリの数が返されます。

ST_NUMINTERIORRINGS

説明

ST_NUMINTERIORRINGS 関数は、wkb/wkt の内環の数を返します。Wkb/wkt はポリゴンである必要があります。

SELECT st_numinteriorrings(wkb)/st_numinteriorrings(wkt) FROM view

ST_NUMPOINTS

説明

ST_NUMPOINTS 関数は、wkb/wkt の点の数を返します。Wkb/wkt はラインストリングである必要があります。

SELECT st_numpoints(wkb)/st_numpoints(wkt) FROM view

ST_OVERLAPS

説明

ST_OVERLAPS 関数は、指定した複数のジオメトリが空間を共有していて同じ次元であっても、お互いに完全には含まれていない場合に true を返します。

SELECT st_overlaps(wkb1, wkb2)/st_overlaps(wkt1, wkt2) FROM view
  • 指定したジオメトリがお互いに重なり合っている場合、結果は true (t) になります。

ST_POINTN

説明

ST_POINTN 関数は、wkb/wkt の N 番目の点を返します。N は位置パラメータで指定します。Wkb/wkt はラインストリングである必要があります。

SELECT st_pointn(wkb, <position:integer>)/st_pointn(wkt, <position:integer>) FROM view

ST_RELATE

説明

  • ST_RELATE 関数は、1 つ目のジオメトリが 2 つ目のジオメトリと空間的に関係している場合に true を返します。そのために、matrixPattern の値で指定した wkb1 と wkb2 の内部、境界、および外部の間に交差がないかどうかをテストします。matrixPattern は、次元拡張 9 交差モデル (DE-9IM) のマトリクスを表す 9 文字の文字列です。各文字で、2 つのジオメトリ間の 9 個の交差の 1 つで許可される交差のタイプ (内部、境界、および外部) を表現します。この関数は、すべての空間データ型をサポートします。

st_relate(wkb1, wkb2, matrixPattern)/st_relate(wkt1, wkt2, matrixPattern)

SELECT ST_RELATE('POINT(3 3)', ST_BUFFER('POINT(0 0)',3),'FF0FFF212') FROM view

結果は以下のようになります。

true
  • ST_RELATE 関数は、wkb1 と wkb2 を関係させる最大交差マトリクスパターンを返します。マトリクスパターンは、次元拡張 9 交差モデル (DE-9IM) のマトリクスを表現する 9 文字の文字列です。各文字で、2 つのジオメトリ間の 9 個の交差の 1 つで許可される交差のタイプ (内部、境界、および外部) を表現します。この関数は、すべての空間データ型をサポートします。

st_relate(wkb1, wkb2)/st_relate(wkt1, wkt2)

SELECT ST_RELATE('POINT(3 3)', ST_BUFFER('POINT(0 0)',3)) FROM view

結果は以下のようになります。

'FF0FFF212'

ST_STARTPOINT

説明

ST_STARTPOINT 関数は、wkb の最初の点を返します。Wkb はラインストリングである必要があります。

SELECT st_startpoint(wkb)/st_startpoint(wkt) FROM view

ST_STARTPOINT('LINESTRING(0 2, 4 5, 7 8)')
  • 結果は以下のようになります。

'POINT (0 2)'

ST_SYMDIFFERENCE

説明

ST_SYMDIFFERENCE 関数は、wkb1/wkt1 と wkb2/wkt2 の、交差しない部分である新しいジオメトリを返します。この関数は、すべての空間データ型をサポートします。

SELECT st_symdifference(wkb1, wkb2)/st_symdifference(wkt1, wkt2) FROM view

ST_TOUCHES

説明

ST_TOUCHES 関数は、指定した複数のジオメトリの交差に共通の点が少なくとも 1 つあるものの、その内部には共通の点がまったくない場合に true を返します。この関数は、異なる空間データ型の間で考えられる関係すべてに適用されます。ただし、点と点のペアは除きます。

SELECT st_touches(wkb1, wkb2)/st_touches(wkt1, wkt2) FROM view
  • 指定した複数のジオメトリに共通の点が少なくとも 1 つあるものの、その内部には共通の点がまったくない場合、結果は true (t) になります。

ST_TRANSFORM

説明

ST_TRANSFORM 関数は、ある座標参照系 (CRS) から別の座標参照系にジオメトリを変換します。source_code で入力ジオメトリの座標参照系 (CRS) を指定し、target_code で結果に求める CRS を指定します。

SELECT st_transform(wkb, <source_code:string>, <target_code:string>)/st_transform(wkt, <source_code:string>, <target_code:string>) FROM view

ST_UNION

説明

ST_UNION 関数は、wkt1 と wkt2 の和集合によって形成される新しいジオメトリを返します。この関数は、すべての空間データ型をサポートします。

SELECT st_union(wkb1, wkb2)/st_union(wkt1, wkt2) FROM view

ST_WITHIN

説明

ST_WITHIN 関数は、ジオメトリ wkb1 が完全にジオメトリ wkb2 の内部にある場合に true を返します。この関数は、すべての空間データ型をサポートします。

SELECT st_within(wkb1, wkb2)/st_within(wkt1, wkt2) FROM view

ST_WKBTOWKT

説明

ST_WKBTOWKT 関数は、既知のバイナリ (wkb) を馴染みのあるテキスト (wkt) に変換します。

SELECT st_wkbtowkt(wkb) FROM view

ST_WKTTOWKB

説明

ST_WKBTOWKT 関数は、馴染みのあるテキスト (wkt) を既知のバイナリ (wkb) に変換します。

SELECT st_wkttowkb(wkt) FROM view

ST_X

説明

ST_X 関数は、wkb/wkt の X 座標を返します。Wkb/wkt は点である必要があります。

SELECT st_x(wkb)/st_x(wkt) FROM view

ST_Y

説明

ST_Y 関数は、wkb/wkt の Y 座標を返します。Wkb/wkt は点である必要があります。

SELECT st_y(wkb)/st_y(wkt) FROM view
Add feedback