GeoJsonデータの関数
boolean geo_intersect(any*, any*)
オペランドが単一の有効なジオメトリ・オブジェクトを返さないことがコンパイル時に検出されると、エラーが発生します。それ以外の場合、実行時の動作は次のようになります。
- いずれかのオペランドが0個または複数の項目を返した場合はfalseを返します。
- いずれかのオペランドがNULLを返した場合はNULLを返します。
- いずれかのオペランドが有効なジオメトリ・オブジェクトではない項目を返した場合は、falseを返します。
boolean geo_inside(any*, any*)
オペランドが単一の有効なジオメトリ・オブジェクトを返さないことがコンパイル時に検出されると、エラーが発生します。それ以外の場合、実行時の動作は次のようになります。
- いずれかのオペランドが0個または複数の項目を返した場合はfalseを返します。
- いずれかのオペランドがNULLを返した場合はNULLを返します。
- いずれかのオペランドが有効なジオメトリ・オブジェクトではない項目を返した場合は、falseを返します(ただし、オペランドが有効なジオメトリを返さないことがコンパイル時に検出された場合は、エラーが発生します)。
- 2番目のオペランドがポリゴンではないジオメトリ・オブジェクトを返した場合は、falseを返します。
boolean geo_within_distance(any*, any*, double)
最初の2つのオペランドのいずれかが単一の有効なジオメトリ・オブジェクトを返さないことがコンパイル時に検出されると、エラーが発生します。それ以外の場合、実行時の動作は次のようになります。
- 最初の2つのオペランドのいずれかが0個または複数の項目を返した場合はfalseを返します。
- 最初の2つのオペランドのいずれかがNULLを返した場合はNULLを返します。
- 最初の2つのオペランドのいずれかが有効なジオメトリ・オブジェクトではない項目を返した場合は、falseを返します。
boolean geo_near(any*, any*, double)
geo_nearは、内部でgeo_within_distanceに変換され、2つのジオメトリ間の距離に(暗黙的な) ORDER BYが指定されます。ただし、問合せに(明示的な) ORDER BYがすでに存在する場合、距離による順序付けは実行されません。geo_near関数はWHERE句にのみ使用できます。この場合、最上位レベルの述語(ORまたはNOT演算子の下にネストされていない)にする必要があります。
double geo_distance(any*, any*)
オペランドが単一の有効なジオメトリ・オブジェクトを返さないことがコンパイル時に検出されると、エラーが発生します。それ以外の場合、実行時の動作は次のようになります。
- いずれかのオペランドが0個または複数の項目を返した場合は-1を返します。
- いずれかのオペランドがNULLを返した場合はNULLを返します。
- オペランドのいずれかがジオメトリでない場合は-1を返します。
boolean geo_is_geometry(any*)
- オペランドが0個または複数の項目を返した場合はfalseを返します。
- オペランドがNULLを返した場合はNULLを返します。
- 入力が単一の有効なジオメトリ・オブジェクトである場合はtrueを返します。それ以外の場合はfalseを返します。