このトピックでは、INCLUDE演算子について説明します。 これらの演算子は、左オペランド指定オブジェクトのバウンディングボックスが、指定された次元の右オペランド指定オブジェクトのバウンディングボックスを含むかどうかをチェックするために使用される。
構文
{geometry, trajectory, boxndf} /@>/ {geometry, trajectory, boxndf}
{trajectory, boxndf} #@># {trajectory, boxndf}
{geometry, trajectory, boxndf} @> {geometry, trajectory, boxndf}
{geometry, trajectory, boxndf} @/> {geometry, trajectory, boxndf}
{trajectory, boxndf} @#> {trajectory, boxndf}
{trajectory, boxndf} @/#> {trajectory, boxndf}
パラメーター
パラメーター | 説明 |
Left operand | 境界ボックスを比較するオブジェクト。 |
Right operand | 境界ボックスを比較するオブジェクト。 |
説明
INCLUDE演算子を使用すると、左側のオペランド指定オブジェクトのバウンディングボックスに、指定したディメンションの右側のオペランド指定オブジェクトのバウンディングボックスが含まれているかどうかを確認できます。 これらの境界ボックスは、ST_MakeBox関数によって生成される。 詳細については、「ST_MakeBox」をご参照ください。 INCLUDE演算子の効果は、INCLUDED演算子の効果と反対です。 詳細については、「INCLUDED演算子」をご参照ください。
次のINCLUDE演算子がサポートされています。
/@>/
: 左オペランド指定オブジェクトのバウンディングボックスに、右オペランド指定オブジェクトのバウンディングボックスがz次元に含まれているかどうかを確認します。#@>#
: 左オペランド指定オブジェクトのバウンディングボックスに、右オペランド指定オブジェクトのバウンディングボックスがt次元に含まれているかどうかを確認します。@>
: 左側のオペランド指定オブジェクトのバウンディングボックスに、x次元とy次元の右側のオペランド指定オブジェクトのバウンディングボックスが含まれているかどうかを確認します。@&>
: 左側のオペランド指定オブジェクトのバウンディングボックスに、右側のオペランド指定オブジェクトのバウンディングボックスがx、y、z次元に含まれているかどうかを確認します。<#@
: x、y、t次元の右オペランド指定オブジェクトのバウンディングボックスに、左オペランド指定オブジェクトのバウンディングボックスが含まれているかどうかを確認します。@/#>
: 左オペランド指定オブジェクトのバウンディングボックスが、x、y、z、t次元の右オペランド指定オブジェクトのバウンディングボックスに含まれているかどうかを確認します。
例:
WITH box AS(
SELECT ST_MakeBox3dt(0,0,0, '2010-01-01 00:00:00',10,10,10, '2012-01-01 00:00:00') a,
ST_MakeBox3dt(6,6,3,'2010-01-01 00:00:00',8,8,5,'2013-01-01 00:00:00') b
)
SELECT a /@>/ b AS OpZ, a #@># b AS OpT, a @> b AS Op2D, a @/> b AS Op3D, a @#> b AS Op2DT, a @/#> b AS Op3DT from box;
opz | opt | op2d | op3d | op2dt | op3dt
-----+-----+------+------+-------+-------
t | f | t | t | f | f