特定の SQL 関数およびタイプは、次のいずれかを実行したときに作成されます。
- Oracle または PostgreSQL データベースにジオデータベースを作成する。
- Oracle または PostgreSQL データベースに ST_Geometry 空間データ タイプをインストールする。
- createSQLiteDatabase ArcPy 関数を使用して SQLite データベースを作成し、ST_Geometry 空間データ タイプを指定する。
Oracle および PostgreSQL データベースの場合、ST_Geometry タイプおよびその関数は、sde ユーザーのスキーマに作成されます。SQLite の場合、タイプおよび関数は、SQLite データベースに対して SQL を実行する前に読み込む必要があるライブラリに格納されます。
このヘルプの次のセクションでは、ST_Geometry 空間データ タイプで使用できる関数のリストを記載し説明します。関数のトピックは次のような構成になっています。
- 説明
関数の説明
- 構文
関数で使用する正しい構文
関係演算子の場合は、パラメーターを指定する順序が重要になります。最初のパラメーターでは選択対象のテーブルを指定し、2 つ目のパラメーターではフィルターとして使用するテーブルを指定します。
- 戻り値のタイプ
関数を実行したときに返されるデータのタイプ
- 例
特定の関数を使用するサンプル
SQL 関数の一覧
以下のリンクをクリックすると、Oracle、PostgreSQL、および SQLite の ST_Geometry タイプで使用できる関数の説明にジャンプします。
ST_Geometry 関数を Oracle で使用する場合、関数と演算子を sde. で修飾する必要があります。たとえば、ST_Buffer は sde.ST_Buffer と指定します。sde. を追加すると、その関数が sde ユーザーのスキーマに格納されていることが明示されます。PostgreSQL の場合、この修飾は任意ですが、修飾子を付加することをお勧めします。SQLite データベースには sde スキーマがないため、SQLite でこの関数を使用する場合は、修飾を含めないでください。
ST_Geometry SQL 関数は、用途に基づいてグループ分けできます。
コンストラクター関数
コンストラクター関数は、いずれかのジオメトリ タイプまたはジオメトリのテキスト記述を受け取り、ジオメトリを作成します。次の表は、コンストラクター関数の一覧で、各関数における ST_Geometry 実装の対応状況を示しています。
コンストラクター関数
関数 | Oracle | PostgreSQL | SQLite |
---|---|---|---|
X | X | ||
X | X | ||
X | |||
X | X | X | |
X | X | ||
X | X | ||
X | X | X | |
X | X | X | |
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | |||
X | X | X | |
X | X | X | |
X | X | X | |
X | |||
X | X | X | |
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | X | X | |
X | X |
アクセサ関数
ジオメトリを入力として、それに関する特定の情報を返す関数がいくつかあります。
一部の関数は、1 つまたは複数のフィーチャが特定の条件を満たすかどうかをチェックします。ジオメトリが条件を満たす場合、関数は 1 または t (TRUE) を返します。ジオメトリが条件を満たさない場合、関数は 0 または f (FALSE) を返します。
次の関数は、但し書きがあるものを除いて、すべての実装に適用されます。
アクセサ関数
ST_Entity(Oracle および SQLite のみ) |
ST_GeoSize(PostgreSQL のみ) |
ST_Is3d(Oracle および SQLite のみ) |
ST_IsMeasured(Oracle および SQLite のみ) |
関係関数
関係関数は、ジオメトリを入力として受け取り、ジオメトリ間に特定のリレーションシップが存在するかどうかを判定します。空間リレーションシップの条件が満たされている場合、関数は 1 または t (TRUE) を返します。空間リレーションシップの条件が満たされていない (リレーションシップが存在しない) 場合、関数は 0 または f (FALSE) を返します。
次の関数は、但し書きがあるものを除いて、すべての実装に適用されます。
関係関数
ST_EnvIntersects(Oracle および SQLite のみ) |
ST_OrderingEquals(Oracle および PostgreSQL のみ) |
ジオメトリ関数
空間データを入力として、それを分析して、新しい空間データを返します。
次の関数は、但し書きがあるものを除いて、すべての実装に適用されます。
ジオメトリ関数
ST_Aggr_ConvexHull(Oracle および SQLite のみ) |
ST_Aggr_Intersection(Oracle および SQLite のみ) |
ST_Aggr_Union(Oracle および SQLite のみ) |
ST_Equalsrs(PostgreSQL のみ) |