SAP SAP IQ 16.0 SP 10 空間データ ユーザーマニュアル

SAP  SAP IQ 16.0 SP 10 空間データ ユーザーマニュアル

空間データ SAP IQ 16.0 SP 10 の管理方法について説明しています。このガイドは、空間データの管理方法、空間参照系、および空間測定単位について解説しています。

広告

アシスタントボット

助けが必要ですか? 私たちのチャットボットは既にマニュアルを読んでおり、あなたをサポートする準備ができています。 デバイスに関する質問はお気軽にどうぞ、詳細を提供することで会話がより生産的になります。

マニュアル 質問
SAP  SAP IQ 16.0 SP 10 空間データ ユーザーマニュアル | Manualzz
PUBLIC
SAP IQ 16.0 SP 10
文書バージョン: 1.0 – 2015/07/07
管理: 空間データ
目次
1
管理: 空間データ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2
制限事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3
空間データ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1
空間参照系 (SRS) と空間参照系識別子 (SRID). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2
測定単位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
追加の事前定義済み測定単位のインストール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3
空間データのサポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
サポートされる空間データ型とその階層. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
空間標準への準拠. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
サポートと準拠についての特記事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
サポートされる空間データのインポートフォーマットとエクスポートフォーマット. . . . . . . . . . . . . . . . . . . . 16
ESRI シェイプファイルのサポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4
空間トピック関連の推奨ドキュメント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5
SRID カラム制約の追加. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6
空間カラムの作成 (SQL の場合). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.7
空間カラムのインデックス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.8
空間データ型の構文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
UDT インスタンスのインスタンス化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
インスタンスメソッドの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
静的メソッドの使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
静的集約メソッドの使用 (SAP IQ 拡張). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
型述部の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
サブタイプへの TREAT 式の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.9
ジオメトリの作成方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.10
空間データのイメージとしての表示 (Interactive SQL の場合). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
3.11
空間データのイメージとしての表示 (Spatial Viewer の場合). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.12
WKT (Well Known Text) ファイルからの空間データのロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
3.13
空間に関する高度なトピック. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
平面および曲面の表現方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
「グリッドにスナップ」と許容度が空間の計算に与える影響. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
補間が空間の計算に与える影響. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
多角形リングの方向操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
ジオメトリの内部、外部、境界の操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
目次
空間の比較操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
空間の関係操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
空間の次元の操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.14
チュートリアル:空間機能の実験. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
追加の測定単位と空間参照系のインストール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
ESRI シェイプファイルデータのダウンロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
ESRI シェイプファイルデータのロード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
空間データのクエリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
SVG への空間データの出力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
空間データの投影. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4
空間データへのアクセスとそのデータの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.1
空間型と関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ST_CircularString タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ST_CompoundCurve タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
ST_Curve タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
ST_CurvePolygon タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
ST_GeomCollection タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
ST_Geometry タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
ST_LineString タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289
ST_MultiCurve タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
ST_MultiLineString タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
ST_MultiPoint タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
ST_MultiPolygon タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
ST_MultiSurface タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
ST_Point タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
ST_Polygon タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
ST_SpatialRefSys タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
ST_Surface タイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
空間互換関数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
サポートされているすべてのメソッドのリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
サポートされているすべてのコンストラクタのリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
静的メソッドのリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
集約メソッドのリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
集合操作メソッドのリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
空間述部のリスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .450
5
付録: SQL 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
5.1
CREATE SPATIAL REFERENCE SYSTEM 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .453
5.2
CREATE SPATIAL UNIT OF MEASURE 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
管理: 空間データ
目次
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
3
5.3
DROP SPATIAL UNIT OF MEASURE 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
5.4
DROP SPATIAL REFERENCE SYSTEM 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
5.5
ALTER SPATIAL REFERENCE SYSTEM 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
5.6
ALTER TABLE 文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
4
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
目次
1
管理: 空間データ
このガイドは、SAP IQ のカタログストアの空間データ管理情報を提供します。
管理: 空間データ
管理: 空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
5
2
制限事項
SAP® IQ で空間データ、空間参照系、および空間測定単位を操作する前に、3D メソッドのパフォーマンスおよび参照整合
性に関する制限事項と影響をよく理解してください。
2006 ISO 標準
3D メソッドはサポートされていませんが、Z 次元と M 次元を格納できます。2006 ISO 標準では、2D 空間メソッド (X 次
元と Y 次元) のみがサポートされています。
空間データを IQ カタログストアテーブルに格納する必要があります
空間データ、空間参照系、空間測定単位、GeoJSON フォーマットは、カタログストアでのみ使用できます。IQ メインストア
では、空間データの解釈や格納はできません。カタログストア内の空間データを問い合わせて IQ メインストアテーブルに
ジョインできますが、このジョインは非空間カラムに対して行う必要があります。
たとえば、IQ メインストアテーブルに格納された顧客のそれぞれに対して ST_Point を関連付ける必要があるとします。
IQ メインストアテーブルには ST_Point を格納できないため、次のようにポイントを保持するための IQ カタログストアテー
ブルを別個に作成する必要があります。
IQ メインストアテーブル
Customer( CustID, CustName, … )
CustPoints( CustID, Point )
CustPoints( CustID, Point )
ST_Polygon P があり、P に含まれるすべての顧客を見つけるクエリが必要なシナリオを考えてみます。P は、定数値また
は IQ カタログストアテーブルの前のクエリの値が入力される接続変数であるとします。
Select C.*
From Customer C, CustPoints CP
Where C.CustID = CP.CustID
And CP.Point.ST_Within( P ) = 1
このクエリは IQ メインストアの Customer テーブルを IQ カタログストアに流し込むため、パフォーマンスに影響します。
CIS 機能補正のパフォーマンスに関する考慮事項が適用されます。
参照整合性制約は、IQ メインストア/IQ カタログストアブリッジ間で維持されません。1 つのテーブル内のロー挿入/削除
は、ジョインされたテーブルに反映されます。たとえば、すべての CustPoints ローがいずれかの Customer ローに対応
している必要があります。Customer ローを削除した場合は、対応する CustPoints ローを削除する必要があります。
6
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
制限事項
3
空間データ
空間データは、定義された空間内のオブジェクトの位置、形、および方向を記述するデータです。
空間データは、ポイント、曲線 (線ストリングと円弧ストリング)、および多角形の形式の 2D ジオメトリとして表現されます。
たとえば、次のイメージはマサチューセッツ州の郵便番号の区域を表す多角形の論理和を表しています。
空間データに対して実行される 2 つの一般的な操作は、ジオメトリ間の距離の計算と、複数のオブジェクトの論理和また
は共通部分の判断です。これらの計算は、Intersects、Contains、Crosses などの述部を使用して実行されます。
空間データのマニュアルでは、作業を行う空間参照系と空間データについての知識があることを前提としています。
注記
32 ビット Windows と 32 ビット Linux の空間データサポートには、SSE2 命令をサポートする CPU が必要となりま
す。これは、Intel Pentium 4 (2001 年リリース) 以降と AMD Opteron (2003 年リリース) 以降でサポートされます。
このソフトウェアでは、空間データの格納およびデータ管理の機能が提供されているため、地理的な場所、ルート情報、シ
ェイプデータなどの情報を格納できます。
これらの情報の断片は、ポイント、さまざまな形式の多角形、線として、対応する空間データ型 (ST_Point、ST_Polygon
など) で定義されたカラムに格納されます。空間データへのアクセスおよび操作を行うには、メソッドおよびコンストラクタを
使用します。このソフトウェアでは、他の製品との互換性のために設計された一連の SQL 空間関数も提供されます。
例
空間データの使用例
空間データサポートによって、アプリケーション開発者は既存のデータと空間情報を関連付けることができます。たとえ
ば、会社を表すテーブルに、会社の場所をポイントとして格納したり、会社の配送地域を多角形として格納したりできま
す。これは、SQL では次のように表すことができます。
CREATE TABLE Locations(
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
7
ID INT,
ManagerName CHAR(16),
StoreName CHAR(16),
Address ST_Point,
DeliveryArea ST_Polygon )
例で使用されている空間データ型 ST_Point は単一のポイントを表し、ST_Polygon は任意の多角形を表します。この
スキーマを使用すると、アプリケーションで会社の場所をすべて地図上に表示したり、次のようなクエリを使用して会社
が特定の住所に配送しているかどうかを検索したりできます。
CREATE VARIABLE @pt ST_Point;
SET @pt = ST_Geometry::ST_GeomFromText( 'POINT(1 1)' );
SELECT * FROM Locations
WHERE DeliveryArea.ST_Contains( @pt ) = 1
3.1
空間参照系 (SRS) と空間参照系識別子 (SRID)
空間データベースのコンテキストでは、ジオメトリが記述されている定義済みの空間を空間参照系 (SRS) と呼びます。
空間参照系では、少なくとも次のことが定義されます。
● 基本となる座標系の測定単位 (角度、メートルなど)
● 座標の最大値と最小値 (境界とも呼ばれます)
● デフォルトの線形測定単位
● データが平面データまたは回転楕円体データのいずれであるか
● データを他の SRS に変換するための投影情報
すべての空間参照系には、空間参照系識別子 (SRID) と呼ばれる識別子があります。ジオメトリが別のジオメトリと接触
しているかどうかを調べる操作などをデータベースサーバが実行する場合、空間参照系の計算を正しく実行できるように、
SRID を使用してその空間参照系の定義を検索します。各 SRID はデータベース内でユニークでなければなりません。
デフォルトでは、データベースサーバは次の空間参照系を新しいデータベースに追加します。
デフォルト ‐ SRID 0
これは、ジオメトリを構成するときに SQL に SRID が指定されておらず、ロードされる値にも含まれていない場合のデ
フォルトの空間参照系です。
デフォルトは、平らな 2 次元平面でのデータを処理する直交空間参照系です。平面上の任意のポイントは、x と y が
-1,000,000 から 1,000,000 の境界を持つ、x, y 座標の単一のペアを使用して定義されます。距離は垂直座標軸を
使用して測定されます。この空間参照系には、SRID 0 が割り当てられています。
直交空間参照系は、平面タイプの空間参照系です。
8
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
WGS 84 (平面) ‐ SRID 1000004326
WGS 84 (平面) は WGS 84 と似ていますが、正距円筒投影法が使用され、長さ、面積、その他の計算がゆがめら
れます。たとえば、SRID 4326 と 1000004326 では、どちらも赤道での経度 1 度は約 111 km です。北緯 80 度で
は、SRID 4326 では経度 1 度は約 19 km ですが、SRID 1000004326 ではすべての緯度で経度 1 度を約 111 km
として扱います。SRID 1000004326 では長さにかなりのゆがみが発生します (10 分の 1 以下に減少)。ゆがみの
係数は、赤道に対するジオメトリの相対的な位置によって異なります。このため、SRID 1000004326 は距離と面積
の計算には使用しないでください。ST_Contains、ST_Touches、ST_Covers などの関係述部にのみ使用してくださ
い。
WGS 84 (平面) は、平面タイプの空間参照系であり、デフォルトの測定単位は DEGREE です。
WGS 84 ‐ SRID 4326
WGS 84 標準では、地球の回転楕円体の参照面が提供されます。これは、グローバルポジショニングシステム
(GPS) によって使用される空間参照系です。WGS 84 の座標原点は地球の中心であり、±1 メートルの精度であると
見なされています。WGS は世界測地系 (World Geodetic System) を表しています。
WGS 84 の座標は角度で表され、第 1 の座標は経度で境界は -180 から 180、第 2 の座標は緯度で境界は -90 か
ら 90 です。
WGS 84 は、曲面タイプの空間参照系であり、デフォルトの測定単位は METRE です。
sa_install_feature システムプロシージャを使用した追加の空間参照系のインストール
このソフトウェアには、使用できる定義済みの SRS も多数備えられています。ただし、これらの SRS は、新しいデータベ
ースの作成時にデフォルトではデータベースにインストールされません。これらを追加するには、sa_install_feature シス
テムプロシージャを使用してください。
これらの追加の空間参照系ついての説明は、SpatialReference.org
と EPSG Geodetic Parameter Registry
を
参照してください。
一般的なマッピングアプリケーションとの互換性
一般的な Web マッピングおよび視覚化アプリケーション (Google Earth、Bing Maps、ArcGIS Online など) には、地球
の球形モデルに基づくメルカトール投影の空間参照系を使用するものがあります。この球形モデルは地球の両極での扁
平を無視するため、位置で最大 800 m、縮尺で最大 0.7 パーセントの誤差が生じる可能性がありますが、アプリケーショ
ンでの投影実行がより効率的になります。
以前は、この空間参照系には SRID 900913 が市販アプリケーションで割り当てられていました。ただし、EPSG がこの投
影を SRID 3857 としてリリースしました。SRID 900913 を要求するアプリケーションと互換性を保つためには、
sa_install_feature システムプロシージャを使用し、提供される空間参照系 (SRID 3857 を含む) をインストールできま
す。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
9
3.2
測定単位
地理的特性は、緯度、ラジアン、またはその他の角度測定単位で測定できます。
空間参照系には、地理的座標が測定される単位の名前を明示的に指定し、指定された単位からラジアンへの変換方法を
含める必要があります。
投影座標系を使用している場合、個々の座標値は地球の地表面に沿った、ポイントまでの線形距離を表します。座標値
は、メートル、フィート、マイル、またはヤードで測定できます。投影座標系では、座標値を表現する線形測定単位を明示
的に指定する必要があります。
次の測定単位は、新しいデータベースに自動的にインストールされます。
meter
線形測定単位。国際メートルとしても知られています。SI 標準単位です。ISO 1000 で定義されています。
metre
線形測定単位。meter のエイリアス。SI 標準単位です。ISO 1000 で定義されています。
radian
角度測定単位。SI 標準単位です。ISO 1000:1992 で定義されています。
degree
角度測定単位 (pi()/180.0 ラジアン)。
planar degree
線形測定単位。60 海里として定義されています。PLANAR 線解釈を使用する地理的空間参照系で使用される線形
測定単位です。
3.2.1 追加の事前定義済み測定単位のインストール
デフォルトではインストールされていない、事前定義済みの測定単位を新しいデータベースに追加します。
前提条件
なし
手順
次の文を実行して、すべての事前定義済みの測定単位をインストールします。
CALL sa_install_feature('st_geometry_predefined_uom');
10
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
結果
追加の測定単位はすべて、インストールされます。
次のステップ
測定単位を使用する空間参照系を作成できます。
これらの追加の測定単位についての説明については、EPSG Geodetic Parameter Registry
を参照してください。こ
の Web ページで、測定単位の名前を [Name] フィールドに入力し、[Type] フィールドで Unit of Measure (UOM)
を選択して、[Search] をクリックします。
3.3
空間データのサポート
このソフトウェアでは、いくつかの空間データ型がサポートされています。
3.3.1 サポートされる空間データ型とその階層
空間サポートは、地理空間データの格納とアクセスにおいて SQL Multimedia (SQL/MM) 標準に準拠しています。
この標準の重要な構成要素は、ST_Geometry 型の階層を使用して、地理空間データの作成方法を定義していることで
す。階層内では、プレフィクス ST がすべてのデータ型 (クラスまたはタイプとも呼ばれます) に対して使用されます。カラ
ムが特定のタイプとして識別されると、そのタイプとそのサブクラスの値をカラムに格納できます。たとえば、
ST_Geometry として識別されたカラムには、ST_LineString と ST_MultiLineString の値も格納できます。
サポートされる空間データ型の説明
次の空間データ型がサポートされます。
ジオメトリ
ジオメトリという語は、ポイント、線ストリング、多角形などのオブジェクトを包含するタイプを意味します。ジオメトリタイ
プは、サポートされるすべての空間データ型のスーパータイプです。
ポイント
ポイントは空間内の単一の場所を定義します。ポイントジオメトリには長さまたは面積がありません。ポイントには必
ず X 座標と Y 座標があります。
空でないポイントに対しては、ST_Dimension は 0 を返します。
GIS データでは、ポイントは、通常、住所などの場所、または山などの地理的特性を表すために使用されます。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
11
複数ポイント
複数ポイントは個々のポイントのコレクションです。
GIS データでは、複数ポイントは、通常、ロケーションのセットを表すために使用されます。
線ストリング
線ストリングは長さを持つジオメトリですが、領域はありません。空でない線ストリングに対しては、ST_Dimension は
1 を返します。線ストリングは、単純か、単純ではないか、および閉じているか、閉じていないかによって特徴付けるこ
とができます。単純とは、それ自体が交差していない線ストリングを指します。閉じているとは、開始したポイントと同じ
ポイントで終了する線ストリングを意味します。たとえば、リングは単純で閉じている線ストリングの例です。
GIS データでは、線ストリングは、通常、河川、道路、または配送経路を表すために使用されます。
複数線ストリング
複数線ストリングは線ストリングの集合体です。
GIS データでは、複数線ストリングは、河川または高速道路網のような地理的特性を表すために使用されます。
多角形
多角形は空間の領域を定義します。多角形は、外部領域を定義する 1 つの外部境界リングと、領域の穴を定義する
0 個以上の内部リングによって構成されます。多角形には領域が関連付けられますが、長さはありません。
空でない多角形に対しては、ST_Dimension は 2 を返します。
GIS データでは、多角形は、通常、地域 (国、町、州など)、湖、公園などの大きな地理的特性を表すために使用され
ます。
複数多角形
複数多角形は 0 個以上の多角形の集合体です。
GIS データでは、複数多角形は、複数の島で形成されている国の領土や、湖水系などの地理的特性を表現するため
によく使用されます。
円ストリング
円ストリングは、一連の円弧セグメントを接続したものです。ポイント間が円弧で接続された線セグメントとよく似てい
ます。
複合曲線
複合曲線は、円ストリングまたは線ストリングを接続したものです。
曲線多角形
曲線多角形は、一般的な多角形であり、円弧の境界セグメントが含まれる場合もあります。
ジオメトリコレクション
ジオメトリコレクションは、1 つ以上のジオメトリ (ポイント、線、多角形など) のコレクションです。
複数面
複数面は曲線多角形の集合体です。
空間タイプの階層
次の図は、ST_Geometry データ型とそのサブタイプの階層を示しています。
12
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
左側のタイプがスーパータイプ (または基本タイプ)、右側がそのサブタイプ (または派生タイプ) を示します。
空間データ型のオブジェクト指向型プロパティ
● サブタイプ (または派生タイプ) は、スーパータイプ (または基本タイプ) よりも限定的です。たとえば、ST_LineString
は ST_Curve をより限定的にしたものです。
● サブタイプはすべてのスーパータイプのすべてのメソッドを継承します。たとえば、ST_Polygon の値は、スーパータ
イプ ST_Geometry、ST_Surface、ST_CurvePolygon のメソッドを呼び出せます。
● サブタイプの値は自動的に派生元のスーパータイプの値に変換されます。たとえば、
point1.ST_Distance( point2 ) のように、ST_Geometry のパラメータが必要な場面では、ST_Point の値
を使用できます。
● カラムまたは変数には、どのサブタイプの値でも格納できます。たとえば、ST_Geometry タイプのカラムには、すべ
てのタイプの空間値を格納できます。
● 宣言されたタイプを使用したカラム、変数、または式は、そのままの型で処理できます。そうでない場合は、サブタイプ
にキャストします。たとえば、geom という名前の ST_Geometory のカラムの ST_Polygon の値を、TREAT 関数で
宣言した ST_Surface タイプに変更することで、TREAT( geom AS ST_Polygon ).ST_Area() のように、
ST_Area メソッドを呼び出すことができます。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
13
3.3.1.1
サポートされる空間述部
述部は条件式であり、論理演算子 AND や OR と組み合わせて、WHERE 句、HAVING 句、ON 句、IF 式、CASE 式、ま
たは CHECK 制約に一連の条件を構成します。
SQL では、述部は TRUE または FALSE に評価できます。多くのコンテキストで、UNKNOWN と評価される述部が
FALSE として解釈されます。
空間述部は、0 または 1 を返すメンバー関数として実装されます。空間述部をテストするには、クエリで = または <> 演算
子を使用して、関数の結果を 1 または 0 で比較します。例:
SELECT * FROM SpatialShapes WHERE geometry.ST_IsEmpty() = 0;
述部を使用するのは、次のような質問で空間データを問い合わせる場合です。たとえば、2 つ以上のジオメトリの距離が
どのくらい近いか、それらは交差しているのか、重なり合っているか、あるいは、あるジオメトリが別のジオメトリ内に含ま
れているか、などがあります。たとえば、配送会社の場合、述部を使用して、顧客が特定の配送区域内に存在しているか
どうかを判別できます。
空間述部は、ジオメトリ間の空間関係に関する質問に回答するためにサポートされています。
3.3.1.1.1
空間述部の直感性
述部の結果は直感的ではないことがあります。
特殊なケースをテストして、望みどおりの結果を得られていることを確認してください。たとえば、ジオメトリが別のジオメトリ
を包含するには (a.ST_Contains(b)=1)、またはジオメトリが別のジオメトリ内に含まれるためには
(b.ST_Within(a)=1)、a の内部と b の内部は交差している必要があり、b のどの部分も a の外部と交差することはで
きません。ただし、ジオメトリが別のジオメトリ内に含まれていることを予想していたが、含まれていない場合があります。
たとえば、次の例では、a.ST_Contains(b) と b.ST_Within(a) (a が赤) に対して 0 が返されます。
ケース 1 と 2 は明白です。紫色のジオメトリは赤い正方形内に完全には含まれていません。ケース 3 と 4 は明らかでは
ありません。これらのケースは、紫色のジオメトリが赤い正方形の境界上にのみあります。紫色のジオメトリは赤い正方形
内にあるように見えますが、ST_Contains は赤い正方形内にあるとは見なしません。
ST_Covers と ST_CoveredBy は、ST_Contains と ST_Within と類似した述部です。ST_Covers と ST_CoveredBy の
場合、2 つのジオメトリの内部が交差している必要がない点が異なります。また、ST_Covers と ST_CoveredBy が返す
結果は、ST_Contains と ST_Within より直感的でわかりやすい場合が多いです。
述部のテストで望んでいたものと異なる結果が返された場合、ST_Relate メソッドを使用して、テストする関係を厳密に指
定することを検討してください。
14
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
3.3.2 空間標準への準拠
空間サポートは、いくつかの公開標準に準拠しています。
国際標準化機構 (ISO)
ジオメトリは、空間ユーザ型、ルーチン、スキーマを定義し、空間データを処理するための ISO 標準に準拠していま
す。SAP IQ は、国際標準 ISO/IEC 13249-3:2006
による特定の推奨事項に準拠しています。
OGC (Open Geospatial Consortium) ジオメトリモデル
ジオメトリは、「OGC OpenGIS Implementation Specification for Geographic information - Simple feature
access - Part 2:SQL option version 1.2.0 (OGC 06-104r3)
」に準拠しています。
OGC によって推奨されている標準は、空間情報を異なるベンダ間および異なるアプリケーション間で共有できるよう
にするために使用されています。
SAP IQ 空間ジオメトリとの互換性を確保するために、OGC によって規定されている標準に従ってください。
SQL Multimedia (SQL/MM)
空間サポートは SQL/MM 標準に準拠し、すべてのメソッド名と関数名にプレフィクス ST_ を使用しています。
SQL/MM は、SQL を使用して空間データを格納、検索、処理する方法を定義した国際標準です。空間データ型の階
層 (ST_Geometry など) は、空間データの検索に使用される方法の 1 つです。ST_Geometry 階層には、
ST_Point、ST_Curve、ST_Polygon などの多くのサブタイプが含まれています。SQL/MM 標準では、クエリに含ま
れるすべての空間値は、同じ空間参照系に定義されている必要があります。
3.3.3 サポートと準拠についての特記事項
空間データのサポートに関する以下の特記事項には、サポートされない機能、他のデータベース製品との顕著な動作の
違いなどの情報が含まれます。
ジオグラフィとジオメトリ
ベンダーによっては、ジオグラフィ (曲面上のオブジェクトに関連する) か、ジオメトリ (平面上のオブジェクト) かによっ
て、空間オブジェクトが区別されます。SAP IQ では、空間オブジェクトはすべてジオメトリと見なされ、オブジェクトの
SRID によって、曲面空間参照系または平面空間参照系で処理されていることが示されます。
サポートされないメソッド
● ST_Buffer メソッド
● ST_LocateAlong メソッド
● ST_LocateBetween メソッド
● ST_Segmentize メソッド
● ST_Simplify メソッド
● ST_Distance_Spheroid メソッド
● ST_Length_Spheroid メソッド
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
15
3.3.4 サポートされる空間データのインポートフォーマットとエクスポート
フォーマット
次の表に、サポートされる、空間データのインポートおよびエクスポートのためのデータフォーマットとファイルフォーマット
をリストします。
表 1:
データフォーマット
[インポート]
[エクスポート]
説明
WKT (Well Known Text)
可
可
ASCII テキストで表現された地
理的データ。このフォーマット
は、「OGC OpenGIS
Implementation
Specification for Geographic
information - Simple feature
access - Part 2:SQL option
version 1.2.0 (OGC
06-104r3)
」に定義されてい
る単純特性の一部として OGC
(Open Geospatial
Consortium) によって保守され
ています。
WKT でポイントを表す方法の
例を次に示します。
'POINT(1 1)'
WKB (Well Known Binary)
可
可
バイナリストリームとして表現さ
れた地理的データ。このフォー
マットは、「OGC OpenGIS
Implementation
Specification for Geographic
information - Simple feature
access - Part 2:SQL option
version 1.2.0 (OGC
06-104r3)
」に定義されてい
る単純特性の一部として OGC
によって保守されています。
WKB でポイントを表す方法の
例を次に示します。
'0101000000000000
000000F03F0000000
00000F03F'
16
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
データフォーマット
[インポート]
[エクスポート]
説明
EWKT (拡張 Well Known
可
可
SRID 情報が埋め込まれた
Text)
WKT フォーマット。このフォーマ
ットは、PostGIS (PostgreSQL
の空間データベース拡張) の一
部として管理されます。
PostGIS/
を参照してくださ
い。
EWKT でポイントを表す方法の
例を次に示します。
'srid=101;POINT(1
1)'
EWKB (拡張 Well Known
可
可
Binary)
SRID 情報が埋め込まれた
WKB フォーマット。このフォーマ
ットは、PostGIS (PostgreSQL
の空間データベース拡張) の一
部として管理されます。
PostGIS
を参照してくださ
い。
EWKB でポイントを表す方法の
例を次に示します。
'0101000002004000
00000000000000F03
F000000000000F03F
'
GML (Geographic Markup
Language)
不可
可
地理的空間データを表すために
使用される XML 文法。この標
準は OGC (Open Geospatial
Consortium) によって保守され
ており、インターネットを介した
地理的データの交換を目的とし
ています。Geography Markup
Language
を参照してくださ
い。
GML でポイントを表す方法の
例を次に示します。
<gml:Point>
<gml:coordinates>
1,1</
gml:coordinates>
</gml:Point>
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
17
データフォーマット
[インポート]
[エクスポート]
説明
KML
不可
可
以前の Google の Keyhole
Markup Language です。この
XML 文法は地理的データを表
すために使用され、視覚化、ナ
ビゲーション補助、地図とイメー
ジに注釈を付ける機能を含んで
います。Google はこの標準を
OGC に提案しました。OGC は
これをオープン標準として受け
入れ、現在は KML と呼ばれて
います。KML
を参照してくだ
さい。
KML でポイントを表す方法の例
を次に示します。
<Point>
<coordinates>1,0<
/coordinates> </
Point>
ESRI シェイプファイル
可
不可
シェイプファイル (シェイプを定
義するために一緒に使用される
複数のファイル) の形式で空間
オブジェクトを表すための一般
的な地理空間ベクトルデータフ
ォーマット。
18
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
データフォーマット
[インポート]
[エクスポート]
説明
GeoJSON
不可
可
名前/値ペア、値の順序付きリ
スト、一般的なプログラミング言
語 (C、C++、C#、Java、
JavaScript、Perl、Python な
ど) で使用される規則に類似し
た規則を使用するテキストフォ
ーマット。
GeoJSON は JSON 標準のサ
ブセットであり、地理的情報をコ
ード化するために使用されま
す。GeoJSON 標準がサポート
されます。このソフトウェアに
は、SQL 出力を GeoJSON フォ
ーマットに変換するための
ST_AsGeoJSON メソッドが用
意されています。
GeoJSON でポイントを表す方
法の例を次に示します。
{"x" : 1, "y" :
1,
"spatialReference
" : {"wkid" :
4326}}
GeoJSON 仕様の詳細につい
ては、GeoJSON フォーマット仕
様
SVG (Scalable Vector
Graphic) ファイル
不可
可
を参照してください。
2 次元のジオメトリを表すため
に使用される XML ベースのフ
ォーマット。SVG フォーマットは
W3C (World Wide Web
Consortium) によって保守され
ています。SCALABLE
VECTOR GRAPHICS (SVG)
を参照してください。
SVG でポイントを表す方法の例
を次に示します。
<rect width="1"
height="1"
fill="deepskyblue
" stroke="black"
stroke-width="1"
x="1" y="-1"/>
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
19
3.3.5 ESRI シェイプファイルのサポート
Environmental System Research Institute, Inc. (ESRI) シェイプファイル形式がサポートされます。ESRI シェイプファイ
ルは、データセット内の空間機能のジオメトリデータと属性情報を格納するために使用されます。
ESRI シェイプファイルには、少なくとも.shp、.shx、.dbf の 3 つのファイルが含まれています。メインファイルの拡張子
は .shp、インデックスファイルの拡張子は .shx、属性カラムの拡張子は .dbf です。すべてのファイルは同じベース名
を共有し、多くの場合単一の圧縮ファイルにまとめられます。このソフトウェアでは、MultiPatch を除くすべてのシェイプタ
イプの ESRI シェイプファイルを読み込むことができます。これには、Z データと M データを含んだシェイプタイプが含まれ
ます。
ESRI シェイプファイル内のデータには、通常、複数のローとカラムが含まれています。たとえば、空間チュートリアルでは、
マサチューセッツ州の郵便番号区域が含まれるシェイプファイルをロードします。このシェイプファイルには、郵便番号区域
ごとに 1 つのローがあり、ローにはその区域の多角形情報が含まれています。また、各郵便番号区域の追加の属性 (カラ
ム) も含んでいます。これには、郵便番号名 (たとえば、文字列「02633」) やその他の属性が含まれています。
テーブルにシェイプファイルをロードする最も簡単な方法は、Interactive SQL のインポートウィザードまたは
st_geometry_load_shapefile システムプロシージャを使用することです。どちらのツールを使用しても、適切なカラムの
テーブルが作成され、シェイプファイルのデータがロードされます。
また、LOAD TABLE 文と INPUT 文を使用することによってもシェイプファイルをロードできますが、その場合、ロード操作
を実行する前に、適切なカラムのテーブルが作成されている必要があります。
LOAD TABLE 文または INPUT 文を使用してデータをロードするときに必要なカラムを知るために、
sa_describe_shapefile システムプロシージャを使用できます。
OPENSTRING 式を使用してシェイプファイル内をクエリすることができます。
ESRI シェイプファイルの詳細については、ESRI シェイプファイルの技術概要
3.4
を参照してください。
空間トピック関連の推奨ドキュメント
空間データについて調べるには、以下のリソースを参照してください。
● 地表面のマッピングおよび測定 (測地学) に使用される別の方法についての入門書、座標 (または空間) 参照系に関
連する主要な概念については、「Guidance Notes
」にアクセスして、[Geodetic Awareness] を選択してください。
● Simple Feature Access - Part 2:SQL Option
● 国際標準 ISO/IEC 13249-3:2006
● SVG (Scalable Vector Graphics) 1.1 仕様
● JavaScript Object Notation (JSON)
● GeoJSON 仕様
● KML 仕様
● GML (Geographic Markup Language) 仕様
20
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
3.5
SRID カラム制約の追加
SRID カラム制約を追加します。
前提条件
テーブルを変更するには、そのテーブルの所有者であるか、そのテーブルに対する ALTER 権限を持っているか、または
ALTER ANY TABLE または ALTER ANY OBJECT システム権限を持っていることが必要です。
インデックスに空間カラムを含めるには、カラムに SRID 制約を課す必要があります。この制約は、CREATE TABLE 文と
ALTER TABLE 文を使用して追加できます。
テーブルに空間カラムを追加する場合、テーブルにプライマリキーが定義されていることを確認してください。プライマリキ
ーが定義されていない場合、空間カラムを含んでいるテーブルに対して、更新操作と削除操作がサポートされません。
コンテキスト
SRID 制約を使用すると、空間カラムに格納できる値に制約を加えることができます。
空間カラムには、プライマリーキー、ユニークインデックス、一意性制約のいずれも入れることはできません。
手順
空間カラムの SRID 制約を含んだ CREATE TABLE 文または ALTER TABLE 文を実行します。
CREATE TABLE Test (
ID INTEGER PRIMARY KEY,
Geometry_1 ST_Geometry,
Geometry_2 ST_Geometry(SRID=4326),
);
結果
SRID 制約が、テーブルの空間カラムに追加されます。
例
たとえば、次の文を実行して、Geometry_2 カラムに SRID 制約 (SRID=4326) を持つ Test という名前のテーブルを
作成します。
CREATE TABLE Test (
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
21
ID INTEGER PRIMARY KEY,
Geometry_1 ST_Geometry,
Geometry_2 ST_Geometry(SRID=4326),
);
この制約は、このカラムに格納できるのは、SRID 4326 に関連付けられた値のみであることを意味します。
カラム Geometry_1 には制約はなく、任意の SRID に関連付けられた値を格納できます。
Geometry_1 カラムにはインデックスを作成できません。ただし、Geometry_2 カラムにはインデックスを作成できま
す。
既存の空間カラムを持つテーブルの場合は、ALTER TABLE 文を使用して、空間カラムに SRID 制約を追加できま
す。たとえば、次のような文を実行して、Test という名前のテーブルの Geometry_1 カラムに制約を追加します。
ALTER TABLE Test
MODIFY Geometry_1 ST_Geometry(SRID=4326);
次のステップ
空間カラムをインデックスに含めることができます。
3.6
空間カラムの作成 (SQL の場合)
空間データをサポートするカラムを追加して、空間データを任意のテーブルに追加します。
前提条件
テーブルは、IN SYSTEM 句を使用して作成されたカタログストアテーブルに存在する必要があります。
そのテーブルの所有者であるか、そのテーブルに対する ALTER 権限を持っているか、または ALTER ANY TABLE また
は ALTER ANY OBJECT システム権限を持っていることが必要です。
手順
1. データベースに接続します。
2. ALTER TABLE 文を実行します。
22
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
結果
空間カラムが、既存のテーブルに追加されます。
例
次の文は、Location という名前の空間カラムを Customers テーブルに追加します。新しいカラムは空間データ型
ST_Point であり、宣言された 1000004326 (平面空間参照系) という SRID を持ちます。
ALTER TABLE GROUPO.Customers
ADD Location ST_Point(SRID=1000004326);
次のステップ
カラムに SRID 制約を課し、空間カラムに保存できる値を制限できます。
3.7
空間カラムのインデックス
空間インデックスを作成する場合は、複数の空間カラムをインデックスに含めず、空間カラムをインデックス定義の最後に
配置してください。
空間カラムをインデックスに含めるには、カラムに SRID 制約を付ける必要もあります。
空間データにインデックスを作成すると、ジオメトリ間の関係を評価する場合のコストを低減できます。たとえば、販売区域
の境界を変更することを検討しており、そのことが既存の顧客に与える影響を判別するとします。提案された販売区域内
に存在する顧客を判別するには、ST_Within メソッドを使用して、各顧客の住所を表すポイントと販売区域を表す多角形
を比較します。インデックスがない場合、データベースサーバは、Customer テーブルのすべての住所のポイントを販売
区域の多角形に対してテストし、結果で返すかどうか判別します。この操作は、Customer テーブルが大きい場合は高コ
ストになり、販売区域が小さい場合は非効率になります。各顧客の住所のポイントが含まれるインデックスを使用すると、
より短時間で結果を返すことができます。販売区域とそれに重なり合う州を関連付ける述部をクエリに追加できる場合、州
コードと住所ポイントの両方が含まれるインデックスを使用して、結果をより短時間で取得できることがあります。
空間クエリは、クラスタドインデックスによって効率がよくなることがありますが、テーブルのその他の用途を考慮してから、
クラスタドインデックスの使用を決定する必要があります。実行される可能性のあるクエリのタイプを検討およびテストし
て、クラスタドインデックスによってパフォーマンスが向上するかどうかを判別します。
空間カラムに対してテキストインデックスを作成できますが、通常のインデックスと比較して利点はありません。代わりに、
通常のインデックスの使用をおすすめします。
注記
空間カラムには、プライマリーキー、ユニークインデックス、一意性制約のいずれも入れることはできません。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
23
3.8
空間データ型の構文
SQL/MM 標準では、ANSI/SQL CREATE TYPE 文に基づいて構築される拡張ユーザ定義型 (UDT) として空間データ
のサポートが定義されています。
ユーザ定義型はサポートされませんが、サポートされているかのように空間データサポートが実装されています。
3.8.1 UDT インスタンスのインスタンス化
次のように、コンストラクタを呼び出すことによって、ユーザ定義型の値をインスタンス化できます。
NEW <type-name>( <argument-list>)
たとえば、クエリに次のように指定して、2 つの ST_Point 値をインスタンス化できます。
SELECT NEW ST_Point(), NEW ST_Point(3,4)
データベースサーバでは、通常のオーバロード解決ルールを使用して、<argument-list> を定義済みコンストラクタと
照合します。次の状況では、エラーが返されます。
● NEW がユーザ定義型ではないタイプで使用された場合
● ユーザ定義型がインスタンス化可能ではない場合 (たとえば、ST_Geometry はインスタンス化可能なタイプではあり
ません)
● 指定された引数型と一致するオーバロードがない場合
3.8.2 インスタンスメソッドの使用
ユーザ定義型には、インスタンスメソッドが定義されていることがあります。インスタンスメソッドは、次のようにしてタイプの
値に対して呼び出されます。
<value-expression>.<method-name>( <argument-list> )
たとえば、次の架空の例では、Massdata.CenterPoint カラムの X 座標を SELECT しています。
SELECT CenterPoint.ST_X() FROM Massdata;
CenterPoint というユーザ ID がある場合、データベースサーバでは CenterPoint.ST_X() があいまいであると見な
されます。これは、この文が「ユーザ CenterPoint が所有するユーザ定義関数 ST_X を呼び出す」(この文の意図しない
意味) とも、「Massdata.CenterPoint カラムの ST_X メソッドを呼び出す」(正しい意味) とも考えられるためです。データ
ベースサーバは、最初に CenterPoint という名前のユーザに対して、大文字小文字を区別した検索を実行することによ
って、このようなあいまいさを解決します。ユーザが見つかった場合、データベースサーバは、ユーザ CenterPoint が所
有する ST_X というユーザ定義関数を呼び出していると見なして処理を続行します。見つからなかった場合には、データ
ベースサーバは、構成体をメソッド呼び出しとして処理し、Massdata.CenterPoint カラムの ST_X メソッドを呼び出しま
す。
24
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
次の場合、インスタンスメソッド呼び出しはエラーを返します。
● <value-expression> の宣言されたタイプがユーザ定義型ではない
● <value-expression> またはそのスーパータイプの 1 つの宣言されたタイプに、名前付きメソッドが定義されてい
ない
● <argument-list> が、名前付きメソッドに対して定義されたオーバロードのいずれとも一致しない
3.8.3 静的メソッドの使用
ANSI/SQL 標準では、インスタンスメソッドに加えて、ユーザ定義型に静的メソッドを関連付けることができます。
静的メソッドは次の構文を使用して呼び出されます。
<type-name>::<method-name>( <argument-list> )
たとえば、次の文はテキストを解析することによって ST_Point をインスタンス化します。
SELECT ST_Geometry::ST_GeomFromText('POINT( 5 6 )')
次の場合、静的メソッド呼び出しはエラーを返します。
● <value-expression> の宣言されたタイプがユーザ定義型ではない
● <value expression> またはそのスーパータイプの 1 つの宣言されたタイプに、名前付きメソッドが定義されてい
ない
● <argument-list> が、名前付きメソッドに対して定義されたオーバロードのいずれとも一致しない
3.8.4 静的集約メソッドの使用 (SAP IQ 拡張)
ANSI/SQL の拡張として、SAP IQ では、ユーザ定義の集約を実装する静的メソッドをサポートしています。
例:
SELECT ST_Geometry::ST_AsSVGAggr(T.geo) FROM table T
静的メソッドのオーバロードは、すべてが集約であるか、またはすべてが集約ではないかのいずれかである必要がありま
す。
次の場合、静的集約メソッド呼び出しはエラーを返します。
● 静的メソッド呼び出しがエラーを返す場合
● 組み込み集合関数がエラーを返す場合
● WINDOW 句が指定されている場合
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
25
3.8.5 型述部の使用
ANSI/SQL 標準では、文で値の具象タイプ (他の言語ではオブジェクトタイプとも呼ばれる) を検査できる型述部が定義さ
れています。
構文は次のとおりです。
<value>
IS [ NOT ] OF ( [ ONLY ] <type-name>,...)
<value> が NULL の場合、述部は UNKNOWN を返します。それ以外の場合、<value> の具象タイプが <typename> リストの各要素と比較されます。ONLY が指定されている場合、具象タイプが指定されたタイプと同一である場合
に一致と見なされます。それ以外の場合は、具象タイプが指定されたタイプまたは派生タイプ (サブタイプ) である場合に
一致と見なされます。
<value> の具象タイプがリスト内のいずれかの要素と一致した場合は TRUE が返され、それ以外の場合は FALSE が
返されます。
次の例では、Shape カラムの値に具象タイプ ST_Curve またはそのサブタイプの 1 つ (ST_LineString、
ST_CircularString、または ST_CompoundCurve) が含まれているすべてのローを返します。
SELECT * FROM SpatialShapes WHERE Shape IS OF ( ST_Curve );
3.8.6 サブタイプへの TREAT 式の使用
ANSI/SQL 標準では、式の宣言されたタイプをスーパータイプからサブタイプに効率的に変換できる、サブタイプ処理式
が定義されています。
式の具象タイプ (別の言語ではオブジェクトタイプとも呼ばれる) が指定したサブタイプ、または指定したサブタイプのサブ
タイプであることがわかっている場合には、この式を使用できます。CAST 関数で値のコピーが作成されるのに対して、
TREAT ではコピーが作成されないため、これは CAST 関数を使用するよりも効率的な方法です。構文は次のとおりで
す。
TREAT( <value-expression> AS <target-subtype> )
エラー状況が発生しない場合、結果は <target-subtype> で宣言されたタイプの <value-expression> となりま
す。
次の場合、サブタイプ処理式はエラーを返します。
● <value-expression> がユーザ定義型ではない場合
● <target-subtype> が <value-expression> の宣言されたタイプのサブタイプではない場合
● <value-expression> の動的タイプが <target-subtype> のサブタイプではない場合
次の例では、ST_Geometry の Shape カラムの宣言されたタイプを効率的な ST_Curve サブタイプに変更することによっ
て、ST_Curve タイプの ST_Length メソッドを呼び出せるようにしています。
SELECT ShapeID, TREAT( Shape AS ST_Curve ).ST_Length() FROM SpatialShapes WHERE
Shape IS OF ( ST_Curve );
26
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
3.9
ジオメトリの作成方法
データベースにジオメトリを作成するには、いくつかの方法があります。
WKT (Well Known Text) フォーマットまたは WKB (Well Known Binary) フォーマットからのロード
WKT フォーマットまたは WKB フォーマットのデータをロードまたは挿入できます。これらのフォーマットは OGC によ
って定義されており、すべての空間データベースベンダーがサポートしています。データベースサーバでは、これらの
フォーマットからジオメトリタイプへの自動的な変換が実行されます。
ESRI シェイプファイルからのロード
ESRI シェイプファイルのデータを新規または既存のテーブルにロードできます。これを実行する方法は数多くありま
す。
SELECT...FROM OPENSTRING 文の使用
空間データを含むファイルで SELECT...FROM OPENSTRING 文を実行できます。例:
INSERT INTO world_cities( country, city, point )
SELECT country, city, NEW ST_Point( longitude, latitude, 4326 )
FROM OPENSTRING( FILE 'capitalcities.csv' )
WITH(
country
CHAR(100),
city
CHAR(100),
latitude DOUBLE,
longitude DOUBLE )
緯度値と経度値を組み合わせた座標ポイントの作成
緯度と経度のデータを組み合わせて、空間データ型 ST_Point の座標を作成できます。たとえば、緯度と経度のカラ
ムをすでに持つテーブルがある場合、次のような文を使用して、ポイントとして値を保持する ST_Point カラムを作成
できます。
ALTER TABLE my_table
ADD point AS ST_Point(SRID=4326)
COMPUTE( NEW ST_Point( longitude, latitude, 4326 ) );
コンストラクタと静的メソッドを使用したジオメトリの作成
コンストラクタと静的メソッドを使用してジオメトリを作成できます。
3.10 空間データのイメージとしての表示 (Interactive SQL の場合)
[空間プレビュー] タブを使用してジオメトリをイメージとして表示し、データベースのデータが表すものを理解します。
前提条件
選択元となるテーブルに対する SELECT 権限、または SELECT ANY TABLE システム権限が必要です。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
27
コンテキスト
Interactive SQL の各インスタンスは、データベースへのそれぞれの接続に関連付けられています。Interactive SQL 内
から [空間ビューア] のインスタンスを開くと、その [空間ビューア] のインスタンスは Interactive SQL のインスタンスと関
連付けられ、データベースへの接続を共有します。
[空間ビューア] でクエリを実行しているときに、関連付けられている Interactive SQL のインスタンスでクエリを実行しよう
とすると、エラーが発生します。同様に、Interactive SQL の同じインスタンスによって作成された複数の [空間ビューア]
のインスタンスを開いている場合、クエリを実行できるのは、それらのインスタンスのいずれか 1 つのみです。その他のイ
ンスタンスは、そのクエリが完了するのを待機する必要があります。
注記
デフォルトでは、Interactive SQL は [結果] ウィンドウ枠内の値を 256 文字にトランケートします。Interactive SQL が
完全なカラム値を読み込めないことを示すエラーを返す場合、トランケーション値を増やします。これを行うには、
[オプション]
ール]
[ツ
をクリックし、左ウィンドウ枠で SAP IQ をクリックします。[結果] タブで、[トランケーションの長
さ] を 5000 などの大きい値に変更します。[OK] をクリックして変更を保存し、再びクエリを実行してから、再度そのロ
ーをダブルクリックします。
手順
1. Interactive SQL のデータベースに接続します。
2. クエリを実行して、テーブルから空間データを選択します。例:
SELECT * FROM <owner.><spatial-table>;
3. [結果] ウィンドウ枠の Shapes カラムの任意の値をダブルクリックして、値を [値] ウィンドウに表示します。
値は、[値] ウィンドウの [テキスト] タブにテキストとして表示されます。
4. [空間プレビュー] タブをクリックし、ジオメトリを SVG (Scalable Vector Graphic) として表示します。
結果
ジオメトリは、Scalable Vector Graphic (SVG) として表示されます。
例
1. サンプルデータベースに接続し、次のクエリを実行します。
SELECT * FROM GROUPO.SpatialShapes;
2. [結果] ウィンドウ枠の Shapes カラムの任意の値をダブルクリックして、値を [値] ウィンドウに表示します。
値は、[値] ウィンドウの [テキスト] タブにテキストとして表示されます。
3. [空間プレビュー] タブをクリックし、ジオメトリを SVG (Scalable Vector Graphic) として表示します。
28
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
次のステップ
[前のロー] と [次のロー] ボタンを使用して結果セットの他のローを表示することで、空間データをジオメトリとして表示で
きます。
3.11
空間データのイメージとしての表示 (Spatial Viewer の場合)
データベースのデータが表すものを理解できるよう空間ビューアを使用して複数のジオメトリをイメージとして表示します。
前提条件
選択元となるテーブルに対する SELECT 権限、または SELECT ANY TABLE システム権限が必要です。
コンテキスト
画像はローが処理される順序で描画され、最新の画像が最上位に表示されるため、結果のローの順序は画像が空間ビ
ューアに表示される方法に影響を与えます。結果セットでは、後で出現するシェイプが先に出現したシェイプを覆い隠しま
す。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
29
手順
1. Interactive SQL のデータベースに接続し、
[ツール]
[空間ビューア] をクリックします。
2. [空間ビューア] の [SQL] ウィンドウ枠で、次のようなクエリを実行し、[実行] をクリックします。
SELECT * FROM GROUPO.SpatialShapes;
3. [塗りつぶしなしでポリゴンの描画] ツールを使用すると、図形のポリゴンから色彩を削除して、すべてのシェイプのア
ウトラインを表示します。このツールは、保存、ズーム、パンのコントロールの近くにあるイメージの下にあります。
結果
結果セットのすべてのジオメトリは、1 つのイメージとして [結果] 領域に表示されます。
例
1. Interactive SQL からサンプルデータベースに接続します。
2.
[ツール]
[空間ビューア] をクリックします。
3. [空間ビューア] の [SQL] ウィンドウ枠で、次のクエリを実行します。
SELECT * FROM GROUPO.SpatialShapes;
30
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
4. 次に、[塗りつぶしなしでポリゴンの描画] ツールを使用してイメージをアウトライン表示する例を示します。
3.12 WKT (Well Known Text) ファイルからの空間データのロード
空間データをデータベースにロードし、ジオメトリとして表示できるテキストを含んだ Well Known Text (WKT) ファイルを
使用して、空間データをテーブルに追加します。
前提条件
データをロードするために必要な権限は、-gl サーバオプションによって異なります。-gl オプションが ALL に設定されてい
る場合、次のいずれかの条件に該当する必要があります。
● そのテーブルの所有者です。
● そのテーブルに対する LOAD 権限を持っています。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
31
● LOAD ANY TABLE システム権限を持っています。
● ALTER ANY TABLE システム権限を持っています。
-gl オプションが DBA に設定されている場合は、LOAD ANY TABLE または ALTER ANY TABLE システム権限が必要
です。
-gl オプションが NONE に設定されている場合、LOAD TABLE は使用できません。
クライアントコンピュータのファイルからロードしています。
● READ CLIENT FILE 権限も必要です。
● 読み込み元のディレクトリに対する読み込み権限が必要です。
● allow_read_client_file データベースオプションが有効になっている必要があります。
● read_client_file セキュリティ機能が有効になっている必要があります。
手順
1. データベースにロードできる空間データを WKT フォーマットに含めたファイルを作成します。
ファイルは、LOAD TABLE 文によってサポートされるフォーマットです。
2. Interactive SQL で、データベースに接続します。
3. 次のような文を使用して、テーブルを作成し、ファイルからデータをロードします。
DROP TABLE IF EXISTS SA_WKT;
CREATE TABLE SA_WKT (
description CHAR(24),
sample_geometry ST_Geometry(SRID=1000004326)
);
LOAD TABLE SA_WKT FROM 'C:¥¥Documents and Settings¥¥All Users¥¥Documents¥¥SAP
IQ 16¥¥Samples¥¥wktgeometries.csv' DELIMITED BY ',';
データがテーブルにロードされます。
結果
空間データは、WKT ファイルから正常にロードされます。
例
1. 次のテキストを、wktgeometries.csv という名前のテキストファイルに保存します。
次のテキストには、WKT で定義されたジオメトリのグループが含まれます。
head,"CircularString(1.1 1.9, 1.1 2.5, 1.1 1.9)"
left iris,"Point(0.96 2.32)"
right iris,"Point(1.24 2.32)"
left eye,"MultiCurve(CircularString(0.9 2.32, 0.95 2.3, 1.0
2.32),CircularString(0.9 2.32, 0.95 2.34, 1.0 2.32))"
right eye,"MultiCurve(CircularString(1.2 2.32, 1.25 2.3, 1.3
2.32),CircularString(1.2 2.32, 1.25 2.34, 1.3 2.32))"
nose,"CircularString(1.1 2.16, 1.1 2.24, 1.1 2.16)"
mouth,"CircularString(0.9 2.10, 1.1 2.00, 1.3 2.10)"
32
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
hair,"MultiCurve(CircularString(1.1 2.5, 1.0 2.48, 0.8
2.4),CircularString(1.1 2.5, 1.0 2.52, 0.7 2.5),CircularString(1.1 2.5, 1.0
2.56, 0.9 2.6),CircularString(1.1 2.5, 1.05 2.57, 1.0 2.6))"
neck,"LineString(1.1 1.9, 1.1 1.8)"
clothes and box,"MultiSurface(((1.6 1.9, 1.9 1.9, 1.9 2.2, 1.6 2.2, 1.6
1.9)),((1.1 1.8, 0.7 1.2, 1.5 1.2, 1.1 1.8)))"
holes in box,"MultiPoint((1.65 1.95),(1.75 1.95),(1.85 1.95),(1.65 2.05),
(1.75 2.05),(1.85 2.05),(1.65 2.15),(1.75 2.15),(1.85 2.15))"
arms and legs,"MultiLineString((0.9 1.2, 0.9 0.8),(1.3 1.2, 1.3 0.8),(0.97
1.6, 1.6 1.9),(1.23 1.6, 1.7 1.9))"
left cart wheel,"CircularString(2.05 0.8, 2.05 0.9, 2.05 0.8)"
right cart wheel,"CircularString(2.95 0.8, 2.95 0.9, 2.95 0.8)"
cart body,"Polygon((1.9 0.9, 1.9 1.0, 3.1 1.0, 3.1 0.9, 1.9 0.9))"
angular shapes on cart,"MultiPolygon(((2.18 1.0, 2.1 1.2, 2.3 1.4, 2.5 1.2,
2.35 1.0, 2.18 1.0)),((2.3 1.4, 2.57 1.6, 2.7 1.3, 2.3 1.4)))"
round shape on cart,"CurvePolygon(CompoundCurve(CircularString(2.6 1.0, 2.7
1.3, 2.8 1.0),(2.8 1.0, 2.6 1.0)))"
cart handle,"GeometryCollection(MultiCurve((2.0 1.0, 2.1
1.0),CircularString(2.0 1.0, 1.98 1.1, 1.9 1.2),CircularString(2.1 1.0,
2.08 1.1, 2.0 1.2),(1.9 1.2, 1.85 1.3),(2.0 1.2, 1.9 1.35),(1.85 1.3, 1.9
1.35)),CircularString(1.85 1.3, 1.835 1.29, 1.825 1.315),CircularString(1.9
1.35, 1.895 1.38, 1.88 1.365),LineString(1.825 1.315, 1.88 1.365))"
2. Interactive SQL でサンプルデータベース (iqdemo.db) に接続します。
3. SA_WKT という名前のテーブルを作成し、wktgeometries.csv からデータをロードします。.csv ファイルへ
のパスを、ファイルを保存した場所のパスに置き換えてください。
DROP TABLE IF EXISTS SA_WKT;
CREATE TABLE SA_WKT (
description CHAR(24),
sample_geometry ST_Geometry(SRID=1000004326)
);
LOAD TABLE SA_WKT FROM 'C:¥¥Documents and Settings¥¥All Users¥¥Documents¥
¥SAP IQ 16¥¥Samples¥¥wktgeometries.csv' DELIMITED BY ',';
データがテーブルにロードされます。
4. Interactive SQL で、
[ツール]
[空間ビューア]
をクリックします。
5. [空間ビューアー] で、次の文を実行してジオメトリを表示します。
SELECT * FROM SA_WKT;
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
33
6. データに複数の空間データのカラムが含まれている場合があります。サポートされる各空間データ型がそれぞれ
個別のカラムに格納された WKT データのファイルを作成します。
次のコードをテキストエディタにコピーして、ファイルを wktgeometries2.csv として保存します。
"Point(0 0)",,,,,,,,,,,,,,
,"LineString(0 0, 1 1)",,,,,,,,,,,,,
,,"CircularString(0 0, 1 1, 0 0)",,,,,,,,,,,,
,,,"CompoundCurve(CircularString(0 0, 1 1, 1 0),(1 0, 0 1))",,,,,,,,,,,
,,,,"CompoundCurve(CircularString(0 0, 1 1, 1 0),(1 0, 0 1),(0 1, 0
0))",,,,,,,,,,
,,,,,"Polygon((-1 0, 1 0, 2 1, 0 3, -2 1, -1 0))",,,,,,,,,
,,,,,,"CurvePolygon(CompoundCurve(CircularString(0 0, 1 1, 1 0),(1 0, 0
0)))",,,,,,,,
,,,,,,,"CurvePolygon(CompoundCurve(CircularString(0 0, 2 1, 2 0),(2 0, 0
0)))",,,,,,,
,,,,,,,,"MultiPoint((2 0),(0 0),(3 0),(1 0))",,,,,,
,,,,,,,,,"MultiPolygon(((4 0, 4 1, 5 1, 5 0, 4 0)),((-1 0, 1 0, 2 1, 0 3,
-2 1, -1 0)))",,,,,
,,,,,,,,,,"MultiSurface(((4 0, 4 1, 5 1, 5 0, 4
0)),CurvePolygon(CompoundCurve(CircularString(0 0, 2 1, 2 0),(2 0, 0
0))))",,,,
,,,,,,,,,,,"MultiLineString((2 0, 0 0),(3 0, 1 0),(-2 1, 0 4))",,,
,,,,,,,,,,,,"MultiCurve((3 2, 4 3),CircularString(0 0, 1 1, 0 0))",,
,,,,,,,,,,,,,"GeometryCollection(MultiPoint((2 0),(0 0),(3 0),(1
0)),MultiSurface(((4 0, 4 1, 5 1, 5 0, 4
0)),CurvePolygon(CompoundCurve(CircularString(0 0, 2 1, 2 0),(2 0, 0
0)))),MultiCurve((3 2, 4 3),CircularString(0 0, 1 1, 0 0)))",
,,,,,,,,,,,,,,"GeometryCollection(Point(0 0),CompoundCurve(CircularString(0
0, 1 1, 1 0),(1 0, 0 1),(0 1, 0
0)),CurvePolygon(CompoundCurve(CircularString(0 0, 2 1, 2 0),(2 0, 0
34
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
0))),MultiPoint((2 0),(0 0),(3 0),(1 0)),MultiSurface(((4 0, 4 1, 5 1, 5 0,
4 0)),CurvePolygon(CompoundCurve(CircularString(0 0, 2 1, 2 0),(2 0, 0
0)))),MultiCurve((3 2, 4 3),CircularString(0 0, 1 1, 0 0)))"
7. 次の文を実行することで、SA_WKT2 という名前のテーブルを作成し、wktgeometries2.csv からデータをロ
ードします。.csv ファイルへのパスを、ファイルを保存した場所のパスに置き換えてください。
DROP TABLE IF EXISTS SA_WKT2;
CREATE TABLE SA_WKT2 (
point
ST_Point,
line
ST_LineString,
circle
ST_CircularString,
compoundcurve ST_CompoundCurve,
curve
ST_Curve,
polygon1
ST_Polygon,
curvepolygon
ST_CurvePolygon,
surface
ST_Surface,
multipoint
ST_MultiPoint,
multipolygon
ST_MultiPolygon,
multisurface
ST_MultiSurface,
multiline
ST_MultiLineString,
multicurve
ST_MultiCurve,
geomcollection ST_GeomCollection,
geometry
ST_Geometry
);
LOAD TABLE SA_WKT2 FROM 'C:¥¥Documents and Settings¥¥All Users¥¥Documents¥
¥SAP IQ 16¥¥Samples¥¥wktgeometries2.csv' DELIMITED BY ',';
データがテーブルにロードされます。
8. [空間ビューアー] で、次の文を実行してジオメトリを表示します。
SELECT * FROM SA_WKT2;
一度に表示できるデータのカラムは 1 つのみであり、その他のカラムのジオメトリを表示するには、[結果] 領域の
[カラム] ドロップダウンリストを使用する必要があります。たとえば、次の図は curvepolygon カラムのジオメトリを
表示しています。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
35
9. すべてのカラムのジオメトリを一度に表示するには、次のように各カラムへの SELECT 文を実行して、結果を
UNION ALL で結合します。
SELECT point FROM SA_WKT2
UNION ALL SELECT line FROM SA_WKT2
UNION ALL SELECT circle FROM SA_WKT2
UNION ALL SELECT compoundcurve FROM SA_WKT2
UNION ALL SELECT curve FROM SA_WKT2
UNION ALL SELECT polygon1 FROM SA_WKT2
UNION ALL SELECT curvepolygon FROM SA_WKT2
UNION ALL SELECT surface FROM SA_WKT2
UNION ALL SELECT multipoint FROM SA_WKT2
UNION ALL SELECT multipolygon FROM SA_WKT2
UNION ALL SELECT multisurface FROM SA_WKT2
UNION ALL SELECT multiline FROM SA_WKT2
UNION ALL SELECT multicurve FROM SA_WKT2
UNION ALL SELECT geomcollection FROM SA_WKT2
UNION ALL SELECT geometry FROM SA_WKT2
36
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
次のステップ
[空間ビューア] を使用すると、Interactive SQL のデータを表示できます。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
37
3.13 空間に関する高度なトピック
空間データについての理解を深めるため、いくつかのトピックが用意されています。
3.13.1 平面および曲面の表現方法
このソフトウェアでは、平面と曲面の表現がサポートされます。
平面参照系では、地表全体またはその一部が平坦な 2 次元平面に投射され、単純な 2D ユークリッド幾何学が使用され
ます。ポイント間の線は直線 (円ストリングを除く) であり、ジオメトリは平面の端をまたぐ (日付変更線を超える) ことはで
きません。
曲面空間参照系は、楕円を使用して地球を表します。ポイントは計算のために楕円にマッピングされ、すべての線は最短
の経路をたどり、円弧は極に向かっています。ジオメトリは日付変更線をまたぐことができます。
平面と曲面の表現にはそれぞれ制限があります。地球のすべての特性を最適に表す完璧な地図投影法は 1 つもありま
せん。オブジェクトの地球上での位置によって、ゆがみが面積、シェイプ、距離、または方向に影響することがあります。
曲面空間参照系の制限
曲面空間参照系 (WGS 84 など) を使用する場合、利用できない操作が多数あります。たとえば、距離の計算は、ポイント
またはポイントのコレクションに制限されます。
いくつかの述部と集合操作も利用できません。
円ストリングは、曲面の空間参照系では使用できません。
曲面空間参照系での計算は、対応する平面空間参照系での計算より高コストになります。
平面空間参照系の制限
平面空間参照系は、定義された投影を持つ平面の空間参照系です。投影を使用すると、平面空間参照系を使用して曲面
データを操作する場合に発生するゆがみの問題が解決されます。投影が使用されない場合に発生するゆがみの例とし
て、次の 2 つのイメージはマサチューセッツ州の同じ郵便番号区域のグループを示しています。最初のイメージは、デー
タを SRID 3586 で表現した投影平面空間参照系であり、マサチューセッツ州のデータを示しています。2 番目のイメージ
は、投影なしに平面空間参照系 (SRID 1000004326) でデータを表現しています。ゆがみは 2 番目のイメージに現れて
います。距離、長さ、および面積が実際より大きく、イメージが水平方向に引き伸ばされたように見えます。
38
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
他にも平面空間参照系で可能な計算はありますが、投影が影響するため、正確に計算できるのは境界に区切られたサイ
ズの面積のみです。
作業対象が数百キロメートル以内の距離であれば、曲面データを平面空間参照系に投影して、適度な精度で距離の計算
を実行できます。平面投影空間参照系にデータを投影するには、ST_Transform メソッドを使用します。
3.13.2 「グリッドにスナップ」と許容度が空間の計算に与える影響
グリッドにスナップは、グリッド上の交差ポイントに合うように、ジオメトリのポイントを位置付けするアクションです。
グリッドに位置付けるときは、四捨五入と同じように、X と Y の値がわずかに移動される場合があります。空間データのコ
ンテキストでは、グリッドは、空間参照系の 2 次元表現上に定義された線のフレームワークです。データベースサーバで
は正方形のグリッドを使用します。
グリッドにスナップの最も簡単な例として、たとえば、グリッドサイズが 0.2 の場合、Point( 14.2321, 28.3262 ) と
Point( 15.3721, 27.1128 ) を結ぶ直線は、Point( 14.2, 28.4 ) と Point( 15.4, 27.2 ) を結ぶ直線にスナップされます。通
常、グリッドサイズはこの単純な例よりも小さいため、精度が失われる可能性はずっと低くなります。
デフォルトでは、データベースサーバは空間参照系の X 境界と Y 境界内のすべてのポイントに対して 12 有効桁数を格
納できるようにグリッドサイズを自動的に設定します。たとえば、X 値の範囲が -180 から 180 まで、Y 値の範囲が -90 か
ら 90 までの場合、データベースサーバはグリッドサイズを 1e-9 (0.000000001) に設定します。つまり、水平と垂直の
グリッド線間の距離が 1e-9 となります。グリッド線の交差ポイントは、空間参照系で表現できるすべてのポイントを表しま
す。ジオメトリが作成またはロードされると、各ポイントの X 座標と Y 座標が、グリッド上の最も近いポイントにスナップされ
ます。
許容度は、この範囲内であるとジオメトリの 2 つのポイントまたは部分が同一であると見なされる距離を定義します。許容
度は、ペン先の太いマーカーを使用して描画したポイントと線で表現されているすべてのジオメトリにおける、ペン先の太
さであると考えることができます。この太いマーカーを使用して描画した場合に接触するすべての部分が許容度内にある
と見なされます。2 つのポイントが許容度からまったく同じ距離分離れている場合、これらのポイントは許容度内とは見な
されません。
許容度の単純な例として、たとえば、許容度が 0.5 の場合には、Point( 14.2, 28.4 ) と Point( 14.4, 28.2 ) は等しいと見
なされます。これは、(X と Y が同じ単位で表される) 2 点間の距離が約 0.283 であり、許容度よりも小さいためです。通
常、許容度にはこの単純な例よりずっと小さな値が設定されます。
極端に小さいジオメトリは、許容度により無効になる場合があります。長さが許容度より短い線は無効です (ポイントが等
しいため)。また、すべてのポイントが許容度内にある同様の多角形は無効と見なされます。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
39
グリッドにスナップと許容度は空間参照系に設定され、X と Y (または経度の緯度) の座標には常に同じ単位が使用され
ます。「グリッドにスナップ」と許容度は、厳密でない算術データや不正確なデータに関する問題を解消するために一緒に
使用されます。ただし、これらの動作が空間操作の結果に及ぼす影響について注意してください。
注記
平面空間参照系の場合、空間操作が不正な結果になる場合があるため、グリッドサイズを 0 に設定することはおすす
めしません。曲面の空間参照系では、グリッドサイズと許容度を 0 に設定してください。データベースサーバは、曲面
操作を実行する場合、固定されたグリッドサイズと許容度を内部投影で使用します。
次の例は、グリッドサイズと許容度の設定が空間の計算に与える影響を示しています。
例
例 1:「グリッドにスナップ」が交差の結果に与える影響
2 つの三角形 (黒で表示) が空間参照系にロードされます。ここで、許容度はグリッドサイズと同じに設定され、図のグ
リッドはグリッドサイズに基づいています。黒の三角形の頂点をグリッドにスナップした後の三角形を、赤い三角形で表
しています。元の三角形 (黒) はそれぞれの許容度の範囲内に適切に収まっていますが、スナップされたバージョンの
赤の三角形は許容度内にないことに注意してください。ST_Intersects は、これらの 2 つのジオメトリに対して 0 を返し
ます。許容度がグリッドサイズより大きい場合、ST_Intersects はこれらの 2 つのジオメトリに対して 1 を返します。
例
例 2:許容度が交差の結果に与える影響
次の例では、許容度が 0 に設定された空間参照系内に 2 つの線があります。2 つの線の交差ポイントは、グリッドの
最も近い頂点にスナップされています。許容度が 0 に設定されているため、2 つの線の交差ポイントが斜めの線と交
差しているかどうかを検査するテストでは false が返されます。
つまり、許容度が 0 の場合、次の式は 0 を返します。
vertical_line.ST_Intersection( diagonal_line ).ST_Intersects( diagonal_line )
40
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
許容度をグリッドサイズと同じに設定すると (デフォルト)、交差ポイントが太い斜めの線の内側に収まります。したがっ
て、交差ポイントが斜めの線と許容度内で交差するかどうかのテストはパスします。
例
例 3:許容度と推移性
許容度が使用されている場合の空間の計算では、推移性が保持される必要はありません。たとえば、許容度がグリッ
ドサイズと等しい空間参照系に、次の 3 つの線があるとします。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
41
ST_Equals メソッドでは、黒と赤の線および赤と青の線はそれぞれ許容度内にあると見なされますが、黒と青の線は
許容度内にあるとは見なされません。ST_Equals は推移的ではありません。
ST_OrderingEquals はこれらの各線を異なると見なし、推移的です。
42
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
例
sp_iqsysmon '00:20:00', 'mbufalloc tbufalloc' ============================== Buffer Allocator
(Main)" ============================== STATS-NAME VALUE NActiveCommands 4
BufAllocMaxBufs 2275( 81.6% ) BufAllocAvailBufs 2115( 93.0% ) BufAllocReserved 160( 7.0% )
BufAllocAvailPF 750( 33.0% ) BufAllocSlots 100 BufAllocNPinUsers 0 BufAllocNPFUsers 2
BufAllocNPostedUsrs 0 BufAllocNUnpostUsrs 0 BufAllocPinQuota 0 BufAllocNPostEst 0
BufAllocNUnPostEst 0 BufAllocMutexLocks 0 BufAllocMutexWaits 0( 0.0% ) STATS-NAME VALUE
NActiveCommands 2 BufAllocMaxBufs 2275( 81.6% ) BufAllocAvailBufs 2115( 93.0% ) BufAllocReserved
160( 7.0% ) BufAllocAvailPF 750( 33.0% ) BufAllocSlots 100 BufAllocNPinUsers 0 BufAllocNPFUsers 2
BufAllocNPostedUsrs 0 BufAllocNUnpostUsrs 0 BufAllocPinQuota 0 BufAllocNPostEst 0
BufAllocNUnPostEst 0 BufAllocMutexLocks 0 BufAllocMutexWaits 0( 0.0% ) STATS-NAME TOTAL
UNKNWN HASH CSORT ROW ROWCOL FP GARRAY LOB BTREE BM BV STORE TEST NumClients 2 0 0 0 2
0 0 0 0 0 0 0 0 0 PinUserQuota 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PrefetchUserQuota 160 0 0 0 160 0 0 0 0 0 0 0
0 0 PinUserRegisters 2 2 0 0 0 0 0 0 0 0 0 0 0 0 PfUserRegisters 4697 0 0 0 382 2621 377 182 0 2 0 0 0 0
ClientCountOfPinners 0 2 3 6 10 33 66 100 333 666 1000 3333 6666 10000 Unknown 0 0 0 0 0 0 0 0 0 0 0
0 0 0 Hash 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sort 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Row 2 0 0 0 0 0 0 0 0 0 0 0 0 0
RowColumn 0 0 0 0 0 0 0 0 0 0 0 0 0 0 FP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Garray 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LOB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BTree 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BV 0 0 0 0
0 0 0 0 0 0 0 0 0 0 Store 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Test 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DBCC 0 0 0 0 0 0 0 0 0
0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Run 0 0 0 0 0 0 0 0 0 0
0 0 0 0 QCPRun 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TextDoc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0
0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VDO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Load Pass 2 0 0 0 0 0 0 0 0
0 0 0 0 STATS-NAME (cont'd) DBCC BLKMAP IQUTIL NumClients 0 0 0 0 0 0 0 0 0 0 PinUserQuota 0 0 0
0 0 0 0 0 0 0 PrefetchUserQuota 0 0 0 0 0 0 0 0 0 0 PinUserRegisters 0 0 0 0 0 0 0 0 0 0 PfUserRegisters
0 0 0 0 0 0 0 0 1133 0 ClientCountOfPinners 33333 66666 100000 4294967295 Unknown 0 0 0 0 Hash 0
0 0 0 Sort 0 0 0 0 Row 0 0 0 0 RowColumn 0 0 0 0 FP 0 0 0 0 Garray 0 0 0 0 LOB 0 0 0 0 BTree 0 0 0 0 BM
0 0 0 0 BV 0 0 0 0 Store 0 0 0 0 Test 0 0 0 0 DBCC 0 0 0 0 Unknown 0 0 0 0 Unknown 0 0 0 0 Run 0 0 0 0
QCPRun 0 0 0 0 TextDoc 0 0 0 0 Unknown 0 0 0 0 Unknown 0 0 0 0 VDO 0 0 0 0 Load 0 0 0 0 0 0
============================== Buffer Allocator (Temporary)
============================== STATS-NAME VALUE NActiveCommands 2 BufAllocMaxBufs
2275( 81.6% ) BufAllocAvailBufs 2263( 99.5% ) BufAllocReserved 12( 0.5% ) BufAllocAvailPF 908( 39.9% )
BufAllocSlots 100 BufAllocNPinUsers 2 BufAllocNPFUsers 2 BufAllocNPostedUsrs 0 BufAllocNUnpostUsrs
0 BufAllocPinQuota 175 BufAllocNPostEst 2 BufAllocNUnPostEst 2 BufAllocMutexLocks 0
BufAllocMutexWaits 0( 0.0% ) STATS-NAME TOTAL UNKNWN HASH CSORT ROW ROWCOL FP GARRAY
LOB BTREE BM BV STORE TEST NumClients 4 0 0 4 0 0 0 0 0 0 0 0 0 0 PinUserQuota 10 0 0 10 0 0 0 0 0
0 0 0 0 0 PrefetchUserQuota 2 0 0 2 0 0 0 0 0 0 0 0 0 0 PinUserRegisters 668 0 300 247 0 0 0 0 0 0 0 0 0
0 PfUserRegisters 675 0 0 295 0 0 0 0 0 0 0 0 1 0 ClientCountOfPinners 0 1 3 6 10 33 66 100 333 666 1000
3333 6666 10000 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Hash 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sort 2 0 1 0 1 0 0 0
0 0 0 0 0 0 Row 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RowColumn 0 0 0 0 0 0 0 0 0 0 0 0 0 0 FP 0 0 0 0 0 0 0 0 0 0 0
0 0 0 Garray 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LOB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BTree 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BV 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Store 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Test 0 0 0 0
0 0 0 0 0 0 0 0 0 0 DBCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Unknown 0 0 0 0
0 0 0 0 0 0 0 0 0 0 Run 0 0 0 0 0 0 0 0 0 0 0 0 0 0 QCPRun ` 0 0 0 0 0 0 0 0 0 0 0 0 0 TextDoc 0 0 0 0 0 0
0 0 0 0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Unknown 0 0 0 0 0 0 0 0 0 0 0 0 0 0 VDO 0 0 0 0 0 0 0
0 0 0 0 0 0 0 Load Pass 2 0 0 0 0 0 0 0 0 0 0 0 0 STATS-NAME (cont'd) DBCC BLKMAP IQUTIL
NumClients 0 0 0 0 0 0 0 0 0 0 PinUserQuota 0 0 0 0 0 0 0 0 0 0 PrefetchUserQuota 0 0 0 0 0 0 0 0 0 0
PinUserRegisters 0 0 0 110 2 0 0 0 0 9 PfUserRegisters 0 0 0 378 0 0 0 1 0 0 ClientCountOfPinners 33333
66666 100000 4294967295 Unknown 0 0 0 0 Hash 0 0 0 0 Sort 0 0 0 0 Row 0 0 0 0 RowColumn 0 0 0 0
FP 0 0 0 0 Garray 0 0 0 0 LOB 0 0 0 0 BTree 0 0 0 0 BM 0 0 0 0 BV 0 0 0 0 Store 0 0 0 0 Test 0 0 0 0
DBCC 0 0 0 0 Unknown 0 0 0 0 Unknown 0 0 0 0 Run 0 0 0 0 QCPRun 0 0 0 0 TextDoc 0 0 0 0 Unknown 0
0 0 0 Unknown 0 0 0 0 VDO 0 0 0 0 Load 0 0 0 0 0 0 グリッドと許容度の設定が不正確なデータに与える影響
管理: 空間データ
投影平面空間参照系にあるデータの精度が、10
空間データ
PUBLIC
cm 以内でほぼ正確、10 m 以内では必ず正確であるとします。この
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
43
場合 3 つの選択肢があります。
1. データベースサーバによって選択されるデフォルトのグリッドサイズと許容度を使用します。これは、通常は、使用
するデータの精度よりも高い精度になります。これにより最大精度が提供されますが、ST_Intersects、
ST_Touches、ST_Equals などの述部は、ジオメトリ値の精度に応じて、一部のジオメトリに対して予期したものと
異なる結果を返すことがあります。たとえば、1 つの境界を共有する隣接した 2 つの多角形において、一番右側の
多角形の左端から数メートルのところに一番左側の多角形の境界データがある場合、ST_Intersect は true を返
さない可能性があります。
2. グリッドサイズを、最も精度の高いデータを表すことができるくらい小さくし (この場合、10 cm)、許容度の 4 分の 1
以下に設定します。許容度は、データが常にどの程度の精度で距離を表すかを示す値に設定します (この場合、
10 m)。この方式では、精度を失うことなくデータが格納され、データが 10 m 以内でしか正確でない場合でも述部
が予期した結果が返されます。
3. グリッドサイズと許容度をデータの精度と同じに設定します (この場合、10 m)。この方法では、データはその精度
内にスナップされますが、10 m より精度が高いデータの場合は精度が失われます。
多くの場合、述部は予期した結果を返しますが、そうでない場合もあります。たとえば、2 つのポイントが 10 cm 以
内にあるが、グリッドの交差の中間点近くにある場合、2 つのポイントはそれぞれ別の方向にスナップされて、ポイ
ント間の距離が 10 m になってしまいます。このため、グリッドサイズと許容度をデータの精度と同じに設定するこ
とは、この場合おすすめしません。
3.13.3 補間が空間の計算に与える影響
補間とは、ジオメトリ中の既知のポイントを使用して、未知のポイントを概算するプロセスです。
いくつかの空間メソッドおよび述部では、円弧が関係する計算を実行するときに、補間が使用されます。補間によって、円
弧は一連の直線に置き換えられます。たとえば、4 分円を表す円ストリングを補間して、コントロールポイントが 11 ある線
ストリングに変換する場合などがあります。
例
補間の例
1. Interactive SQL で、サンプルのデータベースに接続し、次の文を実行して円ストリングを格納する arc という変数
を作成します。
CREATE VARIABLE arc ST_CircularString;
2. 次の文を実行して、円ストリングを作成し、それを arc 変数に格納します。
SET arc = NEW ST_CircularString( 'CircularString( -1 0, -0.707107 0.707107,
0 1 )' );
3. 次の文を実行して、st_geometry_interpolation オプションを使用し、一時的に相対許容度を 1 % に設定します。
SET TEMPORARY OPTION st_geometry_interpolation = 'relative-tolerancepercent=1';
相対許容度を 1 % に設定するのはオプションですが、この例では、補間による影響をよりわかりやすくするために
使用します。
44
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
4. [空間ビューア] を開き (Interactive SQL で
[ツール]
[空間ビューア]
を選択)、次のクエリを実行して円ス
トリングを表示します。
SELECT arc
UNION ALL SELECT arc.ST_CurveToLine()
UNION ALL SELECT arc.ST_CurveToLine().ST_PointN( row_num )
FROM RowGenerator WHERE row_num <= arc.ST_CurveToLine().ST_NumPoints();
円弧が一連の線ストリングに分解されていることに注意してください。相対許容度が 1% に設定されているため、
各直線セグメントは実際の円弧の内側にずれて表示されます。補間された線ストリングと実際の円弧との間の最
大距離は、円弧の半径の 1 % になります。
3.13.4 多角形リングの方向操作
データベースサーバでは、まず、多角形を構成するリングの方向によって多角形が解釈されます。定義された点の順序で
リングを移動した場合、多角形の内側がリングの左側になります。
平面と曲面の空間参照系では、同じルールが適用されます。ほとんどの場合、外部リングは反時計回りの方向で、内部リ
ングは逆の方向 (時計回り) となります。例外は、ROUND EARTH に北極または南極が含まれるリングの場合です。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
45
デフォルトでは、多角形が内部的なリング方向と異なるリング方向で作成されている場合は、自動的に再方向付けされま
す。CREATE SPATIAL REFERENCE SYSTEM 文の POLYGON FORMAT 句を使用して、入力データの多角形リングの
方向を指定します。これは、空間参照系の入力データで同じリングの方向を使用している場合にのみ実行する必要があり
ます。POLYGON FORMAT は、一部の多角形および複数面のコンストラクタでも指定できます。
たとえば、多角形を作成し、ポイントを時計回りの順で指定すると (Polygon((0 0, 5 10, 10 0, 0 0), (4 2, 4
4, 6 4, 6 2, 4 2)))、データベースサーバは、ポイントが反時計回りになるように自動的に並べ替えます
(Polygon((0 0, 10 0, 5 10, 0 0), (4 2, 4 4, 6 4, 6 2, 4 2)))。
内部リングが外部リングより前に指定された場合、外部リングが最初のリングとして表示されます。
曲面空間参照系で多角形の再方向付けが機能するためには、多角形の直径は 160 度に制限されます。
3.13.5 ジオメトリの内部、外部、境界の操作
ジオメトリの境界について知っていると、別のジオメトリと比較して、2 つのジオメトリの関連を判別するときに役立ちます。
ただし、すべてのジオメトリには内部と外部がありますが、すべてのジオメトリに境界があるわけではありません。また、そ
の境界は必ずしも直感的ではありません。
ジオメトリの内部とは、ジオメトリの一部であるすべてのポイントです (境界を除く)。
ジオメトリの外部とは、ジオメトリの部分ではないすべてのポイントです。これには、内部リングの内側の空間も含まれま
す。たとえば、多角形に穴の開いている場合です。同様に、線ストリングのリングの内側と外側の空間は外部と見なされま
す。
ジオメトリの境界とは、ST_Boundary メソッドによって返される内容です。
境界が直感的ではないジオメトリのケースを次に示します。
46
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
ポイント
ポイント (たとえば A) には境界はありません。
線と曲線
線と曲線 (B、C、D、E、F) の境界は終了ポイントです。ジオメトリ B、C、E には、境界として 2 つの終了ポイントがあ
ります。ジオメトリ D には、境界として 4 つの終了ポイントがあり、ジオメトリ F にも 4 つあります。
多角形
多角形 (たとえば G) の境界は、その外部リングと内部リングです。
リング
リングとは、開始ポイントが終了ポイントと同じで、交差することがない曲線 (たとえば H) であり、境界はありません。
3.13.6 空間の比較操作
ジオメトリが別のジオメトリと等しいかどうかをテストするために使用できるメソッドには、ST_Equals と
ST_OrderingEquals の 2 つがあります。
これらのメソッドで実行される比較と返される結果は異なっています。
ST_Equals
ポイントが指定される順序は関係ありません。ポイントの比較では許容度が考慮されます。許容度内で同じ空間を占
有している場合は、ジオメトリについても等しいと見なされます。たとえば、2 つの線ストリングが同じ空間を占有して
おり、片方にはより多くのポイントが定義されている場合でも、2 つの線ストリングが等しいと見なされることを意味し
ます。
ST_OrderingEquals
ST_OrderingEquals では、2 つのジオメトリには同じオブジェクト階層が含まれ、その階層には
ST_OrderingEquals で等しいと見なされる順序でまったく同じポイントが存在している必要があります。つまり、2 つ
のジオメトリがまったく同一である必要があります。
ST_Equals と ST_OrderingEquals を使用して比較を実行したときの結果の差異を確認するために、次の線を比較して
みてください。ST_Equals では、これらのすべての線が等しいと見なされます (線 C が許容度内であることが前提)。ただ
し、ST_OrderingEquals では、これらのすべての線は等しいとは見なされません。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
47
SAP IQ がジオメトリの比較を実行する方法
データベースサーバは、ST_OrderingEquals を使用して、GROUP BY、DISTINCT などの操作を実行します。
たとえば、次のクエリを処理するとき、2 つの shape 式で ST_OrderingEquals() = 1 である場合、サーバは 2 つのローを
等しいと見なします。
SELECT DISTINCT Shape FROM GROUPO.SpatialShapes;
SQL 文では、等しい (=) または等しくない (<> または !=) の演算子を使用して 2 つのジオメトリを比較できます。サ
ブクエリや ANY または ALL キーワードを含む検索条件も使用できます。ジオメトリは IN 検索条件でも使用できます。た
とえば、geom1 IN (geom-expr1, geom-expr2, geom-expr3) のように記述します。これらすべての検索条件
では、等価性は ST_OrderingEquals セマンティックを使用して評価されます。
その他の比較演算子を使用して、ジオメトリが別のジオメトリより小さいかどうか、または大きいかどうかを判別することは
できません (たとえば、geom1 < geom2 は受け入れられません)。これは、ジオメトリ式を ORDER BY 句に含めることは
できないことを意味します。ただし、集合に含まれているかどうかはテストできます。
3.13.7 空間の関係操作
ジオメトリ間の関係は、互いの位置と関連性があります。
たとえば、ジオメトリが別のジオメトリと交差する、別のジオメトリに接触する、別のジオメトリを含む、別のジオメトリ内に含
まれる、などが可能です。ST_Relate、ST_Within、ST_Touches などの空間述部を使用して、ジオメトリ間の関係をテス
トできます。
最良のパフォーマンスを得るためには、ST_Within または ST_Touches などのメソッドを使用して、ジオメトリ間の単一の
特定の関係をテストします。ただし、複数の関係をテストする場合、一度に複数の関係をテストできる ST_Relate メソッド
の方が適しています。ST_Relate は、述部の異なる解釈をテストする場合にも役に立ちます。
ST_Relate の最も一般的な使用法は、テストする関係を厳密に指定して、述部として使用する方法です。ただし、
ST_Relate を使用して、2 つのジオメトリ間で可能なすべての関係を判別することもできます。
述部としての ST_Relate の使用
ST_Relate は、内部、境界、外部の交差テストを実行することによって、ジオメトリ間の関係を評価します。ジオメトリ間の
関係は、DE-9IM (Dimensionally Extended 9 Intersection Model) フォーマットの 9 文字の文字列で記述されます。こ
の文字列の各文字は、交差テストの結果の次元を表します。
ST_Relate を述部として使用する場合、テストする交差の結果を示した DE-9IM 文字列を渡します。指定した DE-9IM 文
字列の条件をジオメトリが満たしている場合、ST_Relate は 1 を返します。条件が満たされない場合は、0 を返します。片
方のジオメトリ、または両方が NULL の場合、NULL を返します。
9 文字の DE-9IM 文字列は、内部、境界、外部間の交差テストのペアごとのマトリックスをフラットにした表現です。次の
表に、実行される順序 (左から右、上から下) で 9 つの交差テストを示します。
48
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
表 2:
g2 interior
g2 boundary
g2 exterior
g1 interior
Interior(g1) ∩
Interior(g2)
Interior(g1) ∩
Boundary(g2)
Interior(g1) ∩
Exterior(g2)
g1 boundary
Boundary(g1) ∩
Interior(g2)
Boundary(g1) ∩
Boundary(g2)
Boundary(g1) ∩
Exterior(g2)
g1 exterior
Exterior(g1) ∩
Interior(g2)
Exterior(g1) ∩
Boundary(g2)
Exterior(g1) ∩
Exterior(g2)
DE-9IM 文字列を指定する場合、9 文字の各文字に *、0、1、2、T、または F を指定できます。これらの値は、交差によっ
て作成されるジオメトリの次元数を表しています。
表 3:
指定する文字
交差テストが返す結果
T
次のいずれか:0、1、2 (任意の次元の交差)
F
-1
*
-1、0、1、2 (任意の値)
0
0
1
1
2
2
ST_Relate と Within 述部用のカスタム DE-9IM 文字列を使用して、ジオメトリが別のジオメトリ内にあるかどうかをテスト
するとします。
SELECT new ST_Polygon('Polygon(( 2 3, 8 3, 4 8, 2 3 ))').ST_Relate( new
ST_Polygon('Polygon((-3 3, 3 3, 3 6, -3 6, -3 3))'), 'T*F**F***' );
これは、交差テストを実行するときに、ST_Relate に次の条件で検索するように問い合わせるのと同じです。
表 4:
g2 interior
g2 boundary
g2 exterior
g1 interior
one of: 0, 1, 2
one of: 0, 1, 2, -1
-1
g1 boundary
one of: 0, 1, 2, -1
one of: 0, 1, 2, -1
-1
g1 exterior
one of: 0, 1, 2, -1
one of: 0, 1, 2, -1
one of: 0, 1, 2, -1
クエリを実行すると、ST_Relate は最初のジオメトリが 2 番目のジオメトリ内にないことを示す 0 を返します。
2 つのジオメトリを表示して、その形状をテストしている内容と比較するには、次の文を Interactive SQL の空間ビューア
(
[ツール]
[空間ビューア] ) で実行します。
SELECT NEW ST_Polygon('Polygon(( 2 3, 8 3, 4 8, 2 3 ))')
UNION ALL
SELECT NEW ST_Polygon('Polygon((-3 3, 3 3, 3 6, -3 6, -3 3))');
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
49
述部以外での ST_Relate の使用
述部以外で ST_Relate を使用すると、2 つのジオメトリ間のすべての関係が返されます。
たとえば、前の例で使用したものと同じ 2 つのジオメトリがあり、それらの関係を知りたいとします。次の文を Interactive
SQL で実行すると、ジオメトリ間の関係を定義した DE-9IM 文字列が返されます。
SELECT new ST_Polygon('Polygon(( 2 3, 8 3, 4 8, 2 3 ))').ST_Relate(new
ST_Polygon('Polygon((-3 3, 3 3, 3 6, -3 6, -3 3))'));
ST_Relate は DE-9IM 文字列 212111212 を返します。
この値をマトリックス表示すると、多くの交差ポイントがあることがわかります。
表 5:
g2 interior
g2 boundary
g2 exterior
g1 interior
2
1
2
g1 boundary
1
1
1
g1 exterior
2
1
2
50
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
3.13.8 空間の次元の操作
各ジオメトリサブタイプは、独自のプロパティを持っている以外に、ST_Geometry スーパータイプから次元プロパティを継
承しています。
ジオメトリサブタイプは、次のいずれかの次元値を持っています。
-1
値 -1 は、ジオメトリが空であることを示します (ポイントが 1 つもない)。
0
値 0 は、ジオメトリが長さまたは面積を持たないことを示します。サブタイプ ST_Point と ST_MultiPoint は次元値 0
を持ちます。1 つのポイントは、座標の単一のペアによって表すことができるジオメトリ特性を表します。接続されてい
ないポイントのクラスタは MultiPoint 特性を表します。
1
値 1 は、ジオメトリに長さがあるが、面積がないことを示します。次元 1 を持つ一連のサブタイプは、ST_Curve のサ
ブタイプ (ST_LineString、ST_CircularString、および ST_CompoundCurve)、またはこれらのタイプを含んでいる
が面を持たないコレクションタイプです。GIS データでは、これらの次元 1 のジオメトリは、線形特性 (河川、水系、道
路網など) を定義するために使用されます。
2
値 2 は、ジオメトリが面積を持っていることを示します。次元 2 を持つ一連のサブタイプは、ST_Surface のサブタイ
プ (ST_Polygon と ST_CurvePolygon)、またはこれらのタイプを含んでいるコレクションタイプです。多角形と複数
多角形は、定義された面積を囲む外周を持つジオメトリ特性 (湖、公園など) を表します。
ジオメトリの次元は、ジオメトリの各ポイントの座標次元の数とは関係がありません。
1 つの ST_GeomCollection には、次元の異なるジオメトリを含めることができ、最も高い次元のジオメトリが返されます。
3.14 チュートリアル:空間機能の実験
このチュートリアルでは、空間機能を実験します。
前提条件
このチュートリアルを実行するには、次の権限が必要です。
● MANAGE ANY SPATIAL OBJECT システム権限
● CREATE TABLE システム権限
● WRITE FILE システム権限
● GROUPO.SpatialContacts テーブルに関する SELECT 権限
1. 追加の測定単位と空間参照系のインストール [52 ページ]
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
51
sa_install_feature システムプロシージャを使用し、このチュートリアルの後半で必要となる多くの定義済みの測
定単位と空間参照系をインストールします。
2. ESRI シェイプファイルデータのダウンロード [53 ページ]
米国国勢調査局の Web サイトから ESRI シェイプファイルをダウンロードします。
3. ESRI シェイプファイルデータのロード [54 ページ]
ESRI シェイプファイル内のカラムを特定し、その情報を使用して、データをロードするテーブルを作成します。
4. 空間データのクエリ [57 ページ]
いくつかの空間メソッドを使用して、意味のあるコンテキストでデータを問い合わせます。また、距離を計算する方
法も学習するためデータベースに測定単位を追加する必要があります。
5. SVG への空間データの出力 [59 ページ]
SVG ドキュメントを作成し、WKT で表現された複数多角形を表示します。ジオメトリを SVG フォーマットにエクス
ポートすると、Interactive SQL または SVG に互換性のあるアプリケーションで表示できます。
6. 空間データの投影 [61 ページ]
面積の計算と距離の測定ができるように、平面モデルを使用する空間参照系にデータを投影します。
3.14.1 追加の測定単位と空間参照系のインストール
sa_install_feature システムプロシージャを使用し、このチュートリアルの後半で必要となる多くの定義済みの測定単位と
空間参照系をインストールします。
前提条件
このチュートリアルの冒頭に一覧されているロールと権限を持っている必要があります。
手順
1. 次の文を実行します。
CALL sa_install_feature( 'st_geometry_predefined_srs' );
文が完了すると、追加の測定単位と空間参照系がインストールされています。
2. データベースにインストールされている測定単位を判別するには、次のクエリを実行します。
SELECT * FROM ST_UNITS_OF_MEASURE;
3. データベースにインストールされている空間参照系を判別するには、次のクエリを実行します。
SELECT * FROM ST_SPATIAL_REFERENCE_SYSTEMS;
52
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
結果
インストールされた空間参照系のリストが返されます。
タスクの概要: チュートリアル:空間機能の実験 [51 ページ]
次のタスク: ESRI シェイプファイルデータのダウンロード [53 ページ]
3.14.2 ESRI シェイプファイルデータのダウンロード
米国国勢調査局の Web サイトから ESRI シェイプファイルをダウンロードします。
前提条件
このチュートリアルのこれまでのレッスンを完了している必要があります。
このチュートリアルの冒頭に一覧されているロールと権限を持っている必要があります。
コンテキスト
ダウンロードするシェイプファイルは、2002 年の国勢調査の集計で使用されたマサチューセッツ州の 5 桁の郵便番号情
報を表しています。各郵便番号区域は、多角形または複数多角形として扱われています。
手順
1. c:¥temp¥massdata という名前のローカルディレクトリを作成します。
2. 次の URL に移動します: The United States Census Bureau
3. ページの右側の [State- and County-based Shapefiles] ドロップダウンから [Massachusetts] をクリックして、
[submit] をクリックします。
4. ページの左側で、[5-Digit ZIP Code Tabulation Area (2002)] をクリックして、[Download Selected Files] をク
リックします。
5. プロンプトが表示されたら、zip ファイル multiple_tiger_files.zip を c:¥temp¥massdata に保存し、ファ
イルの内容を解凍します。これにより、25_MASSACHUSETTS という名前のサブフォルダが作成され、
tl_2009_25_zcta5.zip という名前の別の zip ファイルがそこに作成されます。
6. tl_2009_25_zcta5.zip の内容を C:¥temp¥massdata に解凍します。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
53
結果
これにより、空間データをデータベースにロードするために使用できる ESRI シェイプファイル (.shp) を含む 5 つのファイ
ルが解凍されます。
タスクの概要: チュートリアル:空間機能の実験 [51 ページ]
前のタスク: 追加の測定単位と空間参照系のインストール [52 ページ]
次のタスク: ESRI シェイプファイルデータのロード [54 ページ]
3.14.3 ESRI シェイプファイルデータのロード
ESRI シェイプファイル内のカラムを特定し、その情報を使用して、データをロードするテーブルを作成します。
前提条件
このチュートリアルのこれまでのレッスンを完了している必要があります。
このチュートリアルの冒頭に一覧されているロールと権限を持っている必要があります。
コンテキスト
権限に問題があるために、いずれかの手順を実行できない場合は、-gl データベースオプションの設定値を管理者に問い
合わせてから、st_geometry_load_shapefile システムプロシージャの権限に関するセクションを参照して必要な権限を
判別してください。
手順
1. 空間データは特定の空間参照系に関連付けられているため、データベースにデータをロードする場合、同じ空間参照
系、または少なくとも等価な定義を持つ空間参照系にロードする必要があります。ESRI シェイプファイルの空間参照
系情報を確認するには、プロジェクトファイル c:¥temp¥massdata¥tl_2009_25_zcta5.prj をテキストエディ
タで開きます。このファイルには、この手順に必要な空間参照系情報が含まれています。
GEOGCS["GCS_North_American_1983", DATUM["D_North_American_1983",
SPHEROID["GRS_1980",6378137,298.257222101]],
PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
文字列 GCS_North_American_1983 は、データに関連付けられている空間参照系の名前です。
54
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
2. ST_SPATIAL_REFERENCE_SYSTEMS ビューに問い合わせてみると (SELECT * FROM
ST_SPATIAL_REFERENCE_SYSTEMS WHERE srs_name='GCS_North_American_1983';)、この名前は
定義済みの SRS のリストにはありません。ただし、同じ定義の空間参照系を問い合わせて、代わりにそれを使用で
きます。
SELECT *
FROM ST_SPATIAL_REFERENCE_SYSTEMS
WHERE definition LIKE '%1983%'
AND definition LIKE 'GEOGCS%';
このクエリは、1 つの同じ定義を持つ SRID 4269 の空間参照系 NAD83 を返します。これがシェイプファイルからデ
ータをロードするために割り当てる SRID です。
3. Interactive SQL で、次の文を実行して、Massdata というテーブルを作成し、シェイプファイルをテーブルにロードし
て、データに SRID 4269 を割り当てます。ロードには少し時間がかかることがあります。
CALL st_geometry_load_shapefile ( 'c:¥¥temp¥¥massdata¥¥tl_2009_25_zcta5.shp',
4269,
'Massdata' );
注記
[インポートウィザード] でも、シェイプファイルからのデータのロードがサポートされています。
4. Interactive SQL で、テーブルをクエリし、シェイプファイルにあったデータを表示します。
SELECT * FROM Massdata;
結果の各ローは、郵便番号区域のデータを表します。
geometry カラムには、多角形 (1 つの領域) または複数多角形 (複数の隣接しない領域) として、郵便番号区域のシ
ェイプ情報が保持されています。
5. ZCTA5CE カラムには郵便番号が格納されています。このカラムをチュートリアルの後半で簡単に参照できるように
するため、Intaractive SQL で ALTER TABLE 文を実行して、カラム名を ZIP に変更します。:
ALTER TABLE Massdata
RENAME ZCTA5CE TO ZIP;
6. 2 つのカラム INTPTLON と INTPTLAT は、郵便番号区域の中心ポイントの X 座標と Y 座標を表しています。
Interactive SQL で次の ALTER TABLE 文を実行して、ST_Point タイプの CentePoint というカラムを作成し、それ
ぞれの X と Y を CenterPoint の値にします。
ALTER TABLE Massdata
ADD CenterPoint AS ST_Point(SRID=4269)
COMPUTE( new ST_Point( CAST( INTPTLON AS DOUBLE ), CAST( INTPTLAT AS
DOUBLE ), 4269 ) );
これで、Massdata.CenterPoint の ST_Point 値が、Massdata.geometry に格納された郵便番号区域の中心ポイ
ントを表すようになりました。
7. 個別のジオメトリ (郵便番号区域) をシェイプとして表示するには、Massdata.geometry の最初の値以外をダブルク
リックし、[カラムの値] ウィンドウの [空間プレビュー] タブをクリックします。
値が大きすぎるというエラー、または結果にプライマリキーを含めることを推奨するというエラーを受け取った場合、
Interactive SQL で表示するために値がトランケートされたことが原因です。これを解決するには、クエリを変更して、
結果にプライマリキーカラムが含まれるようにするか、Interactive SQL の [トランケーションの長さ] 設定を調整しま
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
55
す。Interactive SQL でジオメトリを表示するために、ジオメトリを問い合わせるたびにプライマリキーを含める必要を
なくしたい場合は、設定の変更をおすすめします。
Interactive SQL の [トランケーションの長さ] 設定を変更するには、
[ツール]
[オプション]
[SAP IQ]
をクリ
ックし、[トランケーションの長さ] を 100000 などの大きい値に設定します。
8. データセット全体を 1 つのシェイプとして表示するには、
[ツール]
[空間ビューア]
をクリックして、SQL
Anywhere の SAP IQ[空間ビューア] を開き、Interactive SQL で次のクエリを実行します。
SELECT geometry FROM Massdata
UNION ALL SELECT CenterPoint FROM Massdata;
結果
ESRI シェイプファイルデータがロードされます。
タスクの概要: チュートリアル:空間機能の実験 [51 ページ]
56
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
前のタスク: ESRI シェイプファイルデータのダウンロード [53 ページ]
次のタスク: 空間データのクエリ [57 ページ]
3.14.4 空間データのクエリ
いくつかの空間メソッドを使用して、意味のあるコンテキストでデータを問い合わせます。また、距離を計算する方法も学習
するためデータベースに測定単位を追加する必要があります。
前提条件
このチュートリアルのこれまでのレッスンを完了している必要があります。
このチュートリアルの冒頭に一覧されているロールと権限を持っている必要があります。
コンテキスト
SpatialContacts テーブルと Massdata テーブルのどちらか、または両方でクエリを実行します。データベースに既に存
在している SpatialContacts には、多くは Massachusetts に在住する人々の名前と連絡先情報が格納されています。
手順
1. Interactive SQL で、郵便番号区域 01775 に関連付けられるジオメトリを保持するために、@Mass_01775 という変
数を作成します。
CREATE VARIABLE @Mass_01775 ST_Geometry;
SELECT geometry INTO @Mass_01775
FROM Massdata
WHERE ZIP = '01775';
2. 郵便番号区域 01775 と周辺の郵便番号区域のすべての連絡先を SpatialContacts から検索するとします。このた
めには、交差するジオメトリ、または指定したジオメトリと同じジオメトリを返す、ST_Intersects メソッドを使用します。
Interactive SQL で次の文を実行します。
SELECT c.Surname, c.GivenName, c.Street, c.City, c.PostalCode, z.geometry
FROM Massdata z, GROUPO.SpatialContacts c
WHERE
c.PostalCode = z.ZIP
AND z.geometry.ST_Intersects( @Mass_01775 ) = 1;
3. Massdata.geometry のすべてのローは、同じ空間参照系 (SRID 4269) に関連付けられています。これは、
geometry カラムを作成するときに SRID 4269 を割り当て、そのカラムにデータをロードしたためです。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
57
ただし、宣言されていない ST_Geometry カラム (つまり、SRID が割り当てられていない) を作成することもできま
す。これは、異なる SRS が関連付けられている空間値を単一のカラムに格納したい場合に必要になります。これらの
値に対して操作が実行されると、各値に関連付けられている空間参照系が使用されます。
宣言されていないカラムを使用する場合のリスクの 1 つは、データベースサーバでは、宣言されていないカラムのデ
ータに関連付けられている空間参照系の変更が防止されないことです。
カラムに宣言された SRID がある場合、データベースサーバはデータに関連付けられている空間参照系を変更する
ことを許可しません。最初に、宣言されたカラムのデータをアンロードしてトランケートしてから、空間参照系を変更し、
データを再ロードする必要があります。
ST_SRID メソッドを使用すると、宣言されているかどうかに関係なく、カラムの値に関連付けられている SRID を判別
できます。たとえば、次の文は Massdata.geometry カラムの各ローに割り当てられている SRID を表示します。
SELECT geometry.ST_SRID()
FROM Massdata;
4. ST_CoveredBy メソッドを使用すると、ジオメトリが別のジオメトリ内に完全に含まれているかどうかをチェックできま
す。たとえば、Massdata.CenterPoint (ST_Point タイプ) には郵便番号区域の中心の緯度/経度の座標が含ま
れ、Massdata.geometry には郵便番号区域を反映した多角形が含まれます。Interactive SQL で次のクエリを実行
することによって、郵便番号区域外に設定されている CenterPoint 値がないことを簡単に確認できます。
SELECT * FROM Massdata
WHERE NOT(CenterPoint.ST_CoveredBy(geometry) = 1);
ローが 1 つも返されないため、すべての CenterPoint 値が Massdata.geometry の関連付けられているジオメトリ
内にあることを示しています。このチェックは CenterPoint 値が本当に中心にあるかどうかは検証していません。そ
のためには、データを平面空間参照系に投影し、ST_Centroid メソッドを使用して CenterPoint 値をチェックする必
要があります。投影についてはこのチュートリアルの後半で学習します。
5. ST_Distance メソッドを使用すると、郵便番号区域の中心点間の距離を測定できます。たとえば、郵便番号区域
01775 から 100 マイル以内の郵便番号をリストしたいとします。この処理は、Interactive SQL で次のクエリを実行し
ます。
SELECT c.PostalCode, c.City,
z.CenterPoint.ST_Distance( ( SELECT CenterPoint
FROM Massdata WHERE ZIP = '01775' ),
'Statute mile' ) dist,
z.CenterPoint
FROM Massdata z, GROUPO.SpatialContacts c
WHERE c.PostalCode = z.ZIP
AND dist <= 100
ORDER BY dist;
6. 正確な距離を知ることが重要ではない場合、代わりに ST_WithinDistance メソッドを使用してクエリを作成できま
す。これは、特定のデータセット (特に、大きなジオメトリ) に対してよりよいパフォーマンスが得られます。
SELECT c.PostalCode, c.City, z.CenterPoint
FROM Massdata z, GROUPO.SpatialContacts c
WHERE c.PostalCode = z.ZIP
AND z.CenterPoint.ST_WithinDistance( ( SELECT CenterPoint
FROM Massdata WHERE ZIP = '01775' ),
100, 'Statute mile' ) = 1
ORDER BY c.PostalCode;
58
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
結果
空間データに関するクエリが実行されます。
タスクの概要: チュートリアル:空間機能の実験 [51 ページ]
前のタスク: ESRI シェイプファイルデータのロード [54 ページ]
次のタスク: SVG への空間データの出力 [59 ページ]
3.14.5 SVG への空間データの出力
SVG ドキュメントを作成し、WKT で表現された複数多角形を表示します。ジオメトリを SVG フォーマットにエクスポートす
ると、Interactive SQL または SVG に互換性のあるアプリケーションで表示できます。
前提条件
このチュートリアルのこれまでのレッスンを完了している必要があります。
このチュートリアルの冒頭に一覧されているロールと権限を持っている必要があります。
手順
1. Interactive SQL で次の文を実行して、ジオメトリの例が設定された変数を作成します。
CREATE OR REPLACE VARIABLE @svg_geom
ST_Polygon = (NEW ST_Polygon('Polygon ((1 1, 5 1, 5 5, 1 5, 1 1), (2 2, 2 3,
3 3, 3 2, 2 2))'));
2. Interactive SQL で、次の SELECT 文を実行して、ST_AsSVG メソッドを呼び出します。
SELECT @svg_geom.ST_AsSVG() AS svg;
結果セットには単一のローがあり、SVG イメージが含まれています。このイメージは、Interactive SQL の [SVG プレ
ビュー] 機能を使用して表示できます。これを行うには、結果ローをダブルクリックして、[SVG プレビュー] タブを選択
します。正方形のジオメトリが別の正方形のジオメトリ内に表示されます。
注記
デフォルトでは、Interactive SQL は [結果] ウィンドウ枠内の値を 256 文字にトランケートします。Interactive
SQL が完全なカラム値を読み込めないことを示すエラーを返す場合、トランケーション値を増やします。これを行う
には、
管理: 空間データ
空間データ
[ツール]
[オプション]
をクリックし、左ウィンドウ枠で SAP IQ をクリックします。[結果] タブで、[トラン
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
59
ケーションの長さ] を 5000 などの大きい値に変更します。[OK] をクリックして変更を保存し、再びクエリを実行し
てから、再度そのローをダブルクリックします。
3. 前の手順では、SVG イメージを Interactive SQL 内でプレビューする方法を説明しました。ただし、結果の SVG をフ
ァイルに書き込んで、外部のアプリケーションで読み込めるようにするとより便利です。xp_write_file システムプロシ
ージャまたは WRITE_CLIENT_FILE 関数 [文字列] を使用すると、データベースサーバまたはクライアントコンピュー
タの相対位置にあるファイルに書き込むことができます。この例では、OUTPUT 文 [Interactive SQL] を使用しま
す。
Interactive SQL で、次の SELECT 文を実行して ST_AsSVG メソッドを呼び出し、ジオメトリを myPolygon.svg と
いう名前のファイルに出力します。
SELECT @svg_geom.ST_AsSVG();
OUTPUT TO 'c:¥¥temp¥¥massdata¥¥myPolygon.svg'
QUOTE ''
ESCAPES OFF
FORMAT TEXT
この文には、QUOTE '' と ESCAPES OFF 句を含める必要があります。そうしないと、ホワイトスペースを維持するた
めに改行復帰文字と一重引用符が XML に挿入され、出力が無効な SVG ファイルになります。
4. Web ブラウザまたは SVG イメージの表示をサポートするアプリケーションで SVG を開きます。または、SVG をテキ
ストエディタで開くと、ジオメトリの XML を表示できます。
5. ST_AsSVG メソッドは、単一のジオメトリから SVG イメージを生成します。場合によっては、グループ内のすべてのシ
ェイプが含まれる SVG イメージを生成することがあります。ST_AsSVGAggr メソッドは、複数のジオメトリを単一の
SVG イメージに結合する集合関数です。まず、Interactive SQL を使用して、SVG イメージを保持する変数を作成
し、ST_AsSVGAggr メソッドを使用してそれを生成します。
CREATE OR REPLACE VARIABLE @svg XML;
SELECT ST_Geometry::ST_AsSVGAggr( geometry, 'attribute=fill="black"' )
INTO @svg
FROM Massdata;
@svg 変数は、現在、Massdata テーブル内のすべての郵便番号区域を表す SVG イメージを保持しています。
'attribute=fill="black"' は、生成されたイメージに使用される塗りつぶしの色を指定します。指定しない場
合、データベースサーバは任意の塗りつぶしの色を選択します。目的の SVG イメージを含んだ変数が作成されたの
で、それをファイルに書き込んで別のアプリケーションで表示できます。Interactive SQL で次の文を実行して、SVG
イメージをデータベースサーバの相対位置にあるファイルに書き込みます。
CALL xp_write_file( 'c:¥¥temp¥¥Massdata.svg', @svg );
WRITE_CLIENT_FILE 関数も、クライアントアプリケーションの相対位置にあるファイルに書き込むために使用できま
すが、適切な権限を有効にするために追加の手順が必要となります。SVG データをサポートするアプリケーションで
SVG イメージを開くと、次のようなイメージが表示されます。
60
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
このイメージは一様に黒ではありません。隣接する郵便番号区域の境界の間に小さなギャップがあります。ジオメトリ
間には実際に白線があり、これは SVG が描画される方式の特徴です。現実にはデータにギャップはありません。太く
て白い線は河川と湖です。
結果
ジオメトリは SVG として表示されています。
タスクの概要: チュートリアル:空間機能の実験 [51 ページ]
前のタスク: 空間データのクエリ [57 ページ]
次のタスク: 空間データの投影 [61 ページ]
3.14.6 空間データの投影
面積の計算と距離の測定ができるように、平面モデルを使用する空間参照系にデータを投影します。
前提条件
このチュートリアルのこれまでのレッスンを完了している必要があります。
このチュートリアルの冒頭に一覧されているロールと権限を持っている必要があります。
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
61
コンテキスト
Massdata の空間値は、ESRI シェイプファイルからデータベースにデータをロードするときに、SRID 4269 (NAD83 空間
参照系) が割り当てられています。SRID 4269 は曲面の空間参照系です。ただし、ジオメトリの面積やいくつかの空間述
部などの計算は、曲面モデルではサポートされません。現在、データが曲面空間参照系に関連付けられている場合、平
面空間参照系に値を投影する新しい空間カラムを作成し、そのカラムに対して計算を実行できます。
手順
1. 郵便番号区域を表す多角形の面積を測定するには、Massdata.geometry のデータを平面空間参照系に投影する
必要があります。
Massdata.geometry のデータを投影する適切な SRID を選択するには、Interactive SQL を使用して、次のように
単語 Massachusetts を含む SRID を ST_SPATIAL_REFERENCE_SYSTEMS 統合ビューに問い合わせます。
SELECT * FROM ST_SPATIAL_REFERENCE_SYSTEMS WHERE srs_name LIKE '%massachusetts
%';
これにより、Massachusetts のデータに使用するのに適したいくつかの SRID が返されます。このチュートリアルの
用途には、3586 を使用します。
2. 次に、ST_Transform メソッドを使用してジオメトリを SRID 3586 に投影するカラム Massdata.proj_geometry を作
成する必要があります。削除するには、Interactive SQL で次の文を実行します。
ALTER TABLE Massdata
ADD proj_geometry
AS ST_Geometry(SRID=3586)
COMPUTE( geometry.ST_Transform( 3586 ) );
3. Massdata.proj_geometry を使用して面積を計算できます。たとえば、Interactive SQL で次の文を実行します。
SELECT zip, proj_geometry.ST_ToMultiPolygon().ST_Area('Statute Mile') AS area
FROM Massdata
ORDER BY area DESC;
注記
ST_Area は曲面空間参照系ではサポートされません。ST_Distance はサポートされますが、ポイントジオメトリ間
のみです。
4. 別の空間参照系への投影の影響を距離の計算で確認するには、次のクエリを使用し、曲面モデル (より正確) および
投影された平面モデルを使用して、郵便番号区域の中心点間の距離を計算します。このデータでは両方のモデルが
かなり一致します。これは、選択された投影がこのデータセットに適しているためです。
SELECT M1.zip, M2.zip,
M1.CenterPoint.ST_Distance( M2.CenterPoint, 'Statute Mile' )
dist_round_earth,
M1.CenterPoint.ST_Transform( 3586 ).ST_Distance( M2.CenterPoint.ST_Transform(
3586 ),
'Statute Mile' ) dist_flat_earth
FROM Massdata M1, Massdata M2
WHERE M1.ZIP = '01775'
62
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データ
ORDER BY dist_round_earth DESC;
5. 郵便番号区域 01775 に隣接する郵便番号区域を検索するとします。これを行うには、ST_Touches メソッドを使用し
ます。ST_Touches メソッドは、ジオメトリを比較して、ジオメトリが別のジオメトリに重なり合わずに接触しているかど
うかをチェックします。ST_Touches の結果には、郵便番号 01775 のローは含まれません (ST_Intersects メソッドと
は異なります)。
CREATE OR REPLACE VARIABLE @Mass_01775 ST_Geometry;
SELECT geometry INTO @Mass_01775
FROM Massdata
WHERE ZIP = '01775';
SELECT record_number, proj_geometry
FROM Massdata
WHERE proj_geometry.ST_Touches( @Mass_01775.ST_Transform( 3586 ) ) = 1;
6. ST_UnionAggr メソッドを使用すると、郵便番号区域のグループの結合を表すジオメトリが返されます。たとえば、隣
接する郵便番号区域の論理和 (ただし 01775 を含まない) を反映したジオメトリを表示するとします。
Interactive SQL で、
[ツール]
[空間ビューア]
をクリックして、次のクエリを実行します。
SELECT ST_Geometry::ST_UnionAggr(proj_geometry)
FROM Massdata
WHERE proj_geometry.ST_Touches( @Mass_01775.ST_Transform( 3586 ) ) = 1;
結果をダブルクリックして表示します。
データベースから完全なカラムを読み込めないことを示すエラーを受け取った場合、Interactive SQL の [トランケー
ションの長さ] 設定の値を増やします。これを行うには、Interactive SQL で、
IQ]
[ツール]
[オプション]
[SAP
をクリックして、[トランケーションの長さ] に大きな値を設定します。クエリを再び実行してジオメトリを表示しま
す。
結果
これでチュートリアルは完了しました。
次のステップ
サンプルデータベースの再作成 (iqdemo.db)。
タスクの概要: チュートリアル:空間機能の実験 [51 ページ]
前のタスク: SVG への空間データの出力 [59 ページ]
管理: 空間データ
空間データ
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
63
4
空間データへのアクセスとそのデータの操作
この項では、空間データへのアクセス、そのデータの操作および分析に使用できるタイプ、メソッド、コンストラクタについて
説明します。空間データ型は、データ型やクラスと同じように考えることができます。各空間データ型には、データにアクセ
スするために使用するメソッドとコンストラクタが関連付けられています。
4.1
空間型と関数
空間データ型は、データ型やクラスと同じように考えることができます。各空間データ型には、データにアクセスするために
使用するメソッドとコンストラクタが関連付けられています。
他の製品との互換性を保つために、ソフトウェアでは空間データを操作するためのいくつかの SQL 関数もサポートされて
います。ほとんどすべての場合において、これらの互換関数は空間メソッドのいずれかを使用して操作を実行します。そ
のため、基本となるメソッドへのリンクが用意されています。
4.1.1 ST_CircularString タイプ
ST_CircularString タイプは、コントロールポイント間で輪状線セグメントを使用する ST_Curve のサブタイプです。
直接のスーパータイプ
● ST_Curve class [82 ページ]
コンストラクタ
● ST_CircularString コンストラクタ [66 ページ]
メソッド
● ST_CircularString のメソッド:
64
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
表 6:
ST_NumPoints [71 ペー
ST_PointN [72 ページ]
ジ]
● ST_Curve [82 ページ] のすべてのメソッド
● ST_Geometry [115 ページ] のすべてのメソッド
備考
ST_CircularString タイプは、コントロールポイント間で輪状線セグメントを使用する ST_Curve のサブタイプです。最初
の 3 つのポイントは、次のようにセグメントを定義します。最初のポイントは、セグメントの開始ポイントです。2 番目のポイ
ントは、セグメント上の開始ポイントと終了ポイント以外の任意のポイントです。3 番目のポイントは、セグメントの終了ポイ
ントです。後続セグメントは、2 つのポイント (中間ポイントと終了ポイント) のみで定義されます。開始ポイントは、先行セ
グメントの終了ポイントと見なされます。
円ストリングは、開始ポイントと終了ポイントが一致する場合、3 つのポイントで構成される完全な円になることがありま
す。この場合、中間ポイントはセグメントの中央のポイントになります。
開始ポイント、中間ポイント、終了ポイントが同一線上にある場合、セグメントは開始ポイントと終了ポイントの間の直線セ
グメントになります。
正確に 3 つのポイントで構成される円ストリングは円弧です。円リングは、閉じている単純な円ストリングです。
円ストリングは、曲面の空間参照系では使用できません。たとえば、SRID 4326 の円ストリングを作成しようとすると、エラ
ーが返されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
65
4.1.1.1
ST_CircularString コンストラクタ
円ストリングを構成します。
オーバロードリスト
表 7:
名前
説明
ST_CircularString() [66 ページ]
空のセットを表す円ストリングを構成します。
ST_CircularString(LONG VARCHAR[, INT]) [67 ページ]
テキスト表現から円ストリングを構成します。
ST_CircularString(LONG BINARY[, INT]) [68 ページ]
Well Known Binary (WKB) から円ストリングを構成します。
ST_CircularString(ST_Point,ST_Point,ST_Point,...) [70 ペ
指定した空間参照系のポイントのリストから円ストリング値を構成
ージ]
します。
4.1.1.1.1
ST_CircularString() コンストラクタ
空のセットを表す円ストリングを構成します。
構文
構文
NEW ST_CircularString()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
66
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_CircularString().ST_IsEmpty()
4.1.1.1.2
ST_CircularString(LONG VARCHAR[, INT]) コンスト
ラクタ
テキスト表現から円ストリングを構成します。
構文
構文
NEW ST_CircularString(<text-representation>[, <srid>])
パラメータ
表 8:
名前
タイプ
説明
text-representation
LONG VARCHAR
円ストリングのテキスト表現を含む文字列。
入力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から円ストリングを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判
断します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
67
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3.2
例
例
次の例では、CircularString (5 10, 10 12, 15 10) を返します。
SELECT NEW ST_CircularString('CircularString (5 10, 10 12, 15 10)')
次の例では、2 つの半円セグメントで構成される円ストリングを示します。
SELECT NEW ST_CircularString('CircularString (0 4, 2.5 6.5, 5 4, 7.5 1.5, 10
4)') CS
4.1.1.1.3
ST_CircularString(LONG BINARY[, INT]) コンストラ
クタ
Well Known Binary (WKB) から円ストリングを構成します。
構文
構文
NEW ST_CircularString(<wkb>[, <srid>])
68
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 9:
名前
タイプ
説明
wkb
LONG BINARY
円ストリングのバイナリ表現を含む文字
列。入力には、Well Known Binary
(WKB) や拡張 Well Know Binary
(EWKB) など、サポートされている任意の
バイナリ入力フォーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から円ストリングを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマ
ットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3.2
例
例
次の例では、CircularString (5 10, 10 12, 15 10) を返します。
SELECT NEW
ST_CircularString(0x01080000000300000000000000000014400000000000002440000000000
000244000000000000028400000000000002e400000000000002440)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
69
4.1.1.1.4
ST_CircularString(ST_Point,ST_Point,ST_Point,...
) コンストラクタ
指定した空間参照系のポイントのリストから円ストリング値を構成します。
構文
構文
NEW ST_CircularString(<pt1>,<pt2>,<pt3>[,<pt4>,...,<ptN>])
パラメータ
表 10:
名前
タイプ
説明
pt1
ST_Point
セグメントの最初のポイント。
pt2
ST_Point
セグメント上の最初のポイントと最後のポイ
ントとの間の任意のポイント。
pt3
ST_Point
セグメントの最後のポイント。
pt4,...,ptN
ST_Point
それ以降のセグメントを定義する追加ポイ
ント。各ポイントは、前の終了ポイントで始
まり、最初の追加ポイントを経由し、2 番目
の追加ポイントで終了します。
備考
ポイントのリストから円ストリング値を構成します。少なくとも 3 つのポイントを指定してください。3 つのうち最初のポイント
はセグメントの開始ポイント、3 番目のポイントはセグメントの終了ポイント、2 番目のポイントはセグメント上の最初のポイ
ントと 3 番目のポイントとの間の任意のポイントです。追加ポイントをペアで指定して、それ以降のセグメントを円ストリン
グに追加できます。指定するすべてのポイントの SRID を同じにしてください。円ストリングは、この共通 SRID を使用して
構成されます。指定するすべてのポイントが空ではなく、Is3D と IsMeasured に対して同じ回答を示す必要があります。
すべてのポイントが 3D の場合に円ストリングも 3D になり、すべてのポイントが測定される場合に円ストリングも測定され
ます。
70
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
注記
ST_CircularString では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例ではエラーを返します。少なくとも 3 つのポイントの指定が必要です。
SELECT NEW ST_CircularString( NEW ST_Point( 0, 0 ), NEW ST_Point( 1, 1 ) )
次の例では、結果として CircularString (0 0, 1 1, 2 0) を返します。
SELECT NEW ST_CircularString( NEW ST_Point( 0, 0 ), NEW ST_Point( 1, 1 ), NEW
ST_Point(2,0) )
次の例ではエラーを返します。最初のセグメントでは 3 つのポイントが使用され、それ以降のセグメントでは 2 つのポ
イントが使用されます。
SELECT NEW ST_CircularString( NEW ST_Point( 0, 0 ), NEW ST_Point( 1, 1 ), NEW
ST_Point(2,0), NEW ST_Point(1,-1) )
次の例では、結果として CircularString (0 0, 1 1, 2 0, 1 -1, 0 0) を返します。
SELECT NEW ST_CircularString( NEW ST_Point( 0, 0 ), NEW ST_Point( 1, 1 ), NEW
ST_Point(2,0), NEW ST_Point(1,-1), NEW ST_Point( 0, 0 ) )
4.1.1.2
ST_NumPoints メソッド
円ストリングを定義しているポイント数を返します。
注記
ST_NumPoints では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
71
構文
構文
<circularstring-expression>.ST_NumPoints()
戻り値
INT
円ストリング値が空の場合は NULL を返し、それ以外の場合は値に含まれるポイント数を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3.4
例
例
次の例では、結果として 5 を返します。
SELECT TREAT( Shape AS ST_CircularString ).ST_NumPoints()
FROM SpatialShapes WHERE ShapeID = 18
4.1.1.3
ST_PointN メソッド (ST_CircularString タイプ)
円ストリングの <n> 番目のポイントを返します。
注記
ST_PointN では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
72
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
構文
構文
<circularstring-expression>.ST_PointN(<n>)
パラメータ
表 11:
名前
タイプ
説明
n
INT
返す要素の位置 (1 ~
<circularstringexpression>.ST_NumPoints())。
戻り値
ST_Point
<circular-expression> の値が空のセットの場合は、NULL を返します。指定された位置 <n> が 1 未満か、ポ
イント数を超えている場合は、NULL を返します。それ以外の場合は、位置 n の ST_Point 値を返します。
結果の空間参照系識別子は、<circularstring-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3.5
例
例
次の例では、結果として Point (2 0) を返します。
SELECT TREAT( Shape AS ST_CircularString ).ST_PointN( 3 )
FROM SpatialShapes WHERE ShapeID = 18
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
73
次の例では、geom の各ポイントにつき 1 つのローを返します。
BEGIN
DECLARE geom ST_CircularString;
SET geom = NEW ST_CircularString( 'CircularString( 0 0, 1 1, 2 0 )' );
SELECT row_num, geom.ST_PointN( row_num )
FROM sa_rowgenerator( 1, geom.ST_NumPoints() )
ORDER BY row_num;
END
この例では、次の結果セットを返します。
表 12:
row_num
geom.ST_PointN(row_num)
1
Point (0 0)
2
Point (1 1)
3
Point (2 0)
4.1.2 ST_CompoundCurve タイプ
複合曲線は一連の ST_Curve 値であり、隣接する曲線はそれぞれの終了ポイントでジョインされます。関係する曲線は、
ST_LineString と ST_CircularString に制限されます。最初の曲線以降の各曲線の開始ポイントは、前の曲線の終了ポ
イントと一致します。
直接のスーパータイプ
● ST_Curve class [82 ページ]
コンストラクタ
● ST_CompoundCurve コンストラクタ [75 ページ]
メソッド
● ST_CompoundCurve のメソッド:
74
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
表 13:
ST_CurveN [80 ページ]
ST_NumCurves [81 ペー
ジ]
● ST_Curve [82 ページ] のすべてのメソッド
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4
4.1.2.1
ST_CompoundCurve コンストラクタ
複合曲線を構成します。
オーバロードリスト
表 14:
名前
説明
ST_CompoundCurve() [76 ページ]
空のセットを表す複合曲線を構成します。
ST_CompoundCurve(LONG VARCHAR[, INT]) [76 ページ]
テキスト表現から複合曲線を構成します。
ST_CompoundCurve(LONG BINARY[, INT]) [78 ページ]
Well Known Binary (WKB) から複合曲線を構成します。
ST_CompoundCurve(ST_Curve,...) [79 ページ]
曲線のリストから複合曲線を構成します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
75
4.1.2.1.1
ST_CompoundCurve() コンストラクタ
空のセットを表す複合曲線を構成します。
構文
構文
NEW ST_CompoundCurve()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_CompoundCurve().ST_IsEmpty()
4.1.2.1.2
ST_CompoundCurve(LONG VARCHAR[, INT]) コン
ストラクタ
テキスト表現から複合曲線を構成します。
構文
構文
NEW ST_CompoundCurve(<text-representation>[, <srid>])
76
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 15:
名前
タイプ
text-representation
LONG VARCHAR
説明
複合曲線のテキスト表現を含む文字列。入
力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から複合曲線を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判断
します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4.2
例
例
次の例では、CompoundCurve ((0 0, 5 10), CircularString (5 10, 10 12, 15 10)) を返します。
SELECT NEW ST_CompoundCurve('CompoundCurve ((0 0, 5 10), CircularString (5 10,
10 12, 15 10))')
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
77
4.1.2.1.3
ST_CompoundCurve(LONG BINARY[, INT]) コンス
トラクタ
Well Known Binary (WKB) から複合曲線を構成します。
構文
構文
NEW ST_CompoundCurve(<wkb>[, <srid>])
パラメータ
表 16:
名前
タイプ
説明
wkb
LONG BINARY
複合曲線のバイナリ表現を含む文字列。入
力には、Well Known Binary (WKB) や拡
張 Well Know Binary (EWKB) など、サポ
ートされている任意のバイナリ入力フォーマ
ットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から複合曲線を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマッ
トを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4.2
78
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、CompoundCurve ((0 0, 5 10)) を返します。
SELECT NEW
ST_CompoundCurve(0x010900000001000000010200000002000000000000000000000000000000
0000000000000000000014400000000000002440)
4.1.2.1.4
ST_CompoundCurve(ST_Curve,...) コンストラクタ
曲線のリストから複合曲線を構成します。
構文
構文
NEW ST_CompoundCurve(<curve1>[,<curve2>,...,<curveN>])
パラメータ
表 17:
名前
タイプ
説明
curve1
ST_Curve
複合曲線に含める最初の曲線。
curve2,...,curveN
ST_Curve
複合曲線に含める追加の曲線。
備考
構成要素となる曲線のリストから複合曲線を構成します。最初の曲線以降の各曲線の開始ポイントは、前の曲線の終了
ポイントと一致する必要があります。指定するすべての曲線の SRID を同じにしてください。複合曲線は、この共通 SRID
を使用して構成されます。指定するすべての曲線が空ではなく、Is3D と IsMeasured に対して同じ回答を示す必要があり
ます。すべてのポイントが 3D の場合に複合曲線も 3D になり、すべてのポイントが測定される場合に複合曲線も測定さ
れます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
79
注記
ST_CompoundCurve では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、CompoundCurve ((0 0, 5 10), CircularString (5 10, 10 12, 15 10)) を返します。
SELECT NEW ST_CompoundCurve(NEW ST_LineString( 'LineString(0 0, 5 10)'),NEW
ST_CircularString('CircularString (5 10, 10 12, 15 10)'))
4.1.2.2
ST_CurveN メソッド
複合曲線の <n> 番目の曲線を返します。
注記
ST_CurveN では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
構文
<compoundcurve-expression>.ST_CurveN(<n>)
80
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 18:
名前
タイプ
説明
n
INT
返す要素の位置 (1 ~
<compoundcurveexpression>.ST_NumCurves())。
戻り値
ST_Curve
複合曲線の <n> 番目の曲線を返します。
結果の空間参照系識別子は、<compoundcurve-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4.5
例
例
次の例では、結果として CircularString (0 0, 1 1, 2 0) を返します。
SELECT TREAT( Shape AS ST_CompoundCurve ).ST_CurveN( 1 )
FROM SpatialShapes WHERE ShapeID = 17
4.1.2.3
ST_NumCurves メソッド
複合曲線を定義している曲線数を返します。
注記
ST_NumCurves では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
81
構文
構文
<compoundcurve-expression>.ST_NumCurves()
戻り値
INT
対象の複合曲線に含まれている曲線数を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4.4
例
例
次の例では、結果として 2 を返します。
SELECT TREAT( Shape AS ST_CompoundCurve ).ST_NumCurves()
FROM SpatialShapes WHERE ShapeID = 17
4.1.3 ST_Curve タイプ
ST_Curve タイプは、一連のポイントを使用して線を表すタイプのサブタイプです。
直接のスーパータイプ
● ST_Geometry クラス [115 ページ]
82
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
直接のサブタイプ
● ST_CircularString タイプ [64 ページ]
● ST_CompoundCurve タイプ [74 ページ]
● ST_LineString タイプ [289 ページ]
メソッド
● ST_Curve のメソッド:
表 19:
ST_CurveToLine [84 ペー
ST_EndPoint [85 ページ]
ST_IsClosed [86 ページ]
ST_IsRing [87 ページ]
ジ]
ST_Length [88 ページ]
ST_StartPoint [90 ページ]
● ST_Geometry [115 ページ] のすべてのメソッド
備考
ST_Curve タイプは、一連のポイントを使用して線を表すタイプのサブタイプです。サブタイプでは、コントロールポイントを
直線セグメント (ST_LineString)、輪状線セグメント (ST_CircularString)、または組み合わせ (ST_CompoundCurve)
のいずれを使用してジョインするかを指定します。
ST_Curve タイプはインスタンス化可能ではありません。
ST_Curve 値がそれ自体と交差しない場合 (終了ポイントで交差する場合を除く)、その値は単純です。ST_Curve 値が終
了ポイントで交差する場合、その値は閉じています。閉じていて単純な ST_Curve 値はリングと呼ばれます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.1
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
83
4.1.3.1
ST_CurveToLine メソッド
ST_Curve 値の ST_LineString 補間近似値を返します。
構文
構文
<curve-expression>.ST_CurveToLine()
戻り値
ST_LineString
<curve-expression> の ST_LineString 補間近似値を返します。
結果の空間参照系識別子は、<curve-expression> の空間参照系と同じです。
備考
<curve-expression> が空の場合は、ST_CurveToLine メソッドは ST_LineString タイプの空のセットを返します。そ
れ以外の場合は、ST_CurveToLine は、<curve-expression>に指定された線ストリングを含む 1 つの線ストリング
を、<curve-expression> に円ストリングがある場合には、その補間近似値と結合した形で返します。
注記
ST_CurveToLine では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.1.7
84
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として LineString (0 7, 0 4, 4 4) (元の線ストリングのコピー) を返します。
SELECT TREAT( Shape AS ST_Curve ).ST_CurveToLine()
FROM SpatialShapes WHERE ShapeID = 5
次の例では、結果として LineString (0 0, 5 10) (同等の線ストリングに変換された複合曲線) を返します。
SELECT NEW ST_CompoundCurve( 'CompoundCurve((0 0, 5 10))' ).ST_CurveToLine()
次の例では、元の円ストリングに近似する、補間された線ストリングを返します。
SELECT TREAT( Shape AS ST_Curve ).ST_CurveToLine()
FROM SpatialShapes WHERE ShapeID = 19
4.1.3.2
ST_EndPoint メソッド
終了ポイントである ST_Point 値を返します。
注記
ST_EndPoint では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
構文
<curve-expression>.ST_EndPoint()
戻り値
ST_Point
曲線が空のセットの場合は、NULL を返します。それ以外の場合は、曲線の終了ポイントを返します。
結果の空間参照系識別子は、<curve-expression> の空間参照系と同じです。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
85
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.1.4
例
例
次の例では、結果として Point (5 10) を返します。
SELECT NEW ST_LineString( 'LineString(0 0, 5 5, 5 10)' ).ST_EndPoint()
4.1.3.3
ST_IsClosed メソッド
曲線が閉じているかどうかをテストします。開始ポイントと終了ポイントが一致する場合、曲線は閉じています。
注記
ST_IsClosed では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
構文
<curve-expression>.ST_IsClosed()
戻り値
BIT
曲線が閉じている場合 (および空でない場合) は、1 を返します。それ以外の場合は、0 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
86
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
7.1.5
例
例
次の例では、閉じた曲線を含む SpatialShapes のすべてのローを返します。Shape が ST_Curve のサブタイプでな
い場合に、TREAT 関数が実行されないようにするために、IF 式を使用する必要があります。IF 式を使用しない場合
は、サーバが WHERE 句の条件を並び替えてしまう場合があるため、エラーになります。
SELECT * FROM SpatialShapes
WHERE IF Shape IS OF ( ST_Curve )
AND TREAT( Shape AS ST_Curve ).ST_IsClosed() = 1 THEN 1 ENDIF = 1
次の例では、閉じたジオメトリを含む curve_table のすべてのローを返します。この例では、geometry カラムに
ST_Curve、ST_LineString、ST_CircularString、または ST_CompoundCurve タイプがあることを前提としていま
す。
SELECT * FROM curve_table WHERE geometry.ST_IsClosed() = 1
4.1.3.4
ST_IsRing メソッド
曲線がリングかどうかをテストします。曲線が閉じていて単純な場合 (それ自体と交差しない場合)、その曲線はリングで
す。
構文
構文
<curve-expression>.ST_IsRing()
戻り値
BIT
曲線がリングの場合 (および空でない場合) は、1 を返します。それ以外の場合は、0 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
87
7.1.6
例
例
次の例では、リングを含む SpatialShapes のすべてのローを返します。Shape が ST_Curve のサブタイプでない場合
に、TREAT 関数が実行されないようにするために、IF 式を使用する必要があります。IF 式を使用しない場合は、サー
バが WHERE 句の条件を並び替えてしまう場合があるため、エラーになります。
SELECT * FROM SpatialShapes
WHERE IF Shape IS OF ( ST_Curve )
AND TREAT( Shape AS ST_Curve ).ST_IsRing() = 1 THEN 1 ENDIF = 1
次の例では、リングのジオメトリを含む curve_table のすべてのローを返します。この例では、geometry カラムに
ST_Curve、ST_LineString、ST_CircularString、または ST_CompoundCurve タイプがあることを前提としていま
す。
SELECT * FROM curve_table WHERE geometry.ST_IsRing() = 1
4.1.3.5
ST_Length メソッド
曲線の長さを返します。
構文
構文
<curve-expression>.ST_Length([ <unit-name>])
パラメータ
表 20:
名前
タイプ
説明
unit-name
VARCHAR(128)
長さを計算する単位。デフォルトでは、空間
参照系の単位が使用されます。単位名は、
UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
88
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
DOUBLE
曲線が空のセットの場合は、NULL を返します。それ以外の場合は、指定された単位で曲線の長さを返します。
備考
ST_Length メソッドは、<unit-name> パラメータで指定された単位で曲線の長さを返します。曲線が空の場合は、
NULL が返されます。
曲線に Z 値が含まれている場合、それらの値はジオメトリの長さの計算時には考慮されません。
注記
<curve-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Length では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.1.2
例
例
次の例では、結果として 2 を返します。
SELECT NEW ST_LineString( 'LineString(1 0, 1 1, 2 1)' ).ST_Length()
次の例では、半円を表す円ストリングを作成し、ST_Length を使用してジオメトリの長さを調べ、値 PI を返します。
SELECT NEW ST_CircularString( 'CircularString( 0 0, 1 1, 2 0 )' ).ST_Length()
次の例では、カナダのハリファックス (NS) からワーテルロー (ON) までの経路を表す線ストリングを作成し、
ST_Length を使用してその経路の長さ (メートル単位) を調べ、結果として 1361967.76789 を返します。
SELECT NEW ST_LineString( 'LineString( -63.573566 44.646244, -80.522372
43.465187 )', 4326 )
.ST_Length()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
89
次の例では、SpatialShapes テーブルの曲線の長さを返します。長さは直交座標の単位で返されます。
SELECT ShapeID, TREAT( Shape AS ST_Curve ).ST_Length()
FROM SpatialShapes WHERE Shape IS OF ( ST_Curve )
次の例では、線ストリングと測定単位の例 (example_unit_halfmetre) を作成します。ST_Length メソッドは、この測
定単位でジオメトリの長さを検索し、値 4.0 を返します。
BEGIN
DECLARE @curve ST_Curve;
CREATE SPATIAL UNIT OF MEASURE IF NOT EXISTS "example_unit_halfmetre"
TYPE LINEAR CONVERT USING .5;
SET @curve = NEW ST_LineString( 'LineString(1 0, 1 1, 2 1)' ) ;
SELECT @curve.ST_Length('example_unit_halfmetre');
END
4.1.3.6
ST_StartPoint メソッド
開始ポイントである ST_Point 値を返します。
注記
ST_StartPoint では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
構文
<curve-expression>.ST_StartPoint()
戻り値
ST_Point
曲線が空のセットの場合は、NULL を返します。それ以外の場合は、曲線の開始ポイントを返します。
結果の空間参照系識別子は、<curve-expression> の空間参照系と同じです。
90
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.1.3
例
例
次の例では、結果として Point (0 0) を返します。
SELECT NEW ST_LineString( 'LineString(0 0, 5 5, 5 10)' ).ST_StartPoint()
4.1.4 ST_CurvePolygon タイプ
ST_CurvePolygon は、1 つの外部リングと 0 個以上の内部リングで定義された平面を表します。
直接のスーパータイプ
● ST_Surface クラス [386 ページ]
直接のサブタイプ
● ST_Polygon タイプ [364 ページ]
コンストラクタ
● ST_CurvePolygon コンストラクタ [92 ページ]
メソッド
● ST_CurvePolygon のメソッド:
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
91
表 21:
ST_CurvePolyToPoly [99
ST_ExteriorRing [101 ペー
ST_InteriorRingN [103 ペー
ST_NumInteriorRing [104
ページ]
ジ]
ジ]
ページ]
● ST_Surface [386 ページ] のすべてのメソッド
● ST_Geometry [115 ページ] のすべてのメソッド
備考
ST_CurvePolygon は、1 つの外部リングと、面の穴を表す 0 個以上の内部リングで定義された平面を表します。
ST_CurvePolygon の外部リングと内部リングは、任意の ST_Curve 値にすることができます。たとえば、円は、境界を表
す ST_CircularString 外部リングを含む ST_CurvePolygon です。ST_CurvePolygon 内の 2 つのリングは、1 つのポイ
ント以外で交差しないようにする必要があります。さらに、ST_CurvePolygon には、切断線、突起、または陥没を含めな
いようにしてください。
すべての ST_CurvePolygon の内部は、接続されたポイント集合です。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2
4.1.4.1
ST_CurvePolygon コンストラクタ
曲線多角形を構成します。
オーバロードリスト
表 22:
名前
説明
ST_CurvePolygon() [93 ページ]
空のセットを表す曲線多角形を構成します。
ST_CurvePolygon(LONG VARCHAR[, INT]) [94 ページ]
テキスト表現から曲線多角形を構成します。
ST_CurvePolygon(LONG BINARY[, INT]) [95 ページ]
Well Known Binary (WKB) から曲線多角形を構成します。
92
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
説明
ST_CurvePolygon(ST_Curve,...) [97 ページ]
外部リングを表す曲線と、内部リングを表す曲線のリスト (指定し
た空間参照系内のすべて) から曲線多角形を作成します。
ST_CurvePolygon(ST_MultiCurve[, VARCHAR(128)]) [98
外部リングを含む複数曲線と、内部リングのオプションリストから
ページ]
曲線多角形を作成します。
4.1.4.1.1
ST_CurvePolygon() コンストラクタ
空のセットを表す曲線多角形を構成します。
構文
構文
NEW ST_CurvePolygon()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_CurvePolygon().ST_IsEmpty()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
93
4.1.4.1.2
ST_CurvePolygon(LONG VARCHAR[, INT]) コンスト
ラクタ
テキスト表現から曲線多角形を構成します。
構文
構文
NEW ST_CurvePolygon(<text-representation>[, <srid>])
パラメータ
表 23:
名前
タイプ
text-representation
LONG VARCHAR
説明
曲線多角形のテキスト表現を含む文字列。
入力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から曲線多角形を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判
断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.2
94
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、CurvePolygon (CompoundCurve (CircularString (-5 -5, 0 -5, 5 -5), (5 -5, 0 5, -5 -5))) を返します。
SELECT NEW ST_CurvePolygon('CurvePolygon (CompoundCurve (CircularString (-5
-5, 0 -5, 5 -5), (5 -5, 0 5, -5 -5)))')
次の例は、外部リングの円と三角形の内部リングを含む曲線多角形を示します。
SELECT NEW ST_CurvePolygon('CurvePolygon ( CircularString (2 0, 5 3, 2 0), (3
1, 4 2, 5 1, 3 1) )') cpoly
4.1.4.1.3
ST_CurvePolygon(LONG BINARY[, INT]) コンストラ
クタ
Well Known Binary (WKB) から曲線多角形を構成します。
構文
構文
NEW ST_CurvePolygon(<wkb>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
95
パラメータ
表 24:
名前
タイプ
説明
wkb
LONG BINARY
曲線多角形のバイナリ表現を含む文字列。
入力には、Well Known Binary (WKB) や
拡張 Well Know Binary (EWKB) など、サ
ポートされている任意のバイナリ入力フォ
ーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から曲線多角形を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマ
ットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.2
例
例
次の例では、CurvePolygon (CircularString (0 0, 10 0, 10 10, 0 10, 0 0)) を返します。
SELECT NEW
ST_CurvePolygon(0x010a000000010000000108000000050000000000000000000000000000000
0000000000000000000244000000000000000000000000000002440000000000000244000000000
00000000000000000000244000000000000000000000000000000000)
96
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.4.1.4
ST_CurvePolygon(ST_Curve,...) コンストラクタ
外部リングを表す曲線と、内部リングを表す曲線のリスト (指定した空間参照系内のすべて) から曲線多角形を作成しま
す。
構文
構文
NEW ST_CurvePolygon(<exterior-ring>[,<interior-ring1>,...,<interior-ringN>])
パラメータ
表 25:
名前
タイプ
説明
exterior-ring
ST_Curve
曲線多角形の外部リング
interior-ring1,...,interior-ringN
ST_Curve
曲線多角形の内部リング
備考
外部リングを表す曲線と、内部リングを表す曲線のリスト (空の可能性もある) から曲線多角形を作成します。指定するす
べてのリングの SRID を同じにしてください。多角形は、この共通 SRID を使用して作成されます。指定するすべてのリン
グが空ではなく、Is3D と IsMeasured に対して同じ回答を示す必要があります。すべてのポイントが 3D の場合に多角形
も 3D になり、すべてのポイントが測定される場合に多角形も測定されます。
注記
ST_CurvePolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
内部リングの可変長リストを指定する機能はベンダー拡張です。
SQL/MM (ISO/IEC 13249-3:2006)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
97
8.2.2
例
例
次の例では、CurvePolygon ((-5 -1, 5 -1, 0 9, -5 -1), CircularString (-2 2, -2 4, 2 4, 2 2, -2 2)) (円孔のある三角
形) を返します。
SELECT NEW ST_CurvePolygon(
NEW ST_LineString ('LineString (-5 -1, 5 -1, 0 9, -5 -1)'),
NEW ST_CircularString ('CircularString (-2 2, -2 4, 2 4, 2 2, -2 2)'))
4.1.4.1.5
ST_CurvePolygon(ST_MultiCurve[,
VARCHAR(128)]) コンストラクタ
外部リングを含む複数曲線と、内部リングのオプションリストから曲線多角形を作成します。
構文
構文
NEW ST_CurvePolygon(<multi-curve>[, <polygon-format>])
パラメータ
表 26:
名前
タイプ
説明
multi-curve
ST_MultiCurve
外部リングと (オプションの) 一連の内部リ
ングを含む複数曲線値。
polygon-format
VARCHAR(128)
指定した曲線を解釈するときに使用する多
角形フォーマットの文字列。有効なフォーマ
ットは、'CounterClockwise'、
'Clockwise'、'EvenOdd' です。
98
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
外部リングを含む複数曲線と、内部リングのオプションリストから曲線多角形を作成します。
<polygon-format> パラメータを指定すると、リングが外部リングと内部リングのいずれであるかを判断するためにサ
ーバで使用されるアルゴリズムが選択されます。指定しない場合は、空間参照系の多角形フォーマットが使用されます。
多角形フォーマットの詳細については、POLYGON FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照
してください。
注記
ST_CurvePolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として CurvePolygon (CircularString (-2 0, 1 -3, 4 0, 1 3, -2 0), (0 0,
1 1, 2 0, 0 0)) (三角孔のある円形の曲線多角形) を返します。
SELECT NEW ST_CurvePolygon( NEW ST_MultiCurve(
'MultiCurve(CircularString( -2 0, 4 0, -2 0 ),(0 0, 2 0, 1 1, 0 0 ))' ) )
4.1.4.2
ST_CurvePolyToPoly メソッド
曲線多角形の補間近似値を多角形として返します。
構文
構文
<curvepolygon-expression>.ST_CurvePolyToPoly()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
99
戻り値
ST_Polygon
<curvepolygon-expression> の補間近似値を多角形として返します。
結果の空間参照系識別子は、<curvepolygon-expression> の空間参照系と同じです。
備考
<curvepolygon-expression> が空の場合は、ST_CurvePolyToPoly メソッドは ST_Polygon タイプの空のセットを
返します。それ以外の場合は、ST_CurvePolyToPoly は、<curvepolygon-expression> に指定された線形リング
を含む 1 つの多角形を、<curvepolygon-expression>に円ストリングまたは複合曲線リングがある場合には、その
補間近似値と結合した形で返します。
注記
ST_CurvePolyToPoly では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以
外の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE
FORMAT 句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.7
例
例
次の例では、結果として Polygon ((0 0, 2 0, 1 2, 0 0)) (元の多角形のコピー) を返します。
SELECT TREAT( Shape AS ST_Polygon ).ST_CurvePolyToPoly()
FROM SpatialShapes WHERE ShapeID = 16
次の例では、結果として Polygon ((0 0, 5 0, 5 10, 0 0)) (同等の多角形に変換された曲線多角形) を返
します。
SELECT NEW ST_CurvePolygon( 'CurvePolygon(CompoundCurve((0 0, 5 10, 5 0, 0
0)))' )
.ST_CurvePolyToPoly()
次の例では、元の曲線多角形に近似する、補間された多角形を返します。
SELECT TREAT( Shape AS ST_CurvePolygon ).ST_CurvePolyToPoly()
FROM SpatialShapes WHERE ShapeId = 24
100
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.4.3
ST_ExteriorRing メソッド
外部リングを取り出したり、変更したりします。
オーバロードリスト
表 27:
名前
説明
ST_ExteriorRing() [101 ページ]
曲線多角形の外部リングを返します。
ST_ExteriorRing(ST_Curve) [102 ページ]
曲線多角形の外部リングを変更します。
4.1.4.3.1
ST_CurvePolygon タイプの ST_ExteriorRing() メソッ
ド
曲線多角形の外部リングを返します。
注記
ST_ExteriorRing では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
構文
<curvepolygon-expression>.ST_ExteriorRing()
戻り値
ST_Curve
外部リングを返します。
結果の空間参照系識別子は、<curvepolygon-expression> の空間参照系と同じです。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
101
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.3
例
例
次の例では、結果として CircularString (2 0, 5 0, 5 3, 2 3, 2 0) を返します。
SELECT NEW ST_CurvePolygon('CurvePolygon ( CircularString (2 0, 5 3, 2 0), (3
1, 4 2, 5 1, 3 1) )')
.ST_ExteriorRing()
4.1.4.3.2
ST_CurvePolygon タイプの
ST_ExteriorRing(ST_Curve) メソッド
曲線多角形の外部リングを変更します。
注記
ST_ExteriorRing では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
構文
<curvepolygon-expression>.ST_ExteriorRing(<exterior-ring>)
パラメータ
表 28:
名前
タイプ
説明
exterior-ring
ST_Curve
新しい外部リング値。
102
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
ST_CurvePolygon
外部リングが指定した値に変更された曲線多角形値のコピーを返します。
結果の空間参照系識別子は、<curvepolygon-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.3
例
例
次の例では、結果として CurvePolygon (CircularString (2 0, 6 1, 5 5, 1 4, 2 0), (3 1, 4
2, 5 1, 3 1)) を返します。
SELECT NEW ST_CurvePolygon('CurvePolygon ( CircularString (2 0, 5 3, 2 0), (3
1, 4 2, 5 1, 3 1) )')
.ST_ExteriorRing( NEW ST_CircularString( 'CircularString (2 0, 5
5, 2 0)' ) )
4.1.4.4
ST_InteriorRingN メソッド
曲線多角形の <n> 番目の内部リングを返します。
注記
ST_InteriorRingN では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
構文
構文
<curvepolygon-expression>.ST_InteriorRingN(<n>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
103
パラメータ
表 29:
名前
タイプ
説明
n
INT
返す要素の位置 (1 ~ <curvepolygonexpression>.ST_NumInteriorRing())
。
戻り値
ST_Curve
曲線多角形の <varname translate="no">n</varname> 番目の内部リングを返します。
結果の空間参照系識別子は、<curvepolygon-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.6
例
例
次の例では、結果として LineString (3 1, 4 2, 5 1, 3 1) を返します。
SELECT NEW ST_CurvePolygon('CurvePolygon ( CircularString (2 0, 5 3, 2 0), (3
1, 4 2, 5 1, 3 1) )')
.ST_InteriorRingN( 1 )
4.1.4.5
ST_NumInteriorRing メソッド
曲線多角形の内部リング数を返します。
注記
ST_NumInteriorRing では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
104
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
構文
構文
<curvepolygon-expression>.ST_NumInteriorRing()
戻り値
INT
曲線多角形の内部リング数を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.5
例
例
次の例では、結果として 1 を返します。
SELECT NEW ST_CurvePolygon('CurvePolygon ( CircularString (2 0, 5 3, 2 0), (3
1, 4 2, 5 1, 3 1) )')
.ST_NumInteriorRing()
4.1.5 ST_GeomCollection タイプ
ST_GeomCollection は、0 個以上の ST_Geometry 値のコレクションです。
直接のスーパータイプ
● ST_Geometry クラス [115 ページ]
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
105
直接のサブタイプ
● ST_MultiCurve タイプ [298 ページ]
● ST_MultiPoint タイプ [315 ページ]
● ST_MultiSurface タイプ [330 ページ]
コンストラクタ
● ST_GeomCollection コンストラクタ [107 ページ]
メソッド
● ST_GeomCollection のメソッド:
表 30:
ST_GeomCollectionAggr
ST_GeometryN [113 ペー
ST_NumGeometries [114
[112 ページ]
ジ]
ページ]
● ST_Geometry [115 ページ] のすべてのメソッド
備考
ST_GeomCollection は、0 個以上の ST_Geometry 値のコレクションです。すべての値がコレクションの値と同じ空間参
照系にあります。ST_GeomCollection タイプには、異なるオブジェクトのコレクション (たとえば、ポイント、線、多角形) を
含めることができます。ST_GeomCollection のサブタイプを使用して、コレクションを特定のジオメトリタイプに制限できま
す。
ジオメトリコレクション値の次元はその構成要素の最大次元です。
すべての構成要素が単純であり、2 つの構成要素ジオメトリがそれぞれの境界以外で交差しない場合、そのジオメトリコ
レクションは単純です。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1
106
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.5.1
ST_GeomCollection コンストラクタ
ジオメトリコレクションを構成します。
オーバロードリスト
表 31:
名前
説明
ST_GeomCollection() [107 ページ]
空のセットを表すジオメトリコレクションを構成します。
ST_GeomCollection(LONG VARCHAR[, INT]) [108 ページ]
テキスト表現からジオメトリコレクションを構成します。
ST_GeomCollection(LONG BINARY[, INT]) [109 ページ]
Well Known Binary (WKB) からジオメトリコレクションを構成しま
す。
ST_GeomCollection(ST_Geometry,...) [110 ページ]
4.1.5.1.1
ジオメトリ値のリストからジオメトリコレクションを構成します。
ST_GeomCollection() コンストラクタ
空のセットを表すジオメトリコレクションを構成します。
構文
構文
NEW ST_GeomCollection()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
107
例
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_GeomCollection().ST_IsEmpty()
4.1.5.1.2
ST_GeomCollection(LONG VARCHAR[, INT]) コン
ストラクタ
テキスト表現からジオメトリコレクションを構成します。
構文
構文
NEW ST_GeomCollection(<text-representation>[, <srid>])
パラメータ
表 32:
名前
タイプ
説明
text-representation
LONG VARCHAR
ジオメトリコレクションのテキスト表現を含む
文字列。入力には、Well Know Text
(WKT) や拡張 Well Know Text (EWKT)
など、サポートされている任意のテキスト入
力フォーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現からジオメトリコレクションを構成します。データベースサーバでは、指定された文字列を検査して入力フォー
マットを判断します。
108
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1.2
例
例
次の例では、GeometryCollection (CircularString (5 10, 10 12, 15 10), Polygon ((10 -5, 15 5, 5 5, 10 -5))) を返し
ます。
SELECT NEW ST_GeomCollection('GeometryCollection (CircularString (5 10, 10 12,
15 10), Polygon ((10 -5, 15 5, 5 5, 10 -5)))')
4.1.5.1.3
ST_GeomCollection(LONG BINARY[, INT]) コンスト
ラクタ
Well Known Binary (WKB) からジオメトリコレクションを構成します。
構文
構文
NEW ST_GeomCollection(<wkb>[, <srid>])
パラメータ
表 33:
名前
タイプ
説明
wkb
LONG BINARY
ジオメトリコレクションのバイナリ表現を含
む文字列。入力には、Well Known Binary
(WKB) や拡張 Well Know Binary
(EWKB) など、サポートされている任意の
バイナリ入力フォーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
109
備考
バイナリ文字列表現からジオメトリコレクションを構成します。データベースサーバでは、指定された文字列を検査して入
力フォーマットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1.2
例
例
次の例では、GeometryCollection (Point (10 20)) を返します。
SELECT NEW
ST_GeomCollection(0x01070000000100000001010000000000000000002440000000000000344
0)
4.1.5.1.4
ST_GeomCollection(ST_Geometry,...) コンストラクタ
ジオメトリ値のリストからジオメトリコレクションを構成します。
構文
構文
NEW ST_GeomCollection(<geo1>[,<geo2>,...,<geoN>])
パラメータ
表 34:
名前
タイプ
説明
geo1
ST_Geometry
ジオメトリコレクションの最初のジオメトリ
値。
110
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
タイプ
説明
geo2,...,geoN
ST_Geometry
ジオメトリコレクションの追加のジオメトリ
値。
備考
ジオメトリ値のリストからジオメトリコレクションを構成します。指定するすべてのジオメトリ値の SRID を同じにしてくださ
い。ジオメトリコレクションは、この共通 SRID を使用して構成されます。
指定するすべてのジオメトリ値が Is3D と IsMeasured に対して同じ回答を示す必要があります。すべてのジオメトリ値が
3D の場合にジオメトリコレクションも 3D になり、すべてのジオメトリ値が測定される場合にジオメトリコレクションも測定さ
れます。
注記
ST_GeomCollection では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、1 つのポイント 'Point (1 2)' を含むジオメトリコレクションを返します。
SELECT NEW ST_GeomCollection( NEW ST_Point( 1.0, 2.0 ) )
次の例では、2 つのポイント 'Point (1 2)' および 'Point (3 4)' を含むジオメトリコレクションを返します。
SELECT NEW ST_GeomCollection( NEW ST_Point( 1.0, 2.0 ), NEW ST_Point( 3.0,
4.0 ) )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
111
4.1.5.2
ST_GeomCollectionAggr メソッド
グループ内のすべてのジオメトリを含むジオメトリコレクションを返します。
構文
構文
ST_GeomCollection::ST_GeomCollectionAggr(<geometry-column>[ ORDER BY <order-byexpression> [ ASC | DESC ], ... ] )
パラメータ
表 35:
名前
タイプ
geometry-column
ST_Geometry
説明
コレクションを生成するジオメトリ値。通常、
これはカラムです。
戻り値
ST_GeomCollection
グループ内のすべてのジオメトリを含むジオメトリコレクションを返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
備考
ST_GeomCollectionAggr 集合関数を使用して、ジオメトリのグループを 1 つのコレクションに結合することができます。
結合するすべてのジオメトリの SRID と座標次元の両方が同じになるようにします。
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の ST_GeomCollection の座標次元は、各ジオメトリの座標次元と同じになります。
ST_GeometryN から目的の順序で要素が返されるように、オプションの ORDER BY 句を使用して要素を特定の順序に
並べ替えることができます。この順序が意味を持たない場合は、順序を指定しない方が効率的です。その場合、要素の順
序は、クエリオプティマイザが選択したアクセスプランにより決定されます。
112
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
ST_GeomCollectionAggr は ST_UnionAggr より効率的ですが、ジオメトリのグループの中に重複するジオメトリが存在
する場合には、そのような重複を伴ったコレクションを返す可能性があります。特に、返されたコレクションに重複する面が
含まれている場合に、それが他の空間メソッドの入力値として使用されると、予期しない結果をもたらす場合があります。
ST_UnionAggr では、重複するジオメトリを処理できます。
注記
ST_GeomCollectionAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ
以外の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE
FORMAT 句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、SpatialShapes テーブルのすべてのジオメトリを 1 つのコレクションに結合した単一の値を返します。
SELECT ST_GeomCollection::ST_GeomCollectionAggr( Shape ) FROM SpatialShapes
WHERE Shape.ST_Is3D() = 0
4.1.5.3
ST_GeometryN メソッド
ジオメトリコレクションの <n> 番目のジオメトリを返します。
注記
ST_GeometryN では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
構文
構文
<geomcollection-expression>.ST_GeometryN(<n>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
113
パラメータ
表 36:
名前
タイプ
説明
n
INT
返す要素の位置 (1 ~
<geomcollectionexpression>.ST_NumGeometries())。
戻り値
ST_Geometry
ジオメトリコレクションの <varname translate="no">n</varname> 番目のジオメトリを返します。
結果の空間参照系識別子は、<geomcollection-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1.5
例
例
次の例では、結果として Polygon ((10 -5, 15 5, 5 5, 10 -5)) を返します。
SELECT NEW ST_GeomCollection('GeometryCollection (CircularString (5 10, 10 12,
15 10), Polygon ((10 -5, 15 5, 5 5, 10 -5)))')
.ST_GeometryN( 2 )
4.1.5.4
ST_NumGeometries メソッド
ジオメトリコレクションに含まれているジオメトリ数を返します。
注記
ST_NumGeometries では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
114
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
構文
構文
<geomcollection-expression>.ST_NumGeometries()
戻り値
INT
対象のコレクションに格納されているジオメトリ数を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1.4
例
例
次の例では、結果として 3 を返します。
SELECT NEW ST_MultiPoint('MultiPoint ((10 10), (12 12), (14 10))')
.ST_NumGeometries()
4.1.6 ST_Geometry タイプ
ST_Geometry タイプは、ジオメトリタイプ階層の最大のスーパータイプです。
直接のサブタイプ
● ST_Curve タイプ [82 ページ]
● ST_GeomCollection タイプ [105 ページ]
● ST_Point タイプ [343 ページ]
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
115
● ST_Surface タイプ [386 ページ]
メソッド
● ST_Geometry のメソッド:
表 37:
ST_Affine [118 ページ]
ST_AsBinary [120 ページ]
ST_AsGML [124 ページ]
ST_AsGeoJSON [128 ペー
ジ]
ST_AsKML [130 ページ]
ST_AsSVG [134 ページ]
ST_AsSVGAggr [138 ペー
ST_AsText [142 ページ]
ジ]
ST_AsWKB [151 ページ]
ST_Contains [166 ページ]
ST_ConvexHullAggr [171
ST_AsWKT [154 ページ]
ST_AsXML [157 ページ]
ST_ContainsFilter [168 ペ
ST_ConvexHull [169 ペー
ージ]
ジ]
ST_CoordDim [173 ページ]
ST_CoveredBy [175 ページ]
ページ]
ST_Covers [178 ページ]
ST_Boundary [165 ページ]
ST_CoveredByFilter [176
ページ]
ST_CoversFilter [179 ペー
ST_Crosses [181 ページ]
ST_Difference [183 ページ]
ジ]
ST_Dimension [184 ページ]
ST_Disjoint [186 ページ]
ST_Distance [187 ページ]
ST_Envelope [190 ページ]
ST_EnvelopeAggr [191 ペー
ST_Equals [192 ページ]
ST_EqualsFilter [194 ペー
ST_GeomFromBinary [195
ジ]
ページ]
ジ]
ST_GeomFromShape [197
ST_GeomFromText [198 ペ
ST_GeomFromWKB [199
ST_GeomFromWKT [200
ページ]
ージ]
ページ]
ページ]
ST_GeometryType [201 ペ
ST_GeometryTypeFromBas ST_Intersection [204 ペー
ST_IntersectionAggr [206
ージ]
eType [203 ページ]
ジ]
ページ]
ST_Is3D [212 ページ]
ST_Intersects [207 ページ]
ST_IsEmpty [213 ページ]
ST_IntersectsFilter [209 ペ
ST_IntersectsRect [210 ペ
ージ]
ージ]
ST_IsMeasured [214 ペー
ST_IsSimple [215 ページ]
ST_IsValid [216 ページ]
ジ]
ST_LatNorth [217 ページ]
ST_LoadConfigurationData
ST_LatSouth [218 ページ]
ST_LinearHash [219 ペー
ST_LinearUnHash [220 ペ
ジ]
ージ]
ST_LongEast [223 ページ]
ST_LongWest [224 ページ]
ST_MMax [225 ページ]
ST_OrderingEquals [227 ペ
ST_Overlaps [229 ページ]
ST_Relate [231 ページ]
ST_SRIDFromBaseType
ST_SnapToGrid [241 ペー
[240 ページ]
ジ]
ST_ToCompound [248 ペー
ST_ToCurve [249 ページ]
[222 ページ]
ST_MMin [226 ページ]
ージ]
ST_Reverse [236 ページ]
ST_SymDifference [245 ペ
ST_SRID [237 ページ]
ST_ToCircular [247 ページ]
ージ]
116
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
ジ]
管理: 空間データ
空間データへのアクセスとそのデータの操作
ST_ToCurvePoly [251 ペー
ST_ToGeomColl [252 ペー
ST_ToLineString [253 ペー
ST_ToMultiCurve [255 ペー
ジ]
ジ]
ジ]
ジ]
ST_ToMultiLine [256 ペー
ST_ToMultiPoint [258 ペー
ST_ToMultiPolygon [259 ペ
ST_ToMultiSurface [261 ペ
ジ]
ジ]
ージ]
ージ]
ST_ToPoint [262 ページ]
ST_ToPolygon [263 ページ]
ST_ToSurface [265 ページ]
ST_Touches [266 ページ]
ST_Transform [268 ページ]
ST_Union [269 ページ]
ST_UnionAggr [271 ページ]
ST_Within [272 ページ]
ST_WithinDistance [274 ペ
ST_WithinDistanceFilter
ST_WithinFilter [279 ペー
ST_XMax [281 ページ]
ージ]
[277 ページ]
ジ]
ST_XMin [282 ページ]
ST_YMax [284 ページ]
ST_YMin [285 ページ]
ST_ZMax [286 ページ]
ST_ZMin [288 ページ]
備考
ST_Geometry タイプは、ジオメトリタイプ階層の最大のスーパータイプです。ST_Geometry タイプでは、任意の空間値
に適用できるメソッドがサポートされています。ST_Geometry タイプはインスタンス化できません。代わりに、サブタイプを
インスタンス化してください。元のフォーマット (WKT または WKB) を使用する場合は、ST_GeomFromText/
ST_GeomFromWKB などのメソッドを使用して、値を元のフォーマットで表す具体的なタイプをインスタンス化できます。
ST_Geometry 値に含まれるすべての値が同じ空間参照系にあります。ST_SRID メソッドを使用して、値に関連付けられ
ている空間参照系を取り出したり、変更したりできます。
ST_Geometry タイプまたはそのサブタイプのカラムには、プライマリーキー、ユニークなインデックス、または一意性制約
を入れることはできません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
117
4.1.6.1
ST_Affine メソッド
指定した 3-D アフィン変換を適用した後の新しいジオメトリを返します。
構文
構文
<geometryexpression>.ST_Affine(<a00>,<a01>,<a02>,<a10>,<a11>,<a12>,<a20>,<a21>,<a22>,<xoff
>,<yoff>,<zoff>)
パラメータ
表 38:
名前
タイプ
説明
a00
DOUBLE
ロー 0、カラム 0 のアフィンマトリックス要
素
a01
DOUBLE
ロー 0、カラム 1 のアフィンマトリックス要素
a02
DOUBLE
ロー 0、カラム 2 のアフィンマトリックス要素
a10
DOUBLE
ロー 1、カラム 0 のアフィンマトリックス要素
a11
DOUBLE
ロー 1、カラム 1 のアフィンマトリックス要素
a12
DOUBLE
ロー 1、カラム 2 のアフィンマトリックス要素
a20
DOUBLE
ロー 2、カラム 0 のアフィンマトリックス要素
a21
DOUBLE
ロー 2、カラム 1 のアフィンマトリックス要素
a22
DOUBLE
ロー 2、カラム 2 のアフィンマトリックス要素
xoff
DOUBLE
平行移動の x オフセット
yoff
DOUBLE
平行移動の y オフセット
zoff
DOUBLE
平行移動の z オフセット
118
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
ST_Geometry
指定した変換を適用した後の新しいジオメトリを返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
アフィン変換では、回転、平行移動、スケーリングが 1 回のメソッド呼び出しでまとめて実行されます。アフィン変換は、マト
リックス乗算を使用して定義されます。
ポイント (x,y,z) の場合、結果 (x',y',z') は次のように計算されます。
/ x' ¥ / a00 a01 a02 xoff ¥ / x ¥ | y' | = | a10 a11 a12 yoff | * | y | | z' |
| a20 a21 a22 zoff | | z | ¥ w' / ¥ 0 0 0 1 / ¥ 1 /
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として LineString (5 6, 5 3, 9 3) を返します。X 値は 5 平行移動し、Y 値は -1 平行移動
します。
SELECT Shape.ST_Affine( 1,0,0, 0,1,0, 0,0,1, 5,-1,0 )
FROM SpatialShapes WHERE ShapeID = 5
次の例では、結果として LineString (.698833 6.965029, .399334 3.980017, 4.379351
3.580683) を返します。Shape は、Z 軸周りに 0.1 ラジアン (約 5.7 度) 回転します。
SELECT Shape.ST_Affine( cos(0.1),sin(0.1),0, -sin(0.1),cos(0.1),0, 0,0,1,
0,0,0 )
FROM SpatialShapes WHERE ShapeID = 5
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
119
4.1.6.2
ST_AsBinary メソッド
ST_Geometry 値の WKB 表現を返します。
構文
構文
<geometry-expression>.ST_AsBinary([ <format>])
パラメータ
表 39:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> をバイナリ
表現に変換するときに使用する出力バイナ
リフォーマットを定義する文字列。指定しな
い場合は、
st_geometry_asbinary_format オプショ
ンの値を使用してバイナリ表現を選択しま
す。
戻り値
LONG BINARY
<geometry-expression> の WKB 表現を返します。
備考
ST_AsBinary メソッドは、ジオメトリを表すバイナリ文字列を返します。さまざまなバイナリフォーマットが (関連付けられて
いるオプションとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択しま
す。<format> パラメータを指定しない場合は、st_geometry_asbinary_format オプションを使用して、使用する出力フ
ォーマットを選択します。
120
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'WKB' を使用します。
次のフォーマット名を使用できます。
WKB
SQL/MM と OGC で定義された Well-Known-Binary フォーマット
EWKB
PostGIS で定義された Extended-Well-Known-Binary フォーマット。このフォーマットには、ジオメトリの SRID が含
まれます。また、Z 値と M 値の表現方法が WKB と異なります。
次のフォーマットパラメータを指定できます。
表 40:
フォーマット名
パラメータ名
デフォルト値
WKB
バージョン
1.2
許容値
1.1
OGC SFS 1.1 で定
説明
version パラメータでは、
使用される WKB 仕様の
バージョンを制御します。
義された WKB。こ
のフォーマットに
は、Z 値と M 値は
含まれません。ジオ
メトリに Z 値または
M 値が含まれてい
る場合、それらの値
は出力では削除さ
れます。
1.2
OGC SFS 1.2 で定
義された WKB。こ
れは、バージョン
1.1 の 2D データに
適合し、Z 値と M
値をサポートするよ
うにフォーマットを拡
張します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
121
注記
サーバでは、ジオメトリ値を BINARY に変換するときに ST_AsBinary メソッドが使用されます。
st_geometry_asbinary_format オプションでは、変換に使用するフォーマットを定義します。
st_geometry_asbinary_format オプションを参照してください。
注記
ST_AsBinary では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。内部フォーマットと元のフォーマットの詳細については、STORAGE FORMAT
句、CREATE SPATIAL REFERENCE SYSTEM 文を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.37
例
例
st_geometry_asbinary_format オプションでデフォルト値の 'WKB' が使用される場合、次の例では結果として
0x01b90b0000000000000000f03f000000000000004000000000000008400000000000001040 を返し
ます。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsBinary()
st_geometry_asbinary_format オプションでデフォルト値の 'WKB' が使用される場合、次の例では結果として
0x01b90b0000000000000000f03f000000000000004000000000000008400000000000001040 を返し
ます。サーバでは、ジオメトリを BINARY に変換するときに ST_AsBinary メソッドが暗黙的に呼び出されます。
SELECT CAST( NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ) AS LONG BINARY)
次の例では、結果として 0x0101000000000000000000f03f0000000000000040 を返します。WKB の OGC
仕様のバージョン 1.1 では Z 値と M 値はサポートされていないため、これらの値は省略されます。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsBinary('WKB(Version=1.1;endian=little)')
次の例では、結果として
0x01010000e0e6100000000000000000f03f000000000000004000000000000008400000000000001
040 を返します。拡張 WKB には SRID が含まれています。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsBinary('EWKB(endian=little)')
次の例では、結果として 0x0101000000000000000000f03f0000000000000040 を返します。
SELECT NEW ST_Point( 1.0, 2.0 ).ST_AsWKB()
122
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.3
ST_AsBitmap メソッド
ジオメトリ値を表すビットマップである LONG VARBIT を返します。
構文
構文
<geometry-expression>.ST_AsBitmap(<x-pixels>,<y-pixels>,<pt-ll>,<pt-ur>[,
<format>])
パラメータ
表 41:
名前
タイプ
説明
x-pixels
INT
使用する水平ピクセル数
y-pixels
INT
使用する垂直ピクセル数
pt-ll
ST_Point
ビットマップの左下のポイント
pt-ur
ST_Point
ビットマップの右上のポイント
format
VARCHAR(128)
<geometry-expression> をビットマッ
プに変換するときに使用するパラメータを
定義する文字列。
戻り値
LONG VARBIT
ジオメトリのビットマップをエンコードする LONG VARBIT を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
123
4.1.6.4
ST_AsGML メソッド
ST_Geometry 値の GML 表現を返します。
構文
構文
<geometry-expression>.ST_AsGML([ <format>])
パラメータ
表 42:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> を GML 表
現に変換するときに使用するパラメータを
定義する文字列。指定しない場合、デフォ
ルトは 'GML' です。
戻り値
LONG VARCHAR
<geometry-expression> の GML 表現を返します。
備考
ST_AsGML メソッドは、ジオメトリを表す GML 文字列を返します。さまざまなフォーマットが (関連付けられているオプショ
ンとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択します。
<format> パラメータを指定しない場合、デフォルトは 'GML' です。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
124
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'GML' を使用します。
次のフォーマット名を使用できます。
GML
ISO 19136 と OGC で定義された Geography Markup Language フォーマット。
次のフォーマットパラメータを指定できます。
表 43:
フォーマット名
パラメータ名
デフォルト値
GML
ネームスペース
なし
許容値
local
説明
namespace パラメータ
では、ネームスペースの
出力フォーマット変換を
場合、ポイント) とそ 指定します。
指定した要素 (この
のサブ要素に対し
てデフォルトのネー
ムスペース属性を
設定します。
グローバル
指定した要素とその
サブ要素に対して
専用の (gml) プレ
フィクスを設定しま
す。これは、集約操
作の中でクエリを使
用し、ある最上位レ
ベルの要素で
"gml" プレフィクス
のネームスペース
が定義されるように
する場合に役立ち
ます。
なし
指定した要素 (この
場合、ポイント) とそ
のサブ要素に対し
てネームスペースも
プレフィクスも設定
しません。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
125
フォーマット名
パラメータ名
デフォルト値
GML
SRSNameFormat
short
許容値
説明
SRSNameFormat パラ
short
空間参照系名に短
いフォーマット (たと
メータでは、srsName 属
性のフォーマットを指定し
ます。
えば、EPSG:4326)
を使用します。
long
空間参照系名に長
いフォーマット (たと
えば、urn:xogc:def:crs:EPSG:
4326) を使用しま
す。
なし
ジオメトリに空間参
照系名の属性を含
めません。
GML
SRSDimension
N
Yes または No
SRSDimension パラメ
ータでは、指定したジオ
メトリの座標値の数を指
定します。これは
GML(version=3) にの
み適用されます。
GML
SRSFillAll
N
Yes または No
SRSFillAll パラメータで
は、SRS 属性を子ジオメ
トリ要素に伝達するかど
うかを指定します。たとえ
ば、複数ジオメトリや複
数多角形で属性を子ジ
オメトリに伝達します。
GML
UseDeprecated
N
Yes または No
UseDeprecated パラメ
ータは
GML(version=3) にの
み適用されます。このパ
ラメータは、可能な場合、
古い GML 表現を出力す
るために使用します。た
とえば、ジオメトリに円ス
トリングが含まれていな
い場合に、面を多角形と
して出力できます。
GML
属性
自動的に生成されるオプ 最上位レベルのジオメト
ション属性
リ要素に対してのみ、1
任意の有効な XML 属性
を指定できます。
つ以上の属性を指定で
きます。
126
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
GML
SubElement
自動的に生成される
GML サブ要素
最上位レベルのジオメト
リ要素に対してのみ、1
任意の有効な XML 要素
を指定できます。
つ以上のサブ要素を指
定できます。
注記
ST_AsGML では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.39
例
例
次の例では、結果として <Point srsName="EPSG:4326"><pos>1 2 3 4</pos></Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsGML()
次の例では、結果として <Point srsName="EPSG:4326"><coordinates>1,2</coordinates></
Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsGML('GML(Version=2)')
次の例では、結果として <gml:Point srsName="EPSG:4326"><gml:coordinates>1,2</
gml:coordinates></gml:Point> を返します。Namespace=global パラメータでは、指定した要素とそのサブ
要素に対して専用の (gml) プレフィクスを設定します。これは、集約操作の中でクエリを使用し、ある最上位レベルの
要素で "gml" プレフィクスのネームスペースが定義されるようにする場合に役立ちます。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsGML('GML(Version=2;Namespace=global)')
次の例では、結果として <Point srsName="EPSG:4326"><coordinates>1,2</coordinates></
Point> を返します。出力にネームスペース情報は含まれません。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsGML('GML(Version=2;Namespace=none)')
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
127
次の例では、結果として <Point srsName="http://www.opengis.net/gml/srs/
epsg.xml#4326"><coordinates>1,2</coordinates></Point> を返します。srsName 属性の long フォ
ーマットが使用されています。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsGML('GML(Version=2;Namespace=none;SRSNameFormat=long)')
次の例では、結果として <Point srsName="urn:x-ogc:def:crs:EPSG:4326"><pos>1 2 3 4</
pos></Point> を返します。srsName 属性の long フォーマットが使用され、バージョン 2 フォーマットとは異なるバ
ージョン 3 フォーマットが使用されています。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsGML('GML(Version=3;Namespace=none;SRSNameFormat=long)')
4.1.6.5
ST_AsGeoJSON メソッド
ジオメトリを JSON フォーマットで表す文字列を返します。
構文
構文
<geometry-expression>.ST_AsGeoJSON([ <format>])
パラメータ
表 44:
名前
タイプ
説明
format
VARCHAR(128)
GeoJSON の結果の生成方法を制御する
パラメータを定義する文字列。指定しない
場合、デフォルトは 'GeoJSON' です。
戻り値
LONG VARCHAR
<geometry-expression> の GeoJSON 表現を返します。
128
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
GeoJSON 標準では、JavaScript Object Notation (JSON) に基づく地理空間交換フォーマットが定義されています。こ
のフォーマットは Web ベースのアプリケーションに適しており、WKT や WKB よりも簡潔で解釈しやすくなっています。
GeoJSON フォーマット仕様
を参照してください。
ST_AsGeoJSON メソッドは、ジオメトリを表すテキスト文字列を返します。さまざまなテキストフォーマットが (関連付けら
れているオプションとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択
します。<format> パラメータを指定しない場合、デフォルトは 'GeoJSON' です。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'GeoJSON' を使用します。
次のフォーマット名を使用できます。
表 45:
フォーマット名
パラメータ名
デフォルト値
許容値
説明
GeoJSON
バージョン
1.0
1.0
準拠する GeoJSON 仕
様のバージョン。現時点
でサポートされているの
は 1.0 のみです。
注記
ST_AsGeoJSON では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
129
例
例
次の例では、結果として{"type":"Point", "coordinates":[1,2]} を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsGeoJSON()
次の例では、結果として{"type":"Point", "coordinates":[1,2]} を返します。
SELECT NEW ST_Point( 1.0, 2.0 ).ST_AsGeoJSON()
4.1.6.6
ST_AsKML メソッド
ST_Geometry 値の KML 表現を返します。
構文
構文
<geometry-expression>.ST_AsKML([ <format>])
パラメータ
表 46:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> を KML 表
現に変換するときに使用するパラメータを
定義する文字列。指定しない場合、デフォ
ルトは 'KML' です。
戻り値
LONG VARCHAR
<geometry-expression> の KML 表現を返します。
130
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ST_AsKML メソッドは、ジオメトリを表す KML 文字列を返します。さまざまなフォーマットが (関連付けられているオプショ
ンとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択します。
<format> パラメータを指定しない場合、デフォルトは 'KML' です。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'KML' を使用します。
次のフォーマット名を使用できます。
KML
OGC で定義された Keyhole Markup Language フォーマット。
次のフォーマットパラメータを指定できます。
表 47:
フォーマット名
パラメータ名
デフォルト値
許容値
説明
KML
バージョン
2
2
KML バージョン 2.2 が
サポートされています。
KML
属性
自動的に生成されるオプ 最上位レベルのジオメト
ション属性
リ要素に対してのみ、1
任意の有効な XML 属性
を指定できます。
つ以上の属性を指定で
きます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
131
フォーマット名
パラメータ名
デフォルト値
KML
ネームスペース
なし
許容値
説明
local
namespace パラメータ
指定したジオメトリ
では、ネームスペースの
出力フォーマット変換を
指定します。
要素 (この場合、ポ
イント) とそのサブ
要素に対してデフォ
ルトのネームスペー
ス属性 http://
www.opengis.net
/kml/2.2 を設定し
ます。
グローバル
指定した要素とその
サブ要素に対して
専用の (kml) プレ
フィクスを設定しま
す。これは、集約操
作の中でクエリを使
用し、ある最上位レ
ベルの要素で
"kml" プレフィクス
のネームスペース
が定義されるように
する場合に役立ち
ます。
なし
指定した要素 (この
場合、ポイント) とそ
のサブ要素に対し
てネームスペースも
プレフィクスも設定
しません。
KML
SubElement
自動的に生成される
KML サブ要素
最上位レベルのジオメト
リ要素に対してのみ、1
つ以上のサブ要素を指
定できます。
任意の有効な XML 要素
を指定できます。たとえ
ば、extrude、
tessellate、
altitudeMode の要素を
指定できます。
注記
ST_AsKML では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
132
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.39
例
例
次の例では、結果として <Point><coordinates>1,2,3,4</coordinates></Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsKML()
次の例では、結果として <Point><coordinates>1,2,3,4</coordinates></Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsKML('KML(Version=2)')
次の例では、結果として <kml:Point><kml:coordinates>1,2,3,4</kml:coordinates></
kml:Point> を返します。Namespace=global パラメータでは、指定した要素とそのサブ要素に対して専用の (kml)
プレフィクスを設定します。これは、集約操作の中でクエリを使用し、ある最上位レベルの要素で "kml" プレフィクスの
ネームスペースが定義されるようにする場合に役立ちます。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsKML('KML(Version=2;Namespace=global)')
次の例では、結果として <Point><coordinates>1,2,3,4</coordinates></Point> を返します。出力にネ
ームスペース情報は含まれません。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsKML('KML(Version=2;Namespace=none)')
次の例では、結果として <Point xmlns="http://www.opengis.net/kml/
2.2"><coordinates>1,2,3,4</coordinates></Point> を返します。デフォルトの xml ネームスペースが
使用されています。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsKML('KML(Version=2;Namespace=default)')
次の例では、結果として <Point><altitudeMode>absolute</
altitudeMode><coordinates>1,2,3,4</coordinates></Point> を返します。出力に AltitudeMode サ
ブ要素が含まれています。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsKML('SubElement=<altitudeMode>absolute</altitudeMode>')
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
133
4.1.6.7
ST_AsSVG メソッド
ジオメトリ値を表す SVG 図形を返します。
構文
構文
<geometry-expression>.ST_AsSVG([ <format>])
パラメータ
表 48:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> を SVG 表
現に変換するときに使用するパラメータを
定義する文字列。指定しない場合、デフォ
ルトは 'SVG' です。
戻り値
LONG VARCHAR
<geometry-expression> をレンダリングした完全または部分的な SVG ドキュメントを返します。
備考
ST_AsSVG メソッドは、SVG ビューアを使用してジオメトリをグラフィカルに表示するために使用できる完全または部分的
な SVG ドキュメントを返します。Microsoft Internet Explorer を除く主要な Web ブラウザのほとんどに、組み込みの
SVG ビューアが備えられています。
さまざまなオプションがサポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択しま
す。<format> パラメータを指定しない場合、デフォルトは 'SVG' です。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
134
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'SVG' を使用します。
次のフォーマット名を使用できます。
SVG
World Wide Web Consortium (W3C) で定義された Scalable Vector Graphics (SVG) 1.1 フォーマット。
次のフォーマットパラメータを指定できます。
表 49:
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
[概算]
可
Yes または No
Approximate パラメータ
では、表示する詳細を若
干減らして、出力 SVG ド
キュメントのサイズを縮
小するかどうかを指定し
ます。SVG データは、最
後のポイントの線の幅内
にあるポイントを除外す
ることで近似されます。
複数のメガバイトジオメト
リが存在する場合、これ
により圧縮率が 80 % 以
上になることがあります。
SVG
属性
自動的に生成されるオプ SVG シェイプ要素に適
ション属性
用できる 1 つ以上の
SVG 属性
デフォルトでは、fill、
stroke、stroke-width な
どのオプションの SVG シ
ェイプ属性が生成されま
す。Attributes パラメー
タを指定すると、オプショ
ンの SVG シェイプ属性
は生成されず、代わりに
Attribute 値が使用され
ます。
PathDataOnly=Yes を
指定している場合は無視
されます。Attribute 値
の最大長は 1000 バイト
です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
135
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
DecimalDigits
空間参照系の「グリッド
にスナップ」のグリッドサ
イズの小数点以下の桁
数に基づきます。デフォ
ルトの最大値は 5、最小
整数
DecimalDigits パラメー
タでは、SVG 出力に生
成される座標の小数点
以下の桁数を制限しま
す。負の桁数を指定する
と、SVG 出力での座標
値は 0。
の精度が完全なものに
なります。
SVG
PathDataOnly
No (完全な SVG ドキュ
Yes または No
メントが生成されます)
PathDataOnly パラメー
タでは、SVG パス要素の
データのみを生成するか
どうかを指定します。後
述の PathDataOnly の
例は、
PathDataOnly=Yes を
使用して、表示可能な完
全な SVG ドキュメントを
作成する方法を示しま
す。デフォルトでは、完全
な SVG ドキュメントが生
成されます。
PathDataOnly=Yes に
よって返されるパスデー
タを使用すると、テキスト
などの他の要素を含む、
より柔軟な SVG ドキュメ
ントを作成できます。
SVG
RandomFill
可
Yes または No
RandomFill パラメータ
では、ランダムに生成さ
れる色で多角形を塗りつ
ぶすかどうかを指定しま
す。使用される色の順序
は、明確に定義された順
序には従わず、通常、
SVG 出力を生成するた
びに変わります。No は、
各多角形のアウトライン
のみを描画することを示
します。Attribute または
PathDataOnly=Yes パ
ラメータを指定している
場合、RandomFill パラ
メータは無視されます。
136
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
Relative
可
Yes または No
Relative パラメータで
は、座標を相対 (オフセ
ット) フォーマットで出力
するか、絶対フォーマット
で出力するかを指定しま
す。相対座標データは、
一般に絶対座標データよ
りもコンパクトになりま
す。
注記
ST_AsSVG では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、ランダムな色で塗りつぶされた多角形を含む完全な SVG ドキュメントを返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' )
.ST_AsSVG()
次の例では、塗りつぶしなしの多角形を含む完全な SVG ドキュメントを返し、座標の小数点以下の桁数を 3 桁に制限
します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' )
.ST_AsSVG( 'RandomFill=No;DecimalDigits=3' )
次の例では、青で塗りつぶされた多角形を含み、最大精度の座標を使用した完全な SVG ドキュメントを返します。
SELECT Shape.ST_AsSVG( 'Attribute=fill="blue";DecimalDigits=-1' )
FROM SpatialShapes
次の例では、小数点以下の桁数が 5 桁に制限された相対座標の SVG パスデータから完全な SVG ドキュメントを返し
ます。
SELECT '<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg viewBox="-180 -90 360 180" xmlns="http://www.w3.org/2000/svg"
version="1.1">
<path fill="lightblue" stroke="black" stroke-width="0.1%" d="' ||
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
137
NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' )
.ST_AsSVG( 'PathDataOnly=Yes' ) ||
'"/></svg>'
次の例では、小数点以下の桁数が 7 桁に制限された絶対座標を使用して SVG パスデータを返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' )
.ST_AsSVG( 'PathDataOnly=Yes;Relative=No;DecimalDigits=7' )
4.1.6.8
ST_AsSVGAggr メソッド
グループ内のジオメトリをレンダリングした完全または部分的な SVG ドキュメントを返します。
構文
構文
ST_Geometry::ST_AsSVGAggr(<geometry-column>[ ORDER BY <order-by-expression>
[ ASC | DESC ], ... ] [, <format>])
パラメータ
表 50:
名前
タイプ
説明
geometry-column
ST_Geometry
SVG 図形に影響を与えるジオメトリ値。通
常、これはカラムです。
format
VARCHAR(128)
各ジオメトリ値を SVG 表現に変換するとき
に使用するパラメータを定義する文字列。
指定しない場合、デフォルトは 'SVG' です。
戻り値
LONG VARCHAR
グループ内のジオメトリをレンダリングした完全または部分的な SVG ドキュメントを返します。
138
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ST_AsSVGAggr メソッドは、SVG ビューアを使用してジオメトリのグループの論理和をグラフィカルに表示するために使
用できる完全または部分的な SVG ドキュメントを返します。Microsoft Internet Explorer を除く主要な Web ブラウザの
ほとんどに、組み込みの SVG ビューアが備えられています。
さまざまなオプションがサポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択しま
す。<format> パラメータを指定しない場合、デフォルトは 'SVG' です。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'SVG' を使用します。
次のフォーマット名を使用できます。
SVG
World Wide Web Consortium (W3C) で定義された Scalable Vector Graphics (SVG) 1.1 フォーマット。
次のフォーマットパラメータを指定できます。
表 51:
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
[概算]
可
Yes または No
Approximate パラメータ
では、表示する詳細を若
干減らして、出力 SVG ド
キュメントのサイズを縮
小するかどうかを指定し
ます。SVG データは、最
後のポイントの線の幅内
にあるポイントを除外す
ることで近似されます。
複数のメガバイトジオメト
リが存在する場合、これ
により圧縮率が 80 % 以
上になることがあります。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
139
フォーマット名
パラメータ名
デフォルト値
許容値
SVG
属性
自動的に生成されるオプ SVG シェイプ要素に適
ション属性
用できる 1 つ以上の
SVG 属性
説明
デフォルトでは、fill、
stroke、stroke-width な
どのオプションの SVG シ
ェイプ属性が生成されま
す。Attributes パラメー
タを指定すると、オプショ
ンの SVG シェイプ属性
は生成されず、代わりに
Attribute 値が使用され
ます。
PathDataOnly=Yes を
指定している場合は無視
されます。
SVG
DecimalDigits
空間参照系の「グリッド
整数
にスナップ」のグリッドサ
イズの小数点以下の桁
数に基づく。デフォルトの
最大値は 5、最小値は
0。
DecimalDigits パラメー
タでは、SVG 出力に生
成される座標の小数点
以下の桁数を制限しま
す。負の桁数を指定する
と、SVG 出力での座標
の精度が完全なものに
なります。
SVG
PathDataOnly
No (完全な SVG ドキュ
メントが生成される)
Yes または No
PathDataOnly パラメー
タでは、SVG パス要素の
データのみを生成するか
どうかを指定します。後
述の PathDataOnly の
例は、
PathDataOnly=Yes を
使用して、表示可能な完
全な SVG ドキュメントを
作成する方法を示しま
す。デフォルトでは、完全
な SVG ドキュメントが生
成されます。
PathDataOnly=Yes に
よって返されるパスデー
タを使用すると、テキスト
などの他の要素を含む、
より柔軟な SVG ドキュメ
ントを作成できます。
140
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
RandomFill
可
Yes または No
RandomFill パラメータ
では、ランダムに生成さ
れる色で多角形を塗りつ
ぶすかどうかを指定しま
す。使用される色の順序
は、明確に定義された順
序には従わず、通常、
SVG 出力を生成するた
びに変わります。No は、
各多角形のアウトライン
のみを描画することを示
します。Attribute または
PathDataOnly=Yes パ
ラメータを指定している
場合、RandomFill パラ
メータは無視されます。
SVG
Relative
可
Yes または No
Relative パラメータで
は、座標を相対 (オフセ
ット) フォーマットで出力
するか、絶対フォーマット
で出力するかを指定しま
す。相対座標データは、
一般に絶対座標データよ
りもコンパクトになりま
す。
ORDER BY 句を指定して、降順 (後ろから前へ) に表示されるジオメトリと重複するジオメトリの表示方法を制御できま
す。指定しない場合、ジオメトリの表示順序は、クエリオプティマイザによって選択された実行プランによって決まります。こ
の順序は、実行間で異なる場合があります。
注記
ST_AsSVGAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、ランダムな色で塗りつぶされた多角形を含む完全な SVG ドキュメントを返します。
SELECT ST_Geometry::ST_AsSVGAggr( Shape ) FROM SpatialShapes
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
141
次の例では、小数点以下の桁数が 5 桁に制限された相対座標の SVG パスデータから完全な SVG ドキュメントを返し
ます。
SELECT '<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg viewBox="-10 -10 20 12" xmlns="http://www.w3.org/2000/svg"
version="1.1">
<path fill="lightblue" stroke="black" stroke-width="0.1%" d="' ||
ST_Geometry::ST_AsSVGAggr( Shape, 'PathDataOnly=Yes' ) ||
'"/></svg>'
FROM SpatialShapes
次の文では、SpatialShapes テーブルのすべてのジオメトリがレンダリングされた完全な SVG ドキュメントを返す Web
サービスを作成します。-xs http オプションを指定してデータベースがを起動した場合は、SVG をサポートするブラウ
ザを使用して SVG を表示できます。表示するには、アドレス http://localhost/demo/svg_shapes にアクセスしま
す。この操作は、ブラウザとデータベースサーバが同じコンピュータにインストールされており、データベースの名前が
demo であることを想定しています。
CREATE SERVICE svg_shapes TYPE 'RAW' USER DBA AUTHORIZATION OFF
AS CALL svg_shapes();
CREATE PROCEDURE svg_shapes()
RESULT( svg LONG VARCHAR )
BEGIN
CALL sa_set_http_header( 'Content-type', 'image/svg+xml');
SELECT ST_Geometry::ST_AsSVGAggr( Shape ) FROM SpatialShapes;
END;
4.1.6.9
ST_AsText メソッド
ST_Geometry 値のテキスト表現を返します。
構文
構文
<geometry-expression>.ST_AsText([ <format>])
142
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 52:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> をテキスト表
現に変換するときに使用する出力テキスト
フォーマットを定義する文字列。指定しない
場合は、st_geometry_astext_format オ
プションを使用してテキスト表現を選択しま
す。
戻り値
LONG VARCHAR
<geometry-expression> のテキスト表現を返します。
備考
ST_AsText メソッドは、ジオメトリを表すテキスト文字列を返します。さまざまなテキストフォーマットが (関連付けられてい
るオプションとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択しま
す。<format> パラメータを指定しない場合は、st_geometry_astext_format オプションを使用して、使用する出力フォ
ーマットを選択します。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'WKT' を使用します。
次のフォーマット名を使用できます。
WKT
SQL/MM と OGC で定義された Well-Known-Text フォーマット。
EWKT
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
143
Extended-Well-Known-Text フォーマット。このフォーマットには、プレフィクスとしてジオメトリの SRID が含まれま
す。
GML
ISO 19136 と OGC で定義された Geography Markup Language フォーマット。
KML
OGC で定義された Keyhole Markup Language フォーマット。
GeoJSON
GeoJSON フォーマットでは、GeoJSON フォーマット仕様
で定義されている JavaScript Object Notation
(JSON) が使用されます。
SVG
World Wide Web Consortium (W3C) で定義された Scalable Vector Graphics (SVG) 1.1 フォーマット。
次のフォーマットパラメータを指定できます。
表 53:
フォーマット名
パラメータ名
デフォルト値
WKT
バージョン
1.2
許容値
説明
version パラメータでは、
1.1
OGC SFS 1.1 で定
使用される WKT 仕様の
バージョンを制御します。
義された WKT。こ
のフォーマットに
は、Z 値と M 値は
含まれません。ジオ
メトリに Z 値または
M 値が含まれてい
る場合、それらの値
は出力では削除さ
れます。
1.2
OGC SFS 1.2 で定
義された WKT。こ
れは、バージョン
1.1 の 2D データに
適合し、Z 値と M
値をサポートするよ
うにフォーマットを拡
張します。
PostGIS
いくつかの他のベン
ダーが使用している
WKT フォーマット。
OGC 1.2 とは異な
る方法で Z 値と M
値が含まれていま
す。
144
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
GML
バージョン
3
許容値
2
GML 仕様のバージ
説明
version パラメータでは、
使用される GML 仕様の
バージョンを制御します。
ョン 2。
3
GML 仕様のバージ
ョン 3.2。
GML
ネームスペース
なし
local
namespace パラメータ
では、ネームスペースの
出力フォーマット変換を
場合、ポイント) とそ 指定します。
指定した要素 (この
のサブ要素に対し
てデフォルトのネー
ムスペース属性を
設定します。
グローバル
指定した要素とその
サブ要素に対して
専用の (gml) プレ
フィクスを設定しま
す。これは、集約操
作の中でクエリを使
用し、ある最上位レ
ベルの要素で
"gml" プレフィクス
のネームスペース
が定義されるように
する場合に役立ち
ます。
なし
指定した要素 (この
場合、ポイント) とそ
のサブ要素に対し
てネームスペースも
プレフィクスも設定
しません。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
145
フォーマット名
パラメータ名
デフォルト値
GML
SRSNameFormat
short
許容値
説明
SRSNameFormat パラ
short
空間参照系名に短
いフォーマット (たと
メータでは、srsName 属
性のフォーマットを指定し
ます。
えば、EPSG:4326)
を使用します。
long
空間参照系名に長
いフォーマット (たと
えば、urn:xogc:def:crs:EPSG:
4326) を使用しま
す。
なし
ジオメトリに空間参
照系名の属性を含
めません。
GML
SRSDimension
N
Yes または No
SRSDimension パラメ
ータでは、指定したジオ
メトリの座標値の数を指
定します。これは
GML(version=3) にの
み適用されます。
GML
SRSFillAll
N
Yes または No
SRSFillAll パラメータで
は、SRS 属性を子ジオメ
トリ要素に伝達するかど
うかを指定します。たとえ
ば、複数ジオメトリや複
数多角形で属性を子ジ
オメトリに伝達します。
GML
UseDeprecated
N
Yes または No
UseDeprecated パラメ
ータは
GML(version=3) にの
み適用されます。このパ
ラメータは、可能な場合、
古い GML 表現を出力す
るために使用します。た
とえば、ジオメトリに円ス
トリングが含まれていな
い場合に、面を多角形と
して出力できます。
GML
属性
自動的に生成されるオプ 最上位レベルのジオメト
ション属性
リ要素に対してのみ、1
任意の有効な XML 属性
を指定できます。
つ以上の属性を指定で
きます。
146
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
GML
SubElement
自動的に生成される
GML サブ要素
最上位レベルのジオメト
リ要素に対してのみ、1
任意の有効な XML 要素
を指定できます。
つ以上のサブ要素を指
定できます。
KML
バージョン
2
2
KML バージョン 2.2 が
サポートされています。
KML
属性
自動的に生成されるオプ 最上位レベルのジオメト
ション属性
リ要素に対してのみ、1
任意の有効な XML 属性
を指定できます。
つ以上の属性を指定で
きます。
KML
ネームスペース
なし
local
namespace パラメータ
指定したジオメトリ
では、ネームスペースの
出力フォーマット変換を
指定します。
要素 (この場合、ポ
イント) とそのサブ
要素に対してデフォ
ルトのネームスペー
ス属性 http://
www.opengis.net
/kml/2.2 を設定し
ます。
グローバル
指定した要素とその
サブ要素に対して
専用の (kml) プレ
フィクスを設定しま
す。これは、集約操
作の中でクエリを使
用し、ある最上位レ
ベルの要素で
"kml" プレフィクス
のネームスペース
が定義されるように
する場合に役立ち
ます。
なし
指定した要素 (この
場合、ポイント) とそ
のサブ要素に対し
てネームスペースも
プレフィクスも設定
しません。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
147
フォーマット名
パラメータ名
デフォルト値
許容値
説明
KML
SubElement
自動的に生成される
KML サブ要素
最上位レベルのジオメト
リ要素に対してのみ、1
任意の有効な XML 要素
つ以上のサブ要素を指
定できます。
を指定できます。たとえ
ば、extrude、
tessellate、
altitudeMode の要素を
指定できます。
GeoJSON
バージョン
1
1
準拠する GeoJSON 仕
様のバージョン。現時点
でサポートされているの
は 1.0 のみです。
SVG
[概算]
可
Yes または No
Approximate パラメータ
では、表示する詳細を若
干減らして、出力 SVG ド
キュメントのサイズを縮
小するかどうかを指定し
ます。SVG データは、最
後のポイントの線の幅内
にあるポイントを除外す
ることで近似されます。
複数のメガバイトジオメト
リが存在する場合、これ
により圧縮率が 80 % 以
上になることがあります。
SVG
属性
自動的に生成されるオプ SVG シェイプ要素に適
ション属性
用できる 1 つ以上の
SVG 属性
デフォルトでは、fill、
stroke、stroke-width な
どのオプションの SVG シ
ェイプ属性が生成されま
す。Attributes パラメー
タを指定すると、オプショ
ンの SVG シェイプ属性
は生成されず、代わりに
Attribute 値が使用され
ます。
PathDataOnly=Yes を
指定している場合は無視
されます。Attribute 値
の最大長は 1000 バイト
です。
SVG
DecimalDigits
空間参照系の「グリッド
整数
にスナップ」のグリッドサ
イズの小数点以下の桁
数に基づく。デフォルトの
最大値は 5、最小値は
0。
DecimalDigits パラメー
タでは、SVG 出力に生
成される座標の小数点
以下の桁数を制限しま
す。負の桁数を指定する
と、SVG 出力での座標
の精度が完全なものに
なります。
148
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
PathDataOnly
No (完全な SVG ドキュ
Yes または No
PathDataOnly パラメー
メントが生成される)
タでは、SVG パス要素の
データのみを生成するか
どうかを指定します。後
述の PathDataOnly の
例は、
PathDataOnly=Yes を
使用して、表示可能な完
全な SVG ドキュメントを
作成する方法を示しま
す。デフォルトでは、完全
な SVG ドキュメントが生
成されます。
PathDataOnly=Yes に
よって返されるパスデー
タを使用すると、テキスト
などの他の要素を含む、
より柔軟な SVG ドキュメ
ントを作成できます。
SVG
RandomFill
可
Yes または No
RandomFill パラメータ
では、ランダムに生成さ
れる色で多角形を塗りつ
ぶすかどうかを指定しま
す。使用される色の順序
は、明確に定義された順
序には従わず、通常、
SVG 出力を生成するた
びに変わります。No は、
各多角形のアウトライン
のみを描画することを示
します。Attribute または
PathDataOnly=Yes パ
ラメータを指定している
場合、RandomFill パラ
メータは無視されます。
SVG
Relative
可
Yes または No
Relative パラメータで
は、座標を相対 (オフセ
ット) フォーマットで出力
するか、絶対フォーマット
で出力するかを指定しま
す。相対座標データは、
一般に絶対座標データよ
りもコンパクトになりま
す。
注記
サーバでは、ジオメトリ値を VARCHAR または NVARCHAR に変換するときに ST_AsText メソッドが使用されます。
st_geometry_astext_format オプションでは、変換に使用するフォーマットを定義します。
st_geometry_astext_format オプションを参照してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
149
注記
ST_AsText では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。内部フォーマットと元のフォーマットの詳細については、STORAGE FORMAT
句、CREATE SPATIAL REFERENCE SYSTEM 文を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.35
例
例
st_geometry_astext_format オプションの値が 'WKT' と仮定した場合、次の例では、結果として Point ZM (1 2
3 4) を返します。st_geometry_astext_format オプションを参照してください。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsText()
st_geometry_astext_format オプションの値が 'WKT' と仮定した場合、次の例では、結果として <codeph>Point
ZM (1 2 3 4)</codeph> を返します。ジオメトリを VARCHAR または NVARCHAR タイプに変換するときに
ST_AsText メソッドが暗黙的に呼び出されます。st_geometry_astext_format オプションを参照してください。
SELECT CAST( NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ) as long varchar)
次の例では、結果として Point (1 2) を返します。Z 値と M 値は、WKT の OGC 仕様のバージョン 1.1.0 ではサポ
ートされていないため、出力されません。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsText('WKT(Version=1.1)')
次の例では、結果として SRID=4326;Point ZM (1 2 3 4) を返します。結果には、プレフィクスとして SRID が
含まれています。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsText('EWKT')
次の例では、結果として <Point srsName="EPSG:4326"><pos>1 2 3 4</pos></Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsText('GML')
次の例では、'{"type":"Point", "coordinates":[1,2]} ' を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsText('GeoJSON')
次の例では、ランダムな色で塗りつぶされた多角形を含む完全な SVG ドキュメントを返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' )
.ST_AsText( 'SVG' )
150
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
次の例では、結果として Point (1 2) を返します。
SELECT NEW ST_Point( 1.0, 2.0 ).ST_AsText()
4.1.6.10 ST_AsWKB メソッド
ST_Geometry 値の WKB 表現を返します。
構文
構文
<geometry-expression>.ST_AsWKB([ <format>])
パラメータ
表 54:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> をバイナリ
に変換するときに使用する WKB フォーマ
ットを定義する文字列。指定しない場合、デ
フォルトは 'WKB' です。
戻り値
LONG BINARY
<geometry-expression> の WKB 表現を返します。
備考
ST_AsWKB メソッドは、ジオメトリを WKB フォーマットで表すバイナリ文字列を返します。さまざまなフォーマットが (関連
付けられているオプションとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマット
を選択します。<format> パラメータを指定しない場合、デフォルトは 'WKB' です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
151
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'WKB' を使用します。
次のフォーマット名を使用できます。
WKB
SQL/MM と OGC で定義された Well-Known-Binary フォーマット
EWKB
PostGIS で定義された Extended-Well-Known-Binary フォーマット。このフォーマットには、ジオメトリの SRID が含
まれます。また、Z 値と M 値の表現方法が WKB と異なります。
次のフォーマットパラメータを指定できます。
表 55:
フォーマット名
パラメータ名
デフォルト値
WKB
バージョン
1.2
許容値
説明
version パラメータでは、
1.1
OGC SFS 1.1 で定
使用される WKB 仕様の
バージョンを制御します。
義された WKB。こ
のフォーマットに
は、Z 値と M 値は
含まれません。ジオ
メトリに Z 値または
M 値が含まれてい
る場合、それらの値
は出力では削除さ
れます。
1.2
OGC SFS 1.2 で定
義された WKB。こ
れは、バージョン
1.1 の 2D データに
適合し、Z 値と M
値をサポートするよ
うにフォーマットを拡
張します。
152
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
注記
ST_AsWKB では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 0x0101000000000000000000f03f0000000000000040 を返します。
SELECT NEW ST_Point( 1.0, 2.0 ).ST_AsWKB()
次の例では、結果として
0x01b90b0000000000000000f03f000000000000004000000000000008400000000000001040 を返し
ます。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsWKB('endian=little')
次の例では、結果として 0x0101000000000000000000f03f0000000000000040 を返します。WKB の OGC
仕様のバージョン 1.1 では Z 値と M 値はサポートされていないため、これらの値は省略されます。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0,
4326 ).ST_AsWKB('WKB(Version=1.1;endian=little)')
次の例では、結果として
0x01010000e0e6100000000000000000f03f000000000000004000000000000008400000000000001
040 を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsWKB('EWKB(endian=little)')
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
153
4.1.6.11 ST_AsWKT メソッド
ST_Geometry 値の WKT 表現を返します。
構文
構文
<geometry-expression>.ST_AsWKT([ <format>])
パラメータ
表 56:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> を WKT に
変換するときに使用する出力テキストフォ
ーマットを定義する文字列。指定しない場
合、フォーマット文字列のデフォルトは
'WKT' です。
戻り値
LONG VARCHAR
<geometry-expression> の WKT 表現を返します。
備考
ST_AsWKT メソッドは、ジオメトリを表すテキスト文字列を返します。さまざまなテキストフォーマットが (関連付けられてい
るオプションとともに) サポートされており、オプションの <format> パラメータを使用して目的のフォーマットを選択しま
す。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
154
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'WKT' を使用します。
次のフォーマット名を使用できます。
WKT
SQL/MM と OGC で定義された Well-Known-Text フォーマット。
EWKT
PostGIS で定義された Extended-Well-Known-Text フォーマット。このフォーマットには、ジオメトリの SRID が含ま
れます。また、Z 値と M 値の表現方法が WKT と異なります。
次のフォーマットパラメータを指定できます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
155
表 57:
フォーマット名
パラメータ名
デフォルト値
WKT
バージョン
1.2
許容値
説明
version パラメータでは、
1.1
OGC SFS 1.1 で定
使用される WKT 仕様の
バージョンを制御します。
義された WKT。こ
のフォーマットに
は、Z 値と M 値は
含まれません。ジオ
メトリに Z 値または
M 値が含まれてい
る場合、それらの値
は出力では削除さ
れます。
1.2
OGC SFS 1.2 で定
義された WKT。こ
れは、バージョン
1.1 の 2D データに
適合し、Z 値と M
値をサポートするよ
うにフォーマットを拡
張します。
PostGIS
いくつかの他のベン
ダーが使用している
WKT フォーマット。
OGC 1.2 とは異な
る方法で Z 値と M
値が含まれていま
す。
注記
ST_AsWKT では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
156
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として SRID=0;Polygon ((3 3, 8 3, 4 8, 3 3)) を返します。
SELECT Shape.ST_AsWKT( 'EWKT' ) FROM SpatialShapes WHERE ShapeID = 22
次の例では、結果として Point (1 2) を返します。
SELECT NEW ST_Point( 1.0, 2.0 ).ST_AsWKT()
4.1.6.12 ST_AsXML メソッド
ST_Geometry 値の XML 表現を返します。
構文
構文
<geometry-expression>.ST_AsXML([ <format>])
パラメータ
表 58:
名前
タイプ
説明
format
VARCHAR(128)
<geometry-expression> を XML 表
現に変換するときに使用する出力テキスト
フォーマットを定義する文字列。指定しない
場合は、st_geometry_asxml_format オ
プションを使用して XML 表現を選択しま
す。
戻り値
LONG VARCHAR
<geometry-expression> の XML 表現を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
157
備考
ST_AsXML メソッドは、ジオメトリを表す XML 文字列を返します。サポートされている XML フォーマットは、GML、KML、
SVG です。<format> パラメータでは、XML への変換を制御するパラメータを指定します。<format> を指定しない場
合は、st_geometry_asxml_format オプションの値を使用して、出力フォーマットを選択します。
フォーマット文字列では、出力フォーマットとそのフォーマットに対するパラメータを定義します。フォーマット文字列のフォ
ーマットは次のいずれかです。
<format-name>
<format-name>(<parameter1>=<value1>;<parameter2>=<value2>;...)
<parameter1>=<value1>;<parameter2>=<value2>;...
最初のフォーマットでは、フォーマット名を指定し、パラメータは指定しません。すべてのフォーマットパラメータでデフォルト
値が使用されます。2 番目のフォーマットでは、フォーマット名と名前付きパラメータ値のリストを指定します。指定しないパ
ラメータでは、デフォルト値が使用されます。最後のフォーマットでは、パラメータ値のみを指定し、フォーマット名にはデフ
ォルトの 'GML' を使用します。
次のフォーマット名を使用できます。
GML
ISO 19136 と OGC で定義された Geography Markup Language フォーマット。
KML
OGC で定義された Keyhole Markup Language フォーマット。
SVG
World Wide Web Consortium (W3C) で定義された Scalable Vector Graphics (SVG) 1.1 フォーマット。
次のフォーマットパラメータを指定できます。
表 59:
フォーマット名
パラメータ名
デフォルト値
GML
バージョン
3
許容値
説明
version パラメータでは、
2
GML 仕様のバージ
使用される GML 仕様の
バージョンを制御します。
ョン 2。
3
GML 仕様のバージ
ョン 3.2。
158
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
GML
ネームスペース
なし
許容値
local
説明
namespace パラメータ
では、ネームスペースの
出力フォーマット変換を
場合、ポイント) とそ 指定します。
指定した要素 (この
のサブ要素に対し
てデフォルトのネー
ムスペース属性を
設定します。
グローバル
指定した要素とその
サブ要素に対して
専用の (gml) プレ
フィクスを設定しま
す。これは、集約操
作の中でクエリを使
用し、ある最上位レ
ベルの要素で
"gml" プレフィクス
のネームスペース
が定義されるように
する場合に役立ち
ます。
なし
指定した要素 (この
場合、ポイント) とそ
のサブ要素に対し
てネームスペースも
プレフィクスも設定
しません。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
159
フォーマット名
パラメータ名
デフォルト値
GML
SRSNameFormat
short
許容値
説明
SRSNameFormat パラ
short
空間参照系名に短
いフォーマット (たと
メータでは、srsName 属
性のフォーマットを指定し
ます。
えば、EPSG:4326)
を使用します。
long
空間参照系名に長
いフォーマット (たと
えば、urn:xogc:def:crs:EPSG:
4326) を使用しま
す。
なし
ジオメトリに空間参
照系名の属性を含
めません。
GML
SRSDimension
N
Yes または No
SRSDimension パラメ
ータでは、指定したジオ
メトリの座標値の数を指
定します。これは
GML(version=3) にの
み適用されます。
GML
SRSFillAll
N
Yes または No
SRSFillAll パラメータで
は、SRS 属性を子ジオメ
トリ要素に伝達するかど
うかを指定します。たとえ
ば、複数ジオメトリや複
数多角形で属性を子ジ
オメトリに伝達します。
GML
UseDeprecated
N
Yes または No
UseDeprecated パラメ
ータは
GML(version=3) にの
み適用されます。このパ
ラメータは、可能な場合、
古い GML 表現を出力す
るために使用します。た
とえば、ジオメトリに円ス
トリングが含まれていな
い場合に、面を多角形と
して出力できます。
GML
属性
自動的に生成されるオプ 最上位レベルのジオメト
ション属性
リ要素に対してのみ、1
任意の有効な XML 属性
を指定できます。
つ以上の属性を指定で
きます。
160
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
GML
SubElement
自動的に生成される
GML サブ要素
最上位レベルのジオメト
リ要素に対してのみ、1
任意の有効な XML 要素
を指定できます。
つ以上のサブ要素を指
定できます。
KML
バージョン
2
2
KML バージョン 2.2 が
サポートされています。
KML
属性
自動的に生成されるオプ 最上位レベルのジオメト
ション属性
リ要素に対してのみ、1
任意の有効な XML 属性
を指定できます。
つ以上の属性を指定で
きます。
KML
ネームスペース
なし
local
namespace パラメータ
指定したジオメトリ
では、ネームスペースの
出力フォーマット変換を
指定します。
要素 (この場合、ポ
イント) とそのサブ
要素に対してデフォ
ルトのネームスペー
ス属性 http://
www.opengis.net
/kml/2.2 を設定し
ます。
グローバル
指定した要素とその
サブ要素に対して
専用の (kml) プレ
フィクスを設定しま
す。これは、集約操
作の中でクエリを使
用し、ある最上位レ
ベルの要素で
"kml" プレフィクス
のネームスペース
が定義されるように
する場合に役立ち
ます。
なし
指定した要素 (この
場合、ポイント) とそ
のサブ要素に対し
てネームスペースも
プレフィクスも設定
しません。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
161
フォーマット名
パラメータ名
デフォルト値
許容値
説明
KML
SubElement
自動的に生成される
KML サブ要素
最上位レベルのジオメト
リ要素に対してのみ、1
任意の有効な XML 要素
つ以上のサブ要素を指
定できます。
を指定できます。たとえ
ば、extrude、
tessellate、
altitudeMode の要素を
指定できます。
SVG
[概算]
可
Yes または No
Approximate パラメータ
では、表示する詳細を若
干減らして、出力 SVG ド
キュメントのサイズを縮
小するかどうかを指定し
ます。SVG データは、最
後のポイントの線の幅内
にあるポイントを除外す
ることで近似されます。
複数のメガバイトジオメト
リが存在する場合、これ
により圧縮率が 80 % 以
上になることがあります。
SVG
属性
自動的に生成されるオプ SVG シェイプ要素に適
ション属性
用できる 1 つ以上の
SVG 属性
デフォルトでは、fill、
stroke、stroke-width な
どのオプションの SVG シ
ェイプ属性が生成されま
す。Attributes パラメー
タを指定すると、オプショ
ンの SVG シェイプ属性
は生成されず、代わりに
Attribute 値が使用され
ます。
PathDataOnly=Yes を
指定している場合は無視
されます。Attribute 値
の最大長は 1000 バイト
です。
SVG
DecimalDigits
空間参照系の「グリッド
整数
にスナップ」のグリッドサ
イズの小数点以下の桁
数に基づく。デフォルトの
最大値は 5、最小値は
0。
DecimalDigits パラメー
タでは、SVG 出力に生
成される座標の小数点
以下の桁数を制限しま
す。負の桁数を指定する
と、SVG 出力での座標
の精度が完全なものに
なります。
162
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
フォーマット名
パラメータ名
デフォルト値
許容値
説明
SVG
PathDataOnly
No (完全な SVG ドキュ
Yes または No
PathDataOnly パラメー
メントが生成される)
タでは、SVG パス要素の
データのみを生成するか
どうかを指定します。後
述の PathDataOnly の
例は、
PathDataOnly=Yes を
使用して、表示可能な完
全な SVG ドキュメントを
作成する方法を示しま
す。デフォルトでは、完全
な SVG ドキュメントが生
成されます。
PathDataOnly=Yes に
よって返されるパスデー
タを使用すると、テキスト
などの他の要素を含む、
より柔軟な SVG ドキュメ
ントを作成できます。
SVG
RandomFill
可
Yes または No
RandomFill パラメータ
では、ランダムに生成さ
れる色で多角形を塗りつ
ぶすかどうかを指定しま
す。使用される色の順序
は、明確に定義された順
序には従わず、通常、
SVG 出力を生成するた
びに変わります。No は、
各多角形のアウトライン
のみを描画することを示
します。Attribute または
PathDataOnly=Yes パ
ラメータを指定している
場合、RandomFill パラ
メータは無視されます。
SVG
Relative
可
Yes または No
Relative パラメータで
は、座標を相対 (オフセ
ット) フォーマットで出力
するか、絶対フォーマット
で出力するかを指定しま
す。相対座標データは、
一般に絶対座標データよ
りもコンパクトになりま
す。
注記
サーバでは、ジオメトリ値を XML に変換するときに ST_AsXML メソッドが使用されます。
st_geometry_asxml_format オプションでは、変換に使用するフォーマットを定義します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
163
注記
ST_AsXML では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
st_geometry_asxml_format オプションでデフォルト値の 'GML' が使用される場合、次の例では結果として <Point
srsName="EPSG:4326"><pos>1 2 3 4</pos></Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsXML()
st_geometry_asxml_format オプションでデフォルト値の 'GML' が使用される場合、次の例では結果として
<codeph><Point srsName="EPSG:4326"><pos>1 2 3 4</pos></Point></codeph> を返します。
SELECT CAST( NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ) AS XML)
次の例では、結果として <Point srsName="EPSG:4326"><coordinates>1,2</coordinates></
Point> を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0, 4326 ).ST_AsXML('GML(Version=2)')
次の例では、ランダムな色で塗りつぶされた多角形を含む完全な SVG ドキュメントを返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 20, 60 10, 0 0 ))' )
.ST_AsXML( 'SVG' )
164
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.13 ST_Boundary メソッド
ジオメトリ値の境界を返します。
構文
構文
<geometry-expression>.ST_Boundary()
戻り値
ST_Geometry
<geometry-expression> の境界を表すジオメトリ値を返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_Boundary メソッドは、<geometry-expression> の空間境界を返します。ジオメトリは、内部、境界、外部で特徴
付けられます。すべてのジオメトリ値がトポロジ的に閉じられたものとして定義されます。つまり、境界はジオメトリの一部と
見なされます。
ポイントジオメトリの境界は空です。曲線ジオメトリは閉じられていることもあり、その場合、境界は空になります。曲線が
閉じられていない場合、曲線の開始ポイントと終了ポイントによって境界が形成されます。面ジオメトリの場合、境界は面
のエッジを描く曲線のセットです。たとえば、多角形の場合、ジオメトリの境界は外部リングと内部リング (存在する場合)
で構成されます。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
165
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.14
例
例
次の例では、多角形と線ストリングを含むジオメトリコレクションを構成し、そのコレクションの境界を返します。返される
境界は、多角形の外部リングと、線ストリングの 2 つの終了ポイントを含むコレクションです。これは、コレクション
'GeometryCollection (LineString (0 0, 3 0, 3 3, 0 3, 0 0), MultiPoint ((0 7), (4
4)))' と同等です。
SELECT NEW ST_GeomCollection('GeometryCollection (Polygon ((0 0, 3 0, 3 3, 0
3, 0 0)), LineString (0 7, 0 4, 4 4))').ST_Boundary()
4.1.6.14 ST_Contains メソッド
ジオメトリ値に別のジオメトリ値が空間的に含まれているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Contains(<geo2>)
パラメータ
表 60:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
166
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
<geometry-expression> が <geo2> を含んでいる場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_Contains メソッドは、<geometry-expression> が完全に <geo2> を含んでいるか、また <geometryexpression> の内部に <geo2> の内部ポイントが 1 つ以上存在するかどうかをテストします。
<geometry-expression>.ST_Contains( <geo2> ) は、<geo2>.ST_Within( <geometry-expression> ) と同
義です。
ST_Contains メソッドと ST_Covers メソッドは似ています。相違点は、ST_Covers では内部ポイントの交差が不要であ
ることです。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.31
例
例
次の例では、多角形にポイントが含まれているかどうかをテストします。多角形にはポイントが完全に含まれ、ポイント
(ポイント自体) の内部が多角形の内部と交差しているため、1 が返されます。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' )
.ST_Contains( NEW ST_Point( 1, 1 ) )
次の例では、多角形に線が含まれているかどうかをテストします。多角形は完全に線を含んでいますが、線の内部と
多角形の内部は交差していない (線は多角形の境界でのみ多角形と交差し、その境界は内部に含まれていない) た
め、0 が返されます。ST_Contains の代わりに ST_Covers を使用した場合、ST_Covers は 1 を返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' )
.ST_Contains( NEW ST_LineString( 'LineString( 0 0, 1 0 )' ) )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
167
次の例では、指定した多角形に含まれている各 Shape ジオメトリの ShapeID をリストします。この例では、結果として
16,17,19 を返します。多角形は多角形の境界でローの Shape ポイントと交差しているため、ShapeID 1 はリストさ
れません。
SELECT LIST( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
WHERE NEW ST_Polygon( NEW ST_Point( 0, 0 ),
NEW ST_Point( 8, 2 ) ).ST_Contains( Shape ) = 1
4.1.6.15 ST_ContainsFilter メソッド
ジオメトリに別のジオメトリが含まれているかどうかの低コストのテスト。
構文
構文
<geometry-expression>.ST_ContainsFilter(<geo2>)
パラメータ
表 61:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> を含む可能性がある場合は 1 を返し、それ以外の場合は 0 を返します。
168
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ST_ContainsFilter メソッドは、一方のジオメトリにもう一方のジオメトリが含まれている可能性があるかどうかを調べる効
率的なテストを提供します。<varname translate="no">geometry-expression</varname> が <varname
translate="no">geo2</varname> を含む可能性がある場合は 1 を返し、それ以外の場合は 0 を返します。
このテストは ST_Contains よりも負荷は低いですが、<geometry-expression> が実際に <geo2> を含んでいない
場合でも 1 を返すことがあります。
そのため、このメソッドは、今後の処理でジオメトリの相互の影響が望ましいものであるかどうかを判断するときにプライマ
リフィルタとして使用できます。
ST_ContainsFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能なメタ
データはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で ST_ContainsFilter が使
用される場所に応じて決定される)、<geometry-expression> が <geo2> を含んでいない場合、式 <geometryexpression>.ST_ContainsFilter(<geo2>) は異なる結果を返すことがあります。<geometry-expression> に
<geo2> が含まれている場合、ST_ContainsFilter は常に 1 を返します。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.6.16 ST_ConvexHull メソッド
ジオメトリ値の凸包を返します。
構文
構文
<geometry-expression>.ST_ConvexHull()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
169
戻り値
ST_Geometry
ジオメトリ値が NULL または空の値の場合は、NULL を返します。それ以外の場合は、ジオメトリ値の凸包を返しま
す。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ジオメトリの凸包は、ジオメトリ内のすべてのポイントを含む最小の凸ジオメトリです。
凸包を思い浮かべるには、まず、ジオメトリ内のすべてのポイントを含むように引き伸ばしたゴムバンドを想像します。解放
すると、ゴムバンドは凸包の形になります。
ジオメトリが 1 つのポイントで構成される場合は、そのポイントが返されます。ジオメトリのすべてのポイントが 1 つの直線
セグメント上にある場合は、線ストリングが返されます。それ以外の場合は、凸多角形が返されます。
凸包は、元のジオメトリの近似値となります。空間関係をテストする場合、凸包は迅速な事前フィルタとして機能します。そ
れは、凸包との空間的共通部分が存在しない場合、元のジオメトリとの共通部分は存在しない可能性があるためです。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_ConvexHull は、円ストリングを含むジオメトリではサポートされていません。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.16
例
例
次の例は、10 個のポイントから計算された凸包を示します。結果の凸包は Polygon ((1 1, 7 2, 9 3, 6 9,
4 9, 1 5, 1 1)) です。
170
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
SELECT NEW ST_MultiPoint('MultiPoint( (1 1), (2 2), (5 3), (7 2), (9 3), (8
4), (6 6), (6 9), (4 9), (1 5) )').ST_ConvexHull()
次の例では、1 つのポイント (0,0) を返します。1 つのポイントの凸包はポイントです。
SELECT NEW ST_Point(0,0).ST_ConvexHull()
次の例では、結果として LineString (0 0, 3 3) を返します。1 つの直線の凸包は、1 つのセグメントを含む線ス
トリングです。
SELECT NEW ST_LineString('LineString(0 0,1 1,2 2,3 3)').ST_ConvexHull()
4.1.6.17 ST_ConvexHullAggr メソッド
グループ内のすべてのジオメトリの凸包を返します。
構文
構文
ST_Geometry::ST_ConvexHullAggr(<geometry-column>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
171
パラメータ
表 62:
名前
タイプ
説明
geometry-column
ST_Geometry
凸包を生成するジオメトリ値。通常、これは
カラムです。
戻り値
ST_Geometry
グループ内のすべてのジオメトリの凸包を返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
備考
ST_ConvexHullAggr メソッドは、計算に使用されるジオメトリのグループ内のすべてのポイントを考慮し、これらすべての
ポイントの凸包を返します。ジオメトリの凸包は、ジオメトリ内のすべてのポイントを含む最小の凸ジオメトリです。
凸包を思い浮かべるには、まず、ジオメトリ内のすべてのポイントを含むように引き伸ばしたゴムバンドを想像します。解放
すると、ゴムバンドは凸包の形になります。
グループ内のジオメトリが 1 つのポイントで構成される場合は、そのポイントが返されます。ジオメトリのグループのすべて
のポイントが 1 つの直線セグメント上にある場合は、線ストリングが返されます。それ以外の場合は、凸多角形が返されま
す。
凸包は、元のジオメトリの近似値となります。空間関係をテストする場合、凸包は迅速な事前フィルタとして機能します。そ
れは、凸包との空間的共通部分が存在しない場合、元のジオメトリとの共通部分は存在しない可能性があるためです。
注記
ST_ConvexHullAggr は、円ストリングを含むジオメトリではサポートされていません。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
172
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として Polygon ((3 0, 7 2, 3 6, 0 7, -3 6, -3 3, 0 0, 3 0)) を返します。
SELECT ST_Geometry::ST_ConvexHullAggr( Shape )
FROM SpatialShapes WHERE ShapeID <= 16
4.1.6.18 ST_CoordDim メソッド
ST_Geometry 値の各ポイントで格納されている座標次元の数を返します。
構文
構文
<geometry-expression>.ST_CoordDim()
戻り値
SMALLINT
ST_Geometry 値の各ポイントで格納されている座標次元の数を示す 2 ~ 4 の値を返します。
備考
ST_CoordDim メソッドは、ジオメトリの各ポイント内に格納されている座標の数を返します。すべてのジオメトリに少なくと
も 2 つの座標次元があります。地理的空間参照系の場合、これらの座標はポイントの緯度と経度です。他の空間参照系
の場合、これらの座標はポイントの X 位置と Y 位置です。
ジオメトリの各ポイントには、必要に応じて Z 値と M 値を関連付けることができます。これらの追加の座標値は、空間関
係や集合操作の計算時には考慮されませんが、追加情報を記録する目的で使用できます。たとえば、測定値 (M) を使用
して、ジオメトリ内のさまざまなポイントでの汚染を記録できます。Z 値は一般的に標高を示すために使用しますが、その
解釈はデータベースサーバによって強制されていません。
ST_CoordDim メソッドによって返される可能性のある値は次のとおりです。
2
ジオメトリには 2 つの座標だけ (緯度/経度または X/Y) が含まれます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
173
3
ジオメトリにはポイントごとに 1 つの追加座標 (Z または M のいずれか) が含まれます。
4
ジオメトリにはポイントごとに 2 つの追加座標 (Z と M の両方) が含まれます。
注記
集合操作によってジオメトリを結合する空間操作では、ジオメトリのポイントに関連付けられている Z 値も M 値も保持
されません。
注記
ST_CoordDim では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.3
例
例
次の例では、結果として 2 を返します。
SELECT NEW ST_Point(1.0, 1.0).ST_CoordDim()
次の例では、結果として 3 を返します。
SELECT NEW ST_Point(1.0, 1.0, 1.0, 0).ST_CoordDim()
次の例では、結果として 3 を返します。
SELECT NEW ST_Point('Point M (1 1 1)' ).ST_CoordDim()
次の例では、結果として 4 を返します。
SELECT NEW ST_Point('Point ZM (1 1 1 1)' ).ST_CoordDim()
174
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.19 ST_CoveredBy メソッド
ジオメトリ値が別のジオメトリ値に空間的に含まれているかどうかをテストします。
構文
構文
<geometry-expression>.ST_CoveredBy(<geo2>)
パラメータ
表 63:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> に <geo2> が含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_CoveredBy メソッドは、<geometry-expression> が <geo2> に完全に含まれているかどうかをテストします。
<geometry-expression>.ST_CoveredBy( <geo2> ) は、<geo2>.ST_Covers( <geometry-expression> ) と
同義です。
この述部は、1 つのわずかな違いを除いて、ST_Within と同じです。ST_Within 述部では、<geometry-expression>
の 1 つ以上の内部ポイントが <geo2> の内部にあることが必要となります。ST_CoveredBy() メソッドの場合、2 つのジ
オメトリの内部ポイントが交差しているかどうかに関係なく、<geo2> の外部に <geometry-expression> のポイント
がなければ、1 が返されます。ST_CoveredBy は、曲面の空間参照系のジオメトリで使用できます。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
175
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、ポイントが多角形に含まれているかどうかをテストします。ポイントは多角形に完全に含まれているため、
1 が返されます。
SELECT NEW ST_Point( 1, 1 )
.ST_CoveredBy( NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' ) )
次の例では、線が多角形に含まれているかどうかをテストします。線は多角形に完全に含まれているため、1 が返され
ます。ST_CoveredBy の代わりに ST_Within を使用した場合、ST_Within は 0 を返します。
SELECT NEW ST_LineString( 'LineString( 0 0, 1 0 )' )
.ST_CoveredBy( NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' ) )
次の例では、指定したポイントが Shape ジオメトリ内にある ShapeID をリストします。この例では、結果として 3,5,6
を返します。ポイントは多角形の境界でのみローの Shape 多角形と交差していますが、ShapeID 6 はリストされてい
ます。
SELECT LIST( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
WHERE NEW ST_Point( 1, 4 ).ST_CoveredBy( Shape ) = 1
4.1.6.20 ST_CoveredByFilter メソッド
ジオメトリが別のジオメトリに含まれているかどうかの低コストのテスト。
構文
構文
<geometry-expression>.ST_CoveredByFilter(<geo2>)
176
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 64:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> に含まれる可能性がある場合は 1 を返し、それ以外の場合は 0 を返しま
す。
備考
ST_CoveredByFilter メソッドは、一方のジオメトリがもう一方のジオメトリに含まれている可能性があるかどうかを調べる
効率的なテストを提供します。
このテストは ST_CoveredBy よりも負荷が低いですが、<geometry-expression> が実際に <geo2> に含まれてい
ない場合でも 1 を返すことがあります。
そのため、このメソッドは、今後の処理でジオメトリの相互の影響が望ましいものであるかどうかを判断するときにプライマ
リフィルタとして使用できます。
ST_CoveredByFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能なメ
タデータはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で ST_CoveredByFilter が
使用される場所に応じて決定される)、<geometry-expression> が <geo2> に含まれていない場合、式
<geometry-expression>.ST_CoveredByFilter(<geo2>) は異なる結果を返すことがあります。<geometryexpression> が <geo2> に含まれている場合、ST_CoveredByFilter は常に 1 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
177
4.1.6.21 ST_Covers メソッド
ジオメトリ値に別のジオメトリ値が空間的に含まれているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Covers(<geo2>)
パラメータ
表 65:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> に <geo2> が含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_Covers メソッドは、<geometry-expression> に <geo2> が完全に含まれているかどうかをテストします。
<geometry-expression>.ST_Covers( <geo2> ) は、<geo2>.ST_CoveredBy( <geometry-expression> ) と
同義です。
この述部は、1 つのわずかな違いを除いて、ST_Contains と同じです。ST_Contains 述部では、<geo2> の 1 つ以上の
内部ポイントが <geometry-expression> の内部にあることが必要となります。ST_Covers() メソッドの場合、
<geometry-expression> の外部に <geo2> のポイントがなければ、1 が返されます。また、ST_Covers は曲面の空
間参照系のジオメトリで使用できるのに対し、ST_Contains は使用できません。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
178
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、多角形にポイントが含まれているかどうかをテストします。多角形にポイントが完全に含まれているため、
1 が返されます。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' )
.ST_Covers( NEW ST_Point( 1, 1 ) )
次の例では、多角形に線が含まれているかどうかをテストします。多角形に線が完全に含まれているため、1 が返され
ます。ST_Covers の代わりに ST_Contains が使用された場合、ST_Contains は 0 を返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' )
.ST_Covers( NEW ST_LineString( 'LineString( 0 0, 1 0 )' ) )
次の例では、指定した多角形に含まれている各 Shape ジオメトリの ShapeID をリストします。この例では、結果として
1,16,17,19,26 を返します。多角形は多角形の境界でのみローの Shape ポイントと交差していますが、ShapeID 1
はリストされています。
SELECT LIST( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
WHERE NEW ST_Polygon( NEW ST_Point( 0, 0 ),
NEW ST_Point( 8, 2 ) ).ST_Covers( Shape ) = 1
4.1.6.22 ST_CoversFilter メソッド
ジオメトリに別のジオメトリが含まれているかどうかの低コストのテスト。
構文
構文
<geometry-expression>.ST_CoversFilter(<geo2>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
179
パラメータ
表 66:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> に <geo2> が含まれる可能性がある場合は 1 を返し、それ以外の場合は 0 を返しま
す。
備考
ST_CoversFilter メソッドは、一方のジオメトリにもう一方のジオメトリが含まれている可能性があるかどうかを調べる効率
的なテストを提供します。<varname translate="no">geometry-expression</varname> が <varname
translate="no">geo2</varname> を含む可能性がある場合は 1 を返し、それ以外の場合は 0 を返します。
このテストは ST_Covers よりも負荷は低いですが、<geometry-expression> に実際に <geo2> が含まれていない
場合でも 1 を返すことがあります。
そのため、このメソッドは、今後の処理でジオメトリの相互の影響が望ましいものであるかどうかを判断するときにプライマ
リフィルタとして使用できます。
ST_CoversFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能なメタデ
ータはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で ST_CoversFilter が使用され
る場所に応じて決定される)、<geometry-expression> に <geo2> が含まれていない場合、式 <geometryexpression>.ST_CoversFilter(<geo2>) は異なる結果を返すことがあります。<geometry-expression> に
<geo2>が含まれている場合、ST_CoversFilter は常に 1 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
180
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.23 ST_Crosses メソッド
ジオメトリ値が別のジオメトリ値と交差しているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Crosses(<geo2>)
パラメータ
表 67:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> と交差している場合は 1 を返し、それ以外の場合は 0 を返します。
<geometry-expression> が面または複数面の場合、あるいは <geo2> がポイントまたは複数ポイントの場合は
NULL を返します。
備考
ジオメトリ値が別のジオメトリ値と交差しているかどうかをテストします。
<geometry-expression> と <geo2> の両方が曲線または複数曲線の場合、それぞれの内部が 1 つ以上のポイント
で交差していれば、これらのジオメトリは相互に交差していることになります。交差によって曲線または複数曲線が生じる
場合、ジオメトリは交差していません。すべての交点が境界のポイントである場合、ジオメトリは交差していません。
<geometry-expression> の次元が <geo2>より低い場合、<geometry-expression> の一部が <geo2> の内
部にあり、<geometry-expression> の一部が <geo2> の外部にもあれば、<geometry-expression> は
<geo2> と交差しています。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
181
より厳密には、<geometry-expression>.ST_Crosses( <geo2> ) は、次の条件を満たす場合に 1 を返します。
( <geometry-expression>.ST_Dimension() = 1 AND <geo2>.ST_Dimension() = 1 AND
<geometry-expression>.ST_Relate( <geo2>, '0********' ) = 1 ) OR( <geometryexpression>.ST_Dimension() < <geo2>.ST_Dimension() AND <geometryexpression>.ST_Relate( <geo2>, 'T*T******' ) = 1 )
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.29
例
例
次の例では、結果として 1 を返します。
SELECT NEW ST_LineString( 'LineString( 0 0, 2 2 )' )
.ST_Crosses( NEW ST_LineString( 'LineString( 0 2, 2 0 )' ) )
次の例では、結果として 0 を返します。これは、2 つの線の内部が交差していない (最初の線ストリングの境界でのみ
交差している) ためです。
SELECT NEW ST_LineString( 'LineString( 0 1, 2 1 )' )
.ST_Crosses( NEW ST_LineString( 'LineString( 0 0, 2 0 )' ) )
次の例では、NULL を返します。これは、最初のジオメトリが面であるためです。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 0 1, 1 0, 0 0))' )
.ST_Crosses( NEW ST_LineString( 'LineString( 0 0, 2 0 )' ) )
182
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.24 ST_Difference メソッド
2 つのジオメトリの差集合を表すジオメトリ値を返します。
構文
構文
<geometry-expression>.ST_Difference(<geo2>)
パラメータ
表 68:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> から減算す
るもう一方のジオメトリ値。
戻り値
ST_Geometry
2 つのジオメトリの差集合を表すジオメトリ値を返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_Difference メソッドは、2 つのジオメトリの空間的差異を調べます。ポイントが結果に含まれるのは、それが
<geometry-expression> に存在し、<geo2> に存在しない場合です。
他の空間集合操作 (ST_Union、ST_Intersection、ST_SymDifference) と異なり、ST_Difference() メソッドは非対称
です。このメソッドは、 A.ST_Difference( B ) と B.ST_Difference( A ) に対して異なる回答を示すことがあ
ります。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
183
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.20
例
例
次の例は、正方形 (A) から円 (B) を削除した場合の差 (C) と円 (B) から正方形 (A) を削除した場合の差 (D) を示し
ます。
SELECT NEW ST_Polygon( 'Polygon( (-1 -0.25, 1 -0.25, 1 2.25, -1 2.25, -1
-0.25) )' ) AS A
, NEW ST_CurvePolygon( 'CurvePolygon( CircularString( 0 1, 1 2, 2 1, 1 0,
0 1 ) )' ) AS B
, A.ST_Difference( B ) AS C
, B.ST_Difference( A ) AS D
次の図は、差 C=A-B と D=B-A (図の網掛け部分) を示します。それぞれの差は、左項のジオメトリにあり、右項のジ
オメトリにはないすべてのポイントを含む 1 つの面です。
4.1.6.25 ST_Dimension メソッド
ST_Geometry 値の次元を返します。ポイントの次元は 0、線の次元は 1、面の次元は 2 です。空のジオメトリの次元は
-1 です。
構文
構文
<geometry-expression>.ST_Dimension()
184
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
SMALLINT
<geometry-expression> の次元を -1 ~ 2 の SMALLINT として返します。
備考
ST_Dimension メソッドは、ジオメトリが占めている空間次元を返します。次の値が返されます。
-1
ジオメトリは空のセットに対応します。
0
ジオメトリは個々のポイントでのみ構成されます (たとえば、ST_Point または ST_MultiPoint)。
1
ジオメトリには少なくとも 1 つの曲線が含まれ、面は含まれません (たとえば、ST_LineString)。
2
ジオメトリは少なくとも 1 つの面で構成されます (たとえば、ST_Polygon または ST_MultiPolygon)。
コレクションの次元の計算時には、要素の最大次元が返されます。たとえば、ジオメトリコレクションに曲線とポイントが含
まれている場合、ST_Dimension はそのコレクションについて 1 が返されます。
注記
ST_Dimension では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.2
例
例
次の例では、結果として 0 を返します。
SELECT NEW ST_Point(1.0,1.0).ST_Dimension()
次の例では、結果として 1 を返します。
SELECT NEW ST_LineString('LineString( 0 0, 1 1)' ).ST_Dimension()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
185
4.1.6.26 ST_Disjoint メソッド
ジオメトリ値が別のジオメトリ値から空間的に分断されているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Disjoint(<geo2>)
パラメータ
表 69:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> から空間的に分断されている場合は 1 を返し、それ以外の場合は 0 を返
します。
備考
ジオメトリ値が別のジオメトリ値から空間的に分断されているかどうかをテストします。2 つのジオメトリの共通部分が空の
場合、これらのジオメトリは分断されています。つまり、<geometry-expression> 内のどこにも<geo2> との共通ポイ
ントが存在しない場合、これらのジオメトリは分断されています。
<geometry-expression>.ST_Disjoint( <geo2> ) = 1 は、<geometryexpression>.ST_Intersects( <geo2> ) = 0 と同義です。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
186
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.26
例
例
次の例では、指定した三角形との共通ポイントを持たない各シェイプについて、1 ローずつの結果を返します。
SELECT ShapeID, "Description"
FROM SpatialShapes
WHERE NEW ST_Polygon( 'Polygon((0 0, 5 0, 0 5, 0 0))' ).ST_Disjoint( Shape ) =
1
ORDER BY ShapeID
この例では、次の結果セットを返します。
表 70:
ShapeID
説明
1
Point
22
Triangle
4.1.6.27 ST_Distance メソッド
<geometry-expression> と指定したジオメトリ値の間の最短距離を返します。
構文
構文
<geometry-expression>.ST_Distance(<geo2>[, <unit-name>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
187
パラメータ
表 71:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> から距離が
測定されるもう一方のジオメトリ値。
unit-name
VARCHAR(128)
距離を計算する単位。デフォルトでは、空
間参照系の単位が使用されます。単位名
は、UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
戻り値
DOUBLE
指定した線形測定単位で <geometry-expression> と <geo2> の間の最短距離を返します。<geometryexpression> または <geo2> が空の場合は、NULL が返されます。
備考
ST_Distance メソッドは、2 つのジオメトリ間の最短距離を計算します。平面の空間参照系の場合、距離は、平面内の直
交座標系における距離として、関連付けられている空間参照系の線形測定単位で計算されます。曲面の空間参照系の
場合、距離は、空間参照系定義で楕円パラメータを使用して、地表面の曲率を考慮して計算されます。
注記
曲面の空間参照系では、ST_Distance メソッドは <geometry-expression> と <geo2> にポイントだけが含まれ
ている場合にのみサポートされます。
注記
ST_Distance では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
188
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
5.1.23
例
例
次の例では、各シェイプとポイント (2,3) からのそれぞれの距離について、1 ローずつの結果セット (順序付けされたも
の) を返します。
SELECT ShapeID, ROUND( Shape.ST_Distance( NEW ST_Point( 2, 3 ) ), 2 ) AS dist
FROM SpatialShapes
WHERE ShapeID < 17
ORDER BY dist
この例では、次の結果セットを返します。
表 72:
ShapeID
dist
2
0.0
3
0.0
5
1.0
6
1.21
16
1.41
1
5.1
次の例では、カナダのハリファックス (NS) とワーテルロー (ON) を表すポイントを作成し、2 つのポイント間の距離をマ
イル単位で調べ、結果として 846 を返します。この例は、sa_install_feature システムプロシージャによって
'st_geometry_predefined_uom' 機能がインストールされていることを前提としています。sa_install_feature システ
ムプロシージャを参照してください。
SELECT ROUND( NEW ST_Point( -63.573566, 44.646244, 4326 )
.ST_Distance( NEW ST_Point( -80.522372, 43.465187, 4326 )
, 'Statute mile' ), 0 )
次の例では、結果として 5 を返します。
SELECT NEW ST_Point(0, 0).ST_Distance( NEW ST_Point(5, 0) )
次の例では、結果として <codeph>5</codeph> を返します。
SELECT NEW ST_LineString('LineString(0 0, 10 0)').ST_Distance( NEW ST_Point(0,
5) )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
189
4.1.6.28 ST_Envelope メソッド
ジオメトリ値の外接矩形を返します。
構文
構文
<geometry-expression>.ST_Envelope()
戻り値
ST_Polygon
<geometry-expression> の外接矩形である多角形を返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_Envelope メソッドは、<geometry-expression>の外接矩形 (軸と平行) である多角形を構成します。包絡線はジ
オメトリ全体を含み、ジオメトリの単純近似として使用できます。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.15
190
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として Polygon ((0 0, 1 0, 1 4, 0 4, 0 0)) を返します。
SELECT Shape.ST_Envelope()
FROM SpatialShapes WHERE ShapeID = 6
次の例では、結果として Polygon ((0 0, 1 0, 1 1, 0 1, 0 0)) を返します。
SELECT NEW ST_LineString('LineString(0 0, 1 1)').ST_Envelope()
4.1.6.29 ST_EnvelopeAggr メソッド
グループ内のすべてのジオメトリの外接矩形を返します。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
構文
構文
ST_Geometry::ST_EnvelopeAggr(<geometry-column>)
パラメータ
表 73:
名前
タイプ
説明
geometry-column
ST_Geometry
外接矩形を生成するジオメトリ値。通常、こ
れはカラムです。
戻り値
ST_Polygon
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
191
グループ内のすべてのジオメトリの外接矩形である多角形を返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として Polygon ((-3 -1, 8 -1, 8 8, -3 8, -3 -1)) を返します。
SELECT ST_Geometry::ST_EnvelopeAggr( Shape ) FROM SpatialShapes
4.1.6.30 ST_Equals メソッド
ST_Geometry 値が別の ST_Geometry 値と空間的に等しいかどうかをテストします。
構文
構文
<geometry-expression>.ST_Equals(<geo2>)
パラメータ
表 74:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
192
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
BIT
2 つのジオメトリ値が空間的に等しい場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_Geometry 値が別の ST_Geometry 値と等しいかどうかをテストします。
空間的に等しいかどうかのテストでは、まず 2 つのジオメトリの外接矩形が比較されます。それらの等価性が許容範囲外
の場合、2 つのジオメトリは等しくないと見なされ、0 が返されます。それ以外の場合、<geometryexpression>.ST_SymDifference( geo2 ) が空のセットであれば 1 が返され、そうでなければ 0 が返されます。
SQL/MM 標準では、ST_SymDifference の観点でのみ ST_Equals が定義され、その他のバウンディングボックス比較
は考慮されません。ジオメトリの中には、バウンディングボックスが等しくないのに、ST_SymDifference について空の結
果を生成するものもあります。これらのジオメトリは SQL/MM 標準では等しいと見なされますが、ソフトウェアでは等しくな
いと見なされます。このような違いは、一方または両方のジオメトリに突起や陥没が含まれている場合に生じることがあり
ます。
2 つのジオメトリ値は、それぞれの表現が異なっていても、等しいと見なされることがあります。たとえば、2 つの線ストリン
グの方向が反対でも、これらの線ストリングには空間内の同じポイントセットが含まれている場合があります。これら 2 つ
の線ストリングは ST_Equals では等しいと見なされますが、ST_OrderingEquals では等しくないと見なされます。
ST_Equals は、空間参照系の精度またはデータの精度によって制限される場合があります。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.24
例
例
次の例では、結果として 16 を返します。結果の ShapeID 16 に対応する Shape には、指定した多角形と同じポイント
が含まれていますが、それらの順序は異なります。
SELECT ShapeID FROM SpatialShapes
WHERE Shape.ST_Equals( NEW ST_Polygon( 'Polygon ((2 0, 1 2, 0 0, 2 0))' ) ) = 1
次の例では、結果として 1 を返します。この結果は、ポイント数も順序の指定も異なり、中間ポイントも線上に正確にあ
るわけではないのに、2 つの線ストリングが等しいことを示しています。中間ポイントは、2 つのポイントだけで構成され
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
193
る線から約 3.33e-7 離れていますが、その距離は「デフォルト」空間参照系 (SRID 0) の許容範囲 (1e-6) に収まって
います。
SELECT NEW ST_LineString( 'LineString( 0 0, 0.333333 1, 1 3 )' )
.ST_Equals( NEW ST_LineString( 'LineString( 1 3, 0 0 )' ) )
4.1.6.31 ST_EqualsFilter メソッド
ジオメトリが別のジオメトリと等しいかどうかの低コストのテスト。
構文
構文
<geometry-expression>.ST_EqualsFilter(<geo2>)
パラメータ
表 75:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> のバウンディングボックスと <geo2> のバウンディングボックスの等価性が許容範囲
に収まっている場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_EqualsFilter メソッドは、一方のジオメトリがもう一方のジオメトリと等しい可能性があるかどうかを調べる効率的なテ
ストを提供します。ST_EqualsFilter は、<geometry-expression> が <geo2> と等しい可能性がある場合は 1 を返
し、それ以外の場合は 0 を返します。
194
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
このテストは ST_Equals よりも負荷は低いですが、<geometry-expression> が実際に <geo2> と等しくない場合で
も 1 を返すことがあります。
そのため、このメソッドは、今後の処理でジオメトリの相互の影響が望ましいものであるかどうかを判断するときにプライマ
リフィルタとして使用できます。
ST_EqualsFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能なメタデ
ータはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で ST_EqualsFilter が使用され
る場所に応じて決定される)、<geometry-expression> が <geo2> と等しくない場合、式 <geometryexpression>.ST_EqualsFilter(<geo2>) は異なる結果を返すことがあります。<geometry-expression> が
<geo2> と等しい場合、ST_EqualsFilter は常に 1 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.6.32 ST_GeomFromBinary メソッド
バイナリ文字列表現からジオメトリを構成します。
構文
構文
ST_Geometry::ST_GeomFromBinary(<binary-string>[, <srid>])
パラメータ
表 76:
名前
タイプ
説明
binary-string
LONG BINARY
ジオメトリのバイナリ表現を含む文字列。入
力には、WKB や EWKB を含め、サポート
されている任意のバイナリフォーマットを使
用できます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
195
名前
タイプ
説明
srid
INT
結果の SRID。指定しない場合、入力文字
列にも SRID が含まれていなければ、デフ
ォルトの 0 が使用されます。
戻り値
ST_Geometry
ソース文字列に基づいて、適切なタイプのジオメトリ値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
サポートされているフォーマットの 1 つを含む文字列を解析し、適切なタイプのジオメトリ値を作成します。このメソッドは、
バイナリ文字列からジオメトリタイプへのキャストを評価するときにサーバで使用されます。
一部の入力フォーマットには、SRID 定義が含まれます。<srid> パラメータを指定する場合は、入力文字列から得られる
値と一致させてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として Point (10 20) を返します。
SELECT
ST_Geometry::ST_GeomFromBinary( 0x010100000000000000000024400000000000003440 )
196
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.33 ST_GeomFromShape メソッド
ESRI シェイプレコードを含む文字列を解析し、適切なタイプのジオメトリ値を作成します。
構文
構文
ST_Geometry::ST_GeomFromShape(<shape>[, <srid>])
パラメータ
表 77:
名前
タイプ
説明
shape
LONG BINARY
ESRI シェイプフォーマットのジオメトリを含
む文字列。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Geometry
ソース文字列に基づいて、適切なタイプのジオメトリ値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
1 つの ESRI シェイプを含む文字列を解析し、適切なタイプのジオメトリ値を作成します。レコードは、ESRI シェイプファイル
の .shp ファイル内の 1 つのレコードです。または、ジオデータベース内の 1 つの文字列値の場合もあります。
Shape 表現は、空間データを表すために広く使用されています。シェイプ定義の詳細については、ESRI の Web サイト
(ESRI シェイプファイルの技術概要
) を参照してください。
ESRI シェイプファイルをロードするときには、ほとんどの場合、ST_GeomFromShape メソッドを使用する代わりに、
LOAD TABLE 文の FORMAT 句で SHAPEFILE フォーマットを使用するか、FROM 句で OPENSTRING 式を使用する
方が簡単です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
197
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.6.34 ST_GeomFromText メソッド
文字列表現からジオメトリを構成します。
構文
構文
ST_Geometry::ST_GeomFromText(<character-string>[, <srid>])
パラメータ
表 78:
名前
タイプ
説明
character-string
LONG VARCHAR
ジオメトリのテキスト表現を含む文字列。入
力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、入力文字
列にも SRID が含まれていなければ、デフ
ォルトの 0 が使用されます。
戻り値
ST_Geometry
ソース文字列に基づいて、適切なタイプのジオメトリ値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
198
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ジオメトリを表すテキスト文字列を解析し、適切なタイプのジオメトリ値を作成します。このメソッドは、文字列からジオメトリ
タイプへのキャストを評価するときにサーバで使用されます。
サーバで入力文字列のフォーマットが検出されます。一部の入力フォーマットには、SRID 定義が含まれます。<srid> パ
ラメータを指定する場合は、入力文字列から得られる値と一致させてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.40
例
例
次の例では、結果として LineString (1 2, 5 7) を返します。
SELECT ST_Geometry::ST_GeomFromText( 'LineString( 1 2, 5 7 )', 4326 )
4.1.6.35 ST_GeomFromWKB メソッド
ジオメトリの WKB または EWKB 表現を含む文字列を解析し、適切なタイプのジオメトリ値を作成します。
構文
構文
ST_Geometry::ST_GeomFromWKB(<wkb>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
199
パラメータ
表 79:
名前
タイプ
説明
wkb
LONG BINARY
ジオメトリ値の WKB または EWKB 表現を
含む文字列。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Geometry
ソース文字列に基づいて、適切なタイプのジオメトリ値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ジオメトリ値の WKB または EWKB 表現を含む文字列を解析し、適切なタイプのジオメトリ値を作成します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.41
4.1.6.36 ST_GeomFromWKT メソッド
ジオメトリの WKT または EWKT 表現を含む文字列を解析し、適切なタイプのジオメトリ値を作成します。
構文
構文
ST_Geometry::ST_GeomFromWKT(<wkt>[, <srid>])
200
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 80:
名前
タイプ
説明
wkt
LONG VARCHAR
ジオメトリ値の WKT または EWKT 表現を
含む文字列。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Geometry
ソース文字列に基づいて、適切なタイプのジオメトリ値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ジオメトリ値の WKT または EWKT 表現を含む文字列を解析し、適切なタイプのジオメトリ値を作成します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.6.37 ST_GeometryType メソッド
ST_Geometry 値のタイプの名前を返します。
構文
構文
<geometry-expression>.ST_GeometryType()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
201
戻り値
VARCHAR(128)
ジオメトリ値のデータ型をテキスト文字列として返します。このメソッドを使用して、値の動的タイプを確認できます。
備考
ST_GeometryType メソッドは、<geometry-expression> の特定のタイプの名前を含む文字列を返します。
value IS OF( type ) 構文を使用して、特定のタイプの値を判断することもできます。
注記
ST_GeometryType では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.4
例
例
次の例では、結果として 2,3,6,16,22,24,25 を返します。このリストは、指定したタイプのいずれかに該当する
Shape の ShapeID です。
SELECT LIST( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
WHERE Shape.ST_GeometryType() IN( 'ST_Polygon', 'ST_CurvePolygon' )
次の例では、結果として文字列 ST_Point を返します。
SELECT NEW ST_Point( 1, 2 ).ST_GeometryType()
202
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.38 ST_GeometryTypeFromBaseType メソッド
タイプ文字列を定義している文字列を解析します。
構文
構文
ST_Geometry::ST_GeometryTypeFromBaseType(<base-type-str>)
パラメータ
表 81:
名前
タイプ
説明
base-type-str
VARCHAR(128)
ベースタイプ文字列を含む文字列
戻り値
VARCHAR(128)
ベースタイプ文字列からジオメトリタイプを返します (SRID 定義が含まれている場合もあります)。タイプ文字列が有
効なジオメトリタイプ文字列でない場合は、エラーが返されます。
備考
<ST_Geometry::ST_GeometryTypeFromBaseType> メソッドを使用して、タイプ文字列の定義からジオメトリタイプ
の名前を解析できます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
203
例
例
次の例では、結果として ST_Geometry を返します。
SELECT ST_Geometry::ST_GeometryTypeFromBaseType('ST_Geometry')
次の例では、結果として ST_Point を返します。
SELECT ST_Geometry::ST_GeometryTypeFromBaseType('ST_Point(SRID=4326)')
次の例では、ストアドプロシージャパラメータによって受け入れられるジオメトリタイプ (ST_Point) を調べます。
CREATE PROCEDURE myprocedure( parm1 ST_Point(SRID=0) )
BEGIN
-- ...
END;
SELECT
parm_name nm, base_type_str,
ST_Geometry::ST_GeometryTypeFromBaseType(base_type_str) geom_type
FROM
sysprocedure KEY JOIN sysprocparm
WHERE
proc_name='myprocedure' and parm_name='parm1'
4.1.6.39 ST_Intersection メソッド
2 つのジオメトリの積集合を表すジオメトリ値を返します。
構文
構文
<geometry-expression>.ST_Intersection(<geo2>)
パラメータ
表 82:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と交差する
もう一方のジオメトリ値。
204
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
ST_Geometry
2 つのジオメトリの積集合を表すジオメトリ値を返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_Intersection メソッドは、2 つのジオメトリの空間的共通部分を調べます。ポイントが入力ジオメトリの両方に存在する
場合、そのポイントは共通部分に含まれています。2 つのジオメトリで共通ポイントを共有していない場合、結果は空のジ
オメトリです。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.18
例
例
次の例は、正方形 (A) と円 (B) の共通部分 (C) を示します。
SELECT NEW ST_Polygon( 'Polygon( (-1 -0.25, 1 -0.25, 1 2.25, -1 2.25, -1
-0.25) )' ) AS A
, NEW ST_CurvePolygon( 'CurvePolygon( CircularString( 0 1, 1 2, 2 1, 1 0,
0 1 ) )' ) AS B
, A.ST_Intersection( B ) AS C
次の図では、共通部分は網掛けになっています。これは、正方形にも円にも存在するすべてのポイントを含む 1 つの
面です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
205
次の三角形と四角形との間の交差は、結果として 6 つの辺をもつ多角形 Polygon ((1 1, 3 1, 3 2, 2.5
3, 1.5 3, 1 2, 1 1)) を返します。
SELECT NEW ST_Polygon('Polygon ((0 0, 4 0, 2 4, 0 0))').ST_Intersection( NEW
ST_Polygon('Polygon ((1 1, 3 1, 3 3, 1 3, 1 1))') )
4.1.6.40 ST_IntersectionAggr メソッド
グループ内のすべてのジオメトリの空間的共通部分を返します。
構文
構文
ST_Geometry::ST_IntersectionAggr(<geometry-column>)
パラメータ
表 83:
名前
タイプ
説明
geometry-column
ST_Geometry
空間的共通部分を生成するジオメトリ値。
通常、これはカラムです。
戻り値
ST_Geometry
グループ内のすべてのジオメトリの空間的共通部分であるジオメトリを返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
備考
引数が NULL のローは含まれません。
206
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
グループに NULL 以外のジオメトリが 1 つだけ含まれている場合は、そのジオメトリが返されます。それ以外の場合、共
通部分は、ST_Intersection メソッドを繰り返し適用して、一度に 2 つのジオメトリを結合することで論理的に計算されま
す。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として Polygon ((0 0, 1 2, .5 2, .75 3, .555555 3, 0 1.75, .5 1.75, 0
0)) を返します。
SELECT ST_Geometry::ST_IntersectionAggr( Shape )
FROM SpatialShapes WHERE ShapeID IN ( 2, 6 )
4.1.6.41 ST_Intersects メソッド
ジオメトリ値が別の値と空間的に交差しているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Intersects(<geo2>)
パラメータ
表 84:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
207
戻り値
BIT
<geometry-expression> が <geo2> に空間的に交差している場合は 1 を返し、それ以外の場合は 0 を返しま
す。
備考
ジオメトリ値が別の値と空間的に交差しているかどうかをテストします。2 つのジオメトリが 1 つ以上の共通ポイントを共有
している場合、これらのジオメトリは交差しています。
<geometry-expression>.ST_Intersects( <geo2> ) = 1 は、<geometryexpression>.ST_Disjoint( <geo2> ) = 0 と同義です。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.27
例
例
次の例では、指定した線と交差している各シェイプについて、1 ローずつの結果を返します。
SELECT ShapeID, "Description"
FROM SpatialShapes
WHERE NEW ST_LineString( 'LineString( 2 2, 4 4 )' ).ST_Intersects( Shape ) = 1
ORDER BY ShapeID
この例では、次の結果セットを返します。
表 85:
ShapeID
説明
2
Square
3
Rectangle
5
L shape line
18
CircularString
208
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
ShapeID
説明
22
Triangle
次のクエリは、SpatialShapes テーブルのジオメトリの交差を返します。
SELECT Shape
FROM SpatialShapes
WHERE NEW ST_LineString( 'LineString( 2 2, 4 4 )' ).ST_Intersects( Shape ) = 1
UNION ALL SELECT NEW ST_LineString( 'LineString( 2 2, 4 4 )' )
次の例は、2 つの線ストリングが交差しているため、1 を返します。
SELECT NEW ST_LineString('LineString(0 0,2 0)').ST_Intersects( NEW
ST_LineString('LineString(1 -1,1 1)') )
次の例は、2 つの線ストリングが交差していないため、0 を返します。
SELECT NEW ST_LineString('LineString(0 0,2 0)').ST_Intersects( NEW
ST_LineString('LineString(1 1,1 2)') )
4.1.6.42 ST_IntersectsFilter メソッド
2 つのジオメトリが交差しているかどうかの低コストのテスト。
構文
構文
<geometry-expression>.ST_IntersectsFilter(<geo2>)
パラメータ
表 86:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
209
戻り値
BIT
<geometry-expression> が <geo2> に交差する可能性がある場合は 1 を返し、それ以外の場合は 0 を返しま
す。
備考
ST_IntersectsFilter メソッドは、2 つのジオメトリが交差しているかどうかを調べる効率的なテストを提供します。
<varname translate="no">geometry-expression</varname> が <varname translate="no">geo2</varname>
に交差する可能性がある場合は 1 を返し、それ以外の場合は 0 を返します。
このテストは ST_Intersects よりも負荷は低いですが、ジオメトリが実際に交差していない場合でも 1 を返すことがありま
す。そのため、このメソッドは、今後の処理でジオメトリが本当に交差しているかどうかを判断するときにプライマリフィルタ
として使用できます。
ST_IntersectsFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能なメタ
データはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で ST_IntersectsFilter が使
用される場所に応じて決定される)、<geometry-expression> が <geo2> に交差しない場合、式 <geometryexpression>.ST_IntersectsFilter(<geo2>) は異なる結果を返すことがあります。<geometry-expression> が
<geo2> と交差している場合、ST_IntersectsFilter は常に 1 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.6.43 ST_IntersectsRect メソッド
ジオメトリが長方形と交差しているかどうかをテストします。
構文
構文
<geometry-expression>.ST_IntersectsRect(<pmin>,<pmax>)
210
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 87:
名前
タイプ
説明
pmin
ST_Point
<geometry-expression> と比較する
最小ポイント値。
pmax
ST_Point
<geometry-expression> と比較する
最大ポイント値。
戻り値
BIT
<geometry-expression> が指定した長方形と交差している場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_IntersectsRect メソッドは、ジオメトリが指定した外接矩形 (軸と平行) と交差しているかどうかをテストします。
メソッドは、<geometry-expression>.ST_Intersects( NEW ST_Polygon( pmin, pmax ) ) と同等です。
そのため、このメソッドは、指定した長方形 (軸と平行) と交差しているすべてのジオメトリを検索する範囲検索を記述する
場合に役立ちます。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、2 つのポイントの包絡線によって指定された長方形が交差している Shape ジオメトリの ShapeID をリス
トします。この例では、結果として 3,5,6,18 を返します。
SELECT LIST( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
211
WHERE Shape.ST_IntersectsRect( NEW ST_Point( 0, 4 ), NEW ST_Point( 2, 5 ) ) = 1
次の例では、線ストリングが長方形と交差しているかどうかをテストします。指定した線ストリングは、2 つのポイントで
識別された長方形と交差していません (ただし、線ストリングの包絡線は 2 つのポイントの包絡線と交差しています)。
SELECT NEW ST_LineString( 'LineString( 0 0, 10 0, 10 10 )' )
.ST_IntersectsRect( NEW ST_Point( 4, 4 ) , NEW ST_Point( 6, 6 ) )
次の例では、提供されているウィンドウに線ストリングが交差しないため、結果として 0 を返します。
SELECT NEW ST_LineString( 'LineString( 0 0, 10 0, 10 10 )' )
.ST_IntersectsRect( NEW ST_Point( 4, 4 ) , NEW ST_Point( 6, 6 ) )
次の例では、提供されているウィンドウに線ストリングが交差するため、結果として 1 を返します。
SELECT NEW ST_LineString( 'LineString( 0 4, 10 4, 10 10 )' )
.ST_IntersectsRect( NEW ST_Point( 4, 4 ) , NEW ST_Point( 6, 6 ) )
4.1.6.44 ST_Is3D メソッド
ジオメトリ値に Z 座標値が含まれているかどうかを調べます。
注記
ST_Is3D では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内
部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照して
ください。
構文
構文
<geometry-expression>.ST_Is3D()
戻り値
BIT
ジオメトリ値に Z 座標値が含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
212
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.10
例
例
次の例では、結果として 1 を返します。
SELECT ShapeID FROM SpatialShapes WHERE Shape.ST_Is3D() = 1
次の例では、ポイントに Z 値が含まれていないため、結果として 0 を返します。
SELECT new ST_POINT('POINT(0 0)').ST_Is3D()
次の例では、ポイントに Z 値が含まれているため、結果として 1 を返します。
SELECT new ST_POINT('POINT Z(0 0 0)').ST_Is3D() FROM DUMMY
4.1.6.45 ST_IsEmpty メソッド
ジオメトリ値が空のセットを表すかどうかを調べます。
構文
構文
<geometry-expression>.ST_IsEmpty()
戻り値
BIT
ジオメトリ値が空の場合は 1 を返し、それ以外の場合は 0 を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
213
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.7
例
例
次の例では、結果として 1 を返します。
SELECT NEW ST_LineString().ST_IsEmpty()
4.1.6.46 ST_IsMeasured メソッド
ジオメトリ値に測定値が関連付けられているかどうかを調べます。
注記
ST_IsMeasured では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
構文
構文
<geometry-expression>.ST_IsMeasured()
戻り値
BIT
ジオメトリ値に測定値が含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
214
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
5.1.11
例
例
次の例では、結果として 1 を返します。
SELECT ST_Geometry::ST_GeomFromText( 'LineString M( 1 2 4, 5 7
3 )' ).ST_IsMeasured()
次の例では、結果として 0 を返します。
SELECT count(*) FROM SpatialShapes WHERE Shape.ST_IsMeasured() = 1
4.1.6.47 ST_IsSimple メソッド
ジオメトリ値が単純かどうかを調べます (それ自体と交差しないことや他の不規則性など)。
構文
構文
<geometry-expression>.ST_IsSimple()
戻り値
BIT
ジオメトリ値が単純な場合は 1 を返し、それ以外の場合は 0 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.8
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
215
例
例
次の例では、結果として 29 を返します。これは、対応する複数線ストリングに含まれる 2 つの線が交差しているため
です。
SELECT ShapeID FROM SpatialShapes WHERE Shape.ST_IsSimple() = 0
4.1.6.48 ST_IsValid メソッド
ジオメトリが有効な空間オブジェクトであるかどうかを調べます。
構文
構文
<geometry-expression>.ST_IsValid()
戻り値
BIT
ジオメトリ値が有効な場合は 1 を返し、それ以外の場合は 0 を返します。
備考
デフォルトでは、空間データが他のフォーマットから作成またはインポートされた場合、サーバでデータの検証は行われま
せん。ST_IsValid メソッドを使用して、インポートされたデータが有効なジオメトリを表すかどうかを検証できます。無効な
ジオメトリに対して操作を行うと、未定義の結果が返されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.9
216
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として 0 を返します。これは、多角形にリボン形が含まれている (リングがそれ自体と交差している)
ためです。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 4 0, 4 5, 0 -1, 0 0 ))' )
.ST_IsValid()
次の例では、結果として 0 を返します。これは、ジオメトリ内の多角形が面でそれ自体と交差しているためです。有限な
数のポイントでのジオメトリコレクションのそれ自体との交差は有効であると見なされます。
SELECT NEW ST_MultiPolygon( 'MultiPolygon((( 0 0, 2 0, 1 2, 0 0 )),((0 2, 1 0,
2 2, 0 2)))' )
.ST_IsValid()
4.1.6.49 ST_LatNorth メソッド
ジオメトリの最北の緯度を取り出します。
構文
構文
<geometry-expression>.ST_LatNorth()
戻り値
DOUBLE
<geometry-expression> の最北の緯度を返します。
備考
<geometry-expression> の最北の緯度値を返します。曲面モデルでは、最北の緯度はジオメトリを定義しているど
のポイントの緯度にも対応しない場合があります。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
217
注記
ST_LatNorth では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 49.74 を返します。
SELECT ROUND( NEW ST_LineString( 'LineString( -122 49, -96 49 )', 4326 )
.ST_LatNorth(), 2 )
4.1.6.50 ST_LatSouth メソッド
ジオメトリの最南の緯度を取り出します。
構文
構文
<geometry-expression>.ST_LatSouth()
戻り値
DOUBLE
<geometry-expression> の最南の緯度を返します。
218
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
<geometry-expression> の最南の緯度値を返します。曲面モデルでは、最南の緯度はジオメトリを定義しているど
のポイントの緯度にも対応しない場合があります。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_LatSouth では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 49 を返します。
SELECT ROUND( NEW ST_LineString( 'LineString( -122 49, -96 49 )', 4326 )
.ST_LatSouth(), 2 )
4.1.6.51 ST_LinearHash メソッド
ジオメトリの線形ハッシュであるバイナリ文字列を返します。
構文
構文
<geometry-expression>.ST_LinearHash()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
219
戻り値
BINARY(32)
ジオメトリの線形ハッシュであるバイナリ文字列を返します。
備考
空間インデックスサポートでは、ジオメトリの線形ハッシュを使用して、テーブル内のジオメトリを B ツリーインデックスの線
形順序にマップします。ST_LinearHash メソッドは、B ツリーインデックスのローの順序を指定するバイナリ文字列を返す
ことによって、このマッピングを公開します。ハッシュ文字列には、「ジオメトリ <A> にジオメトリ <B> が含まれている場合
は A.ST_LinearHash() >= B.ST_LinearHash()」というプロパティがあります。
線形ハッシュは ORDER BY 句で使用できます。たとえば、SELECT 文からデータをアップロードする場合、
ST_LinearHash を使用して、空間インデックスのクラスタリングと一致するデータファイルを生成できます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.6.52 ST_LinearUnHash メソッド
インデックスハッシュを表すジオメトリを返します。
構文
構文
ST_Geometry::ST_LinearUnHash(<index-hash>[, <srid>])
220
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 88:
名前
タイプ
説明
index-hash
BINARY(32)
インデックスハッシュ文字列。
srid
INT
インデックスハッシュの SRID。指定しない
場合、デフォルトは 0 です。
戻り値
ST_Geometry
指定した線形ハッシュの典型的なジオメトリを返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_LinearUnHash メソッドは、ST_LinearHash() によって生成された線形ハッシュ文字列の典型的なジオメトリを生成し
ます。サーバはジオメトリを空間インデックスの線形順序にマップし、ST_LinearHash メソッドはこの線形順序を定義する
バイナリ文字列を提供します。ST_LinearUnHash メソッドは、この操作を逆に実行して、特定のハッシュ文字列を表すジ
オメトリを提供します。複数の異なるジオメトリが同じバイナリ文字列のハッシュ値を持つ場合があるという点で、ハッシュ
操作は損失を伴います。ST_LinearUnHash メソッドは、指定した線形ハッシュにマップするジオメトリを含むジオメトリを
返します。
空間インデックスを使用するクエリのグラフィカルなプランは、空間インデックスの調査に使用される線形ハッシュ値を示し
ます。ST_LinearUnHash メソッドを使用して、これらのハッシュを表すジオメトリを生成できます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
221
4.1.6.53 ST_LoadConfigurationData メソッド
バイナリ設定データを返します。内部でのみ使用されます。
構文
構文
ST_Geometry::ST_LoadConfigurationData(<configuration-name>)
パラメータ
表 89:
名前
タイプ
説明
configuration-name
VARCHAR(128)
ロードする設定データ項目の名前。
戻り値
LONG BINARY
バイナリ設定データを返します。内部でのみ使用されます。
備考
このメソッドは、インストールされているファイルから設定データをロードするときにサーバで使用されます。サーバに設定
ファイルがインストールされていない場合は、NULL が返されます。内部でのみ使用されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
222
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.54 ST_LongEast メソッド
ジオメトリの東の境界の経度を取り出します。
構文
構文
<geometry-expression>.ST_LongEast()
戻り値
DOUBLE
<geometry-expression> の東の境界の経度を取り出します。
備考
<geometry-expression> の東の境界の経度を返します。曲面モデルでは、ジオメトリが日付変更線と交差すると、
ST_LongWest は ST_LongEast 値より大きくなります。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_LongEast では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
223
例
例
次の例では、結果として -157.8 を返します。
SELECT NEW ST_LineString( 'LineString( -157.8 21.3, 144.5 13 )', 4326 )
.ST_LongEast()
4.1.6.55 ST_LongWest メソッド
ジオメトリの西の境界の経度を取り出します。
構文
構文
<geometry-expression>.ST_LongWest()
戻り値
DOUBLE
<geometry-expression> の西の境界の経度を取り出します。
備考
<geometry-expression> の西の境界の経度を返します。曲面モデルでは、ジオメトリが日付変更線と交差すると、
ST_LongWest は ST_LongEast 値より大きくなります。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_LongWest では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
224
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 144.5 を返します。
SELECT NEW ST_LineString( 'LineString( -157.8 21.3, 144.5 13 )', 4326 )
.ST_LongWest()
4.1.6.56 ST_MMax メソッド
ジオメトリの最大 M 座標値を取り出します。
構文
構文
<geometry-expression>.ST_MMax()
戻り値
DOUBLE
<geometry-expression> の最大 M 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最大 M 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの M 属性を比較して計算されます。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
225
注記
ST_MMax では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 8 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_MMax()
4.1.6.57 ST_MMin メソッド
ジオメトリの最小 M 座標値を取り出します。
構文
構文
<geometry-expression>.ST_MMin()
戻り値
DOUBLE
<geometry-expression> の最小 M 座標値を返します。
226
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
<varname translate="no">geometry-expression</varname> の最小 M 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの M 属性を比較して計算されます。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_MMin では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 4 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_MMin()
4.1.6.58 ST_OrderingEquals メソッド
ジオメトリが別のジオメトリと同一であるかどうかをテストします。
構文
構文
<geometry-expression>.ST_OrderingEquals(<geo2>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
227
パラメータ
表 90:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
2 つのジオメトリ値が完全に等しい場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_Geometry 値が別の ST_Geometry 値と同一かどうかをテストします。2 つのジオメトリには同じオブジェクト階層が
含まれ、その階層には ST_OrderingEquals で等しいと見なされる順序でまったく同じポイントが存在している必要があり
ます。
ST_OrderingEquals メソッドは、曲線の方向が考慮されるという点で ST_Equals とは異なります。2 つの曲線には、まっ
たく同じポイントが逆の順序で含まれていることがあります。これら 2 つの曲線は ST_Equals では等しいと見なされます
が、ST_OrderingEquals では等しくないと見なされます。さらに、ST_OrderingEquals では、両方のジオメトリ内の各ポ
イントが完全に等しいことが要求されます (空間参照系で指定された許容範囲距離内で等しいだけでは不十分です)。
ST_OrderingEquals メソッドは、比較述部 (= と <>)、IN リスト述部、DISTINCT、GROUP BY に使用されるセマン
ティックを定義します。2 つの空間値が空間的に等しい (セット内に同じポイントセットが含まれている) かどうかを比較する
場合、ST_Equals メソッドを使用できます。
注記
SQL/MM 標準では、ST_OrderingEquals は相対的な順序を返すように定義されています。2 つのジオメトリが空間
的に等しい場合は (ST_Equals に基づく) 0 が返され、等しくない場合は 1 が返されます。ソフトウェアは業界の慣行に
従っており、ブール値 (ジオメトリが等しいことを示す 1 と等しくないことを示す 0) を返すという点で SQL/MM とは異な
ります。さらに、ST_OrderingEquals の実装は、値が空間的に等しい (空間内に同じポイントセットが存在する) かどう
かではなく、値が同一 (同じ順序の同じオブジェクト階層が存在する) かどうかをテストするという点で SQL/MM とは
異なります。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.43
228
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として 16 を返します。結果の ShapeID 16 に対応する Shape には、指定した多角形とまったく同じ
ポイントがまったく同じ順序で含まれています。
SELECT ShapeID FROM SpatialShapes
WHERE Shape.ST_OrderingEquals( NEW ST_Polygon( 'Polygon ((0 0, 2 0, 1 2, 0
0))' ) ) = 1
次の例では、2 つの線ストリングに全く同じポイントが同じ順番で含まれているため、結果として 1 を返します。
SELECT NEW ST_LineString('LineString(0 0, 1 0)')
.ST_OrderingEquals(NEW ST_LineString('LineString(0 0, 1 0)'))
次の例では、2 つの線ストリングが空間的に等しい (ST_Equals が 1) の場合でも、異なる順番で定義されているた
め、0 を返します。
SELECT NEW ST_LineString('LineString(0 0, 1 0)')
.ST_OrderingEquals(NEW ST_LineString('LineString(1 0, 0 0)'))
4.1.6.59 ST_Overlaps メソッド
ジオメトリ値が別のジオメトリ値と重なり合うかどうかをテストします。
構文
構文
<geometry-expression>.ST_Overlaps(<geo2>)
パラメータ
表 91:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
229
戻り値
BIT
<geometry-expression> が <geo2> と重なり合っている場合は 1 を返し、それ以外の場合は 0 を返します。
<geometry-expression> と <geo2>の次元が異なる場合は NULL を返します。
備考
次の条件をすべて満たす場合、2 つのジオメトリは重なり合っています。
● 両方のジオメトリの次元が同じである。
● <geometry-expression> ジオメトリと <geo2> ジオメトリの共通部分の次元が <geometry-expression> と
同じである。
● 元のジオメトリのどちらも他方のサブセットではない。
より厳密には、<geometry-expression>.ST_Overlaps( <geo2> ) は、次の条件を満たす場合に 1 を返します。
<geometry-expression>.ST_Dimension() = <geo2>.ST_Dimension() AND <geometryexpression>.ST_Intersection( <geo2> ).ST_Dimension() = <geometryexpression>.ST_Dimension() AND <geometry-expression>.ST_Covers( <geo2> ) = 0 AND
<geo2>.ST_Covers( <geometry-expression> ) = 0
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.32
例
例
次の例では、結果として 1 を返します。これは、2 つの線ストリングの共通部分も線ストリングになっており、どちらのジ
オメトリも他方のサブセットではないためです。
SELECT NEW ST_LineString( 'LineString( 0 0, 5 0 )' )
.ST_Overlaps( NEW ST_LineString( 'LineString( 2 0, 3 0, 3 3 )' ) )
230
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
次の例では、結果として NULL を返します。これは、線ストリングとポイントの次元が異なるためです。
SELECT NEW ST_LineString( 'LineString( 0 0, 5 0 )' )
.ST_Overlaps( NEW ST_Point( 1, 0 ) )
次の例では、結果として 0 を返します。これは、ポイントが複数ポイントのサブセットであるためです。
SELECT NEW ST_MultiPoint( 'MultiPoint(( 2 3 ), ( 1 0 ))' )
.ST_Overlaps( NEW ST_Point( 1, 0 ) )
次の例では、結果として 24,25,28,31 を返します。このリストは、指定した多角形と重なり合う ShapeID です。
SELECT LIST( ShapeID ORDER BY ShapeID ) FROM SpatialShapes
WHERE Shape.ST_Overlaps( NEW ST_Polygon( 'Polygon(( -1 0, 0 0, 0 1, -1 1, -1
0 ))' )
) = 1
4.1.6.60 ST_Relate メソッド
あるジオメトリ値と別のジオメトリ値との空間的な関係が、交点マトリックスで指定されているとおりかどうかをテストしま
す。
ST_Relate メソッドは、Dimensionally Extended 9 Intersection Model (DE-9IM) からの 9 文字の文字列を使用して、
2 つの空間データ項目間のペアワイズの関係を示します。たとえば、ST_Relate メソッドは、ジオメトリ間に共通部分が存
在するかどうかを確認し、存在する場合は結果の共通部分のジオメトリを調べます。
オーバロードリスト
表 92:
名前
ST_Relate(ST_Geometry,CHAR(9)) [232 ページ]
説明
あるジオメトリ値と別のジオメトリ値との空間的な関係が、交点マト
リックスで指定されているとおりかどうかをテストします。
ST_Relate メソッドは、Dimensionally Extended 9 Intersection
Model (DE-9IM) からの 9 文字の文字列を使用して、2 つの空間
データ項目間のペアワイズの関係を示します。たとえば、
ST_Relate メソッドは、ジオメトリ間に共通部分が存在するかどう
かを確認し、存在する場合は結果の共通部分のジオメトリを調べ
ます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
231
名前
説明
ST_Relate(ST_Geometry) [234 ページ]
交点マトリックスを返すことによって、ジオメトリ値がどのように別
のジオメトリ値と空間的に関係しているかを確認します。
ST_Relate メソッドは、Dimensionally Extended 9 Intersection
Model (DE-9IM) からの 9 文字の文字列を返すことで、2 つの空
間データ項目間のペアワイズの関係を示します。たとえば、
ST_Relate メソッドは、ジオメトリ間に共通部分が存在するかどう
かを確認し、存在する場合は結果の共通部分のジオメトリを調べ
ます。
4.1.6.60.1 ST_Geometry タイプの
ST_Relate(ST_Geometry,CHAR(9)) メソッド
あるジオメトリ値と別のジオメトリ値との空間的な関係が、交点マトリックスで指定されているとおりかどうかをテストしま
す。
ST_Relate メソッドは、Dimensionally Extended 9 Intersection Model (DE-9IM) からの 9 文字の文字列を使用して、
2 つの空間データ項目間のペアワイズの関係を示します。たとえば、ST_Relate メソッドは、ジオメトリ間に共通部分が存
在するかどうかを確認し、存在する場合は結果の共通部分のジオメトリを調べます。
構文
構文
<geometry-expression>.ST_Relate(<geo2>,<relate-matrix>)
パラメータ
表 93:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
2 番目のジオメトリ値。
232
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
タイプ
説明
relate-matrix
CHAR(9)
Dimensionally Extended 9 Intersection
Model でマトリックスを表す 9 文字の文字
列。9 文字の文字列に定義された各文字
は、2 つのジオメトリの内部、境界、外部の
間の考えられる 9 つの共通部分のいずれ
かで許可される共通部分タイプを表しま
す。
戻り値
BIT
2 つのジオメトリに指定の関係がある場合は 1 を返し、それ以外の場合は 0 を返します。
備考
2 つのジオメトリの内部、境界、外部の間の共通部分をテストすることによって、ジオメトリ値が、交点マトリックスで指定さ
れているとおりに別のジオメトリ値と空間的に関係しているかどうかをテストします。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.25
例
例
次の例では、指定した線と '0F***T***' の関係を持つ各シェイプについて、1 ローずつの結果を返します。'0' は、両方
のジオメトリの内部が交差し、ポイントまたは複数ポイントを形成する必要があることを意味します。'F' は、線の内部と
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
233
Shape の境界が交差してはならないことを意味します。'T' は、線の外部と Shape の内部が交差する必要があること
を意味します。
SELECT ShapeID, "Description" From SpatialShapes
WHERE NEW ST_LineString( 'LineString( 0 0, 10 0 )' )
.ST_Relate( Shape, '0F****T**' ) = 1
ORDER BY ShapeID
この例では、次の結果セットを返します。
表 94:
ShapeID
説明
18
CircularString
30
Multicurve
4.1.6.60.2 ST_Geometry タイプの ST_Relate(ST_Geometry) メ
ソッド
交点マトリックスを返すことによって、ジオメトリ値がどのように別のジオメトリ値と空間的に関係しているかを確認します。
ST_Relate メソッドは、Dimensionally Extended 9 Intersection Model (DE-9IM) からの 9 文字の文字列を返すこと
で、2 つの空間データ項目間のペアワイズの関係を示します。たとえば、ST_Relate メソッドは、ジオメトリ間に共通部分
が存在するかどうかを確認し、存在する場合は結果の共通部分のジオメトリを調べます。
構文
構文
<geometry-expression>.ST_Relate(<geo2>)
パラメータ
表 95:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
2 番目のジオメトリ値。
234
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
CHAR(9)
Dimensionally Extended 9 Intersection Model でマトリックスを表す 9 文字の文字列を返します。9 文字の文字列
内の各文字は、2 つのジオメトリの内部、境界、外部の間の考えられる 9 つの共通部分のいずれかの共通部分タイ
プを表します。
備考
2 つのジオメトリの内部、境界、外部の間の共通部分をテストすることによって、ジオメトリ値が、交点マトリックスで指定さ
れているとおりに別のジオメトリ値と空間的に関係しているかどうかをテストします。
交点マトリックスは文字列として返されます。このメソッドの変形版を使用して、返された文字列を調べることによって空間
関係をテストすることはできますが、パターン文字列を 2 番目のパラメータとして渡すか、ST_Contains や
ST_Intersects などの特定の空間述部を使用することによって、関係をテストする方が効率的です。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 1F2001102 を返します。
SELECT NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 0 2, 0 0 ))' )
.ST_Relate( NEW ST_LineString( 'LineString( 0 1, 5 1 )' ) )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
235
4.1.6.61 ST_Reverse メソッド
要素の順序を逆にしたジオメトリを返します。
構文
構文
<geometry-expression>.ST_Reverse()
戻り値
ST_Geometry
要素の順序を逆にしたジオメトリを返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
要素の順序を逆にしたジオメトリを返します。曲線の場合、頂点の順序を逆にした曲線が返されます。コレクションの場
合、子ジオメトリの順序を逆にしたコレクションが返されます。
注記
ST_Reverse では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
236
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として LineString (3 4, 1 2) を返します。これは、線ストリング内のポイントの順序が
ST_Reverse によってどのように逆にされるかを示しています。
SELECT NEW ST_LineString( NEW ST_Point(1,2), NEW ST_Point(3,4) ).ST_Reverse()
4.1.6.62 ST_SRID メソッド
ジオメトリ値に関連付けられている空間参照系を取り出したり、変更したりします。
オーバロードリスト
表 96:
名前
説明
ST_SRID() [237 ページ]
ジオメトリの SRID を返します。
ST_SRID(INT) [238 ページ]
値を変更することなく、ジオメトリに関連付けられている空間参照
系を変更します。
4.1.6.62.1 ST_Geometry タイプの ST_SRID() メソッド
ジオメトリの SRID を返します。
構文
構文
<geometry-expression>.ST_SRID()
戻り値
INT
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
237
ジオメトリの SRID を返します。
備考
ジオメトリの SRID を返します。すべてのジオメトリが空間参照系に関連付けられています。
注記
ST_SRID では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.5
例
例
次の例では、結果として 0 を返します。これは、テーブル内のすべての Shape の SRID が 0 (「デフォルト」空間参照
系) であることを示しています。
SELECT DISTINCT Shape.ST_SRID() FROM SpatialShapes
次の例では、結果として 0 を返します。これは、ポイントの SRID が 0 (「デフォルト」空間参照系) であることを示してい
ます。
SELECT NEW ST_Point().ST_SRID()
4.1.6.62.2 ST_Geometry タイプの ST_SRID(INT) メソッド
値を変更することなく、ジオメトリに関連付けられている空間参照系を変更します。
構文
構文
<geometry-expression>.ST_SRID(<srid>)
238
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 97:
名前
タイプ
説明
srid
INT
結果に使用する SRID。
戻り値
ST_Geometry
指定した空間参照系を使用するジオメトリ値のコピーを返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_SRID メソッドは、srid パラメータで指定された SRID を使用する <geometry-expression> のコピーを作成しま
す。ST_SRID は、ソースとターゲットの両方の空間参照系で同じ座標系が使用されている場合に使用できます。
異なる座標系を使用する 2 つの空間参照系間でジオメトリを変換する場合は、ST_Transform メソッドを使用してくださ
い。
注記
ST_SRID では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.5
例
例
次の例では、結果として SRID=1000004326;Point (-118 34) を返します。
SELECT NEW ST_Point( -118, 34, 4326 ).ST_SRID( 1000004326 ).ST_AsText( 'EWKT' )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
239
4.1.6.63 ST_SRIDFromBaseType メソッド
タイプ文字列を定義している文字列を解析します。
構文
構文
ST_Geometry::ST_SRIDFromBaseType(<base-type-str>)
パラメータ
表 98:
名前
タイプ
説明
base-type-str
VARCHAR(128)
ベースタイプ文字列を含む文字列
戻り値
INT
タイプ文字列から SRID を返します。文字列で SRID が指定されていない場合は NULL を返します。タイプ文字列が
有効なジオメトリタイプ文字列でない場合は、エラーが返されます。
備考
<ST_Geometry::ST_SRIDFromBaseType> メソッドを使用して、タイプ文字列の定義から SRID を解析できます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
240
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として NULL を返します。
SELECT ST_Geometry::ST_SRIDFromBaseType('ST_Geometry')
次の例では、結果として 4326 を返します。
SELECT ST_Geometry::ST_SRIDFromBaseType('ST_Geometry(SRID=4326)')
4.1.6.64 ST_SnapToGrid メソッド
指定したグリッドにすべてのポイントがスナップされたジオメトリのコピーを返します。
オーバロードリスト
表 99:
名前
説明
ST_SnapToGrid(DOUBLE) [241 ページ]
指定したグリッドにすべてのポイントがスナップされたジオメトリの
コピーを返します。
ST_SnapToGrid(ST_Point,DOUBLE,DOUBLE,DOUBLE,DOU
指定したグリッドにすべてのポイントがスナップされたジオメトリの
BLE) [243 ページ]
コピーを返します。
4.1.6.64.1 ST_Geometry タイプの ST_SnapToGrid(DOUBLE) メ
ソッド
指定したグリッドにすべてのポイントがスナップされたジオメトリのコピーを返します。
構文
構文
<geometry-expression>.ST_SnapToGrid(<cell-size>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
241
パラメータ
表 100:
名前
タイプ
説明
cell-size
DOUBLE
グリッドのセルサイズ。
戻り値
ST_Geometry
グリッドにすべてのポイントがスナップされたジオメトリを返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_SnapToGrid メソッドを使用して、オリジンとセルサイズで定義したグリッドにジオメトリ内のすべてのポイントをスナッ
プすることによって、データの精度を下げることができます。
X 座標と Y 座標がグリッドにスナップされます。Z 値と M 値は変更されません。
注記
精度を下げると、結果のジオメトリに別のプロパティが含まれる可能性があります。たとえば、単純な線ストリングがそ
れ自体と交差したり、無効なジオメトリが生成されたりする可能性があります。
注記
各空間参照系で、すべてのジオメトリが自動的にスナップされるグリッドが定義されます。この事前に定義されたグリッ
ドよりも高い精度を格納することはできません。
注記
ST_SnapToGrid では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
242
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として LineString (1.536133 6.439453, 2.173828 6.100586) を返します。
SELECT NEW ST_LineString( 'LineString( 1.5358 6.4391, 2.17401 6.10018 )' )
.ST_SnapToGrid( 0.001 )
それぞれの X 座標と Y 座標は、約 0.001 のグリッドサイズを使用して、最も近いグリッドポイントに移動されます。実
際に使用されるグリッドサイズは、指定したグリッドサイズとは完全には一致しません。
4.1.6.64.2 ST_Geometry タイプの
ST_SnapToGrid(ST_Point,DOUBLE,DOUBLE,DOU
BLE,DOUBLE) メソッド
指定したグリッドにすべてのポイントがスナップされたジオメトリのコピーを返します。
構文
構文
<geometry-expression>.ST_SnapToGrid(<origin>,<cell-size-x>,<cell-size-y>,<cellsize-z>,<cell-size-m>)
パラメータ
表 101:
名前
タイプ
説明
origin
ST_Point
グリッドの原点。
cell-size-x
DOUBLE
X 次元のグリッドのセルサイズ。
cell-size-y
DOUBLE
Y 次元のグリッドのセルサイズ。
cell-size-z
DOUBLE
Z 次元のグリッドのセルサイズ。
cell-size-m
DOUBLE
M 次元のグリッドのセルサイズ。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
243
戻り値
ST_Geometry
グリッドにすべてのポイントがスナップされたジオメトリを返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_SnapToGrid メソッドを使用して、オリジンとセルサイズで定義したグリッドにジオメトリ内のすべてのポイントをスナッ
プすることによって、データの精度を下げることができます。
次元ごとに異なるセルサイズを指定できます。1 次元のポイントをスナップしない場合は、セルサイズ 0 を使用できます。
注記
精度を下げると、結果のジオメトリに別のプロパティが含まれる可能性があります。たとえば、単純な線ストリングがそ
れ自体と交差したり、無効なジオメトリが生成されたりする可能性があります。
注記
各空間参照系で、すべてのジオメトリが自動的にスナップされるグリッドが定義されます。この事前に定義されたグリッ
ドよりも高い精度を格納することはできません。
注記
ST_SnapToGrid では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として LineString (1.010101 20.20202, 1.015625 20.203125, 1.01 20.2) を返
します。
SELECT NEW ST_LineString(
NEW ST_Point( 1.010101, 20.202020 ),
TREAT( NEW ST_Point( 1.010101, 20.202020 ).ST_SnapToGrid( NEW
ST_Point( 0.0, 0.0 ), POWER( 2, -6 ), POWER( 2, -7 ), 0.0, 0.0 ) AS ST_Point ),
244
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
TREAT( NEW ST_Point( 1.010101, 20.202020 ).ST_SnapToGrid( NEW
ST_Point( 1.01, 20.2 ), POWER( 2, -6 ), POWER( 2, -7 ), 0.0, 0.0 ) AS
ST_Point ) )
線ストリングの最初のポイントは、SRID 0 に定義されたグリッドにスナップされたポイント ST_Point( 1.010101,
20.202020 ) です。
線ストリングの 2 番目のポイントは、ポイント ( 0.0 0.0 ) のオリジンで定義されたグリッドにスナップされた同一ポイント
です。ここで、セルサイズ x は POWER( 2, -6 )、セルサイズ y は POWER( 2, -7 ) です。
線ストリングの 3 番目のポイントは、ポイント ( 1.01 20.2 ) のオリジンで定義されたグリッドにスナップされた同一ポイ
ントです。ここで、セルサイズ x は POWER( 2, -6 )、セルサイズ y は POWER( 2, -7 ) です。
4.1.6.65 ST_SymDifference メソッド
2 つのジオメトリの対称差を表すジオメトリ値を返します。
構文
構文
<geometry-expression>.ST_SymDifference(<geo2>)
パラメータ
表 102:
名前
タイプ
説明
geo2
ST_Geometry
対称差を調べるために <geometryexpression> から減算するもう一方のジ
オメトリ値。
戻り値
ST_Geometry
2 つのジオメトリの対称差を表すジオメトリ値を返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
245
備考
ST_SymDifference メソッドは、2 つのジオメトリの対称差を調べます。対称差は、2 つのジオメトリのいずれかにのみ存
在するすべてのポイントで構成されます。2 つのジオメトリ値が同じポイントで構成される場合、ST_SymDifference メソッ
ドは空のジオメトリを返します。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.21
例
例
次の例は、正方形 (A) と円 (B) の対称差 (C) を示します。
SELECT NEW ST_Polygon( 'Polygon( (-1 -0.25, 1 -0.25, 1 2.25, -1 2.25, -1
-0.25) )' ) AS A
, NEW ST_CurvePolygon( 'CurvePolygon( CircularString( 0 1, 1 2, 2 1, 1 0,
0 1 ) )' ) AS B
, A.ST_SymDifference( B ) AS C
次の図は、対称差の結果 (図の網掛け部分) を示します。対称差は、2 つの面を含む複数面です。一方の面には、正
方形には存在し、円には存在しないすべてのポイントが含まれます。もう一方の面には、円には存在し、正方形には存
在しないすべてのポイントが含まれます。
246
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.66 ST_ToCircular メソッド
ジオメトリを円ストリングに変換します。
構文
構文
<geometry-expression>.ST_ToCircular()
戻り値
ST_CircularString
<geometry-expression> が ST_CircularString タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が、ST_CircularString タイプの 1 つの要素を含む ST_CompoundCurve タイプの
場合は、その要素を返します。<geometry-expression> が、ST_CircularString タイプの 1 つの要素を含むジ
オメトリコレクションの場合は、その要素を返します。<geometry-expression> が空のセットの場合は、
ST_CircularString タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
このジオメトリを円ストリングに変換します。このロジックは、CAST( <geometry-expression> AS
ST_CircularString ) に使用されるロジックと同等です。
<geometry-expression> が ST_CircularString 値であるとすでにわかっている場合は、ST_ToCircular メソッドより
も TREAT( <geometry-expression> AS ST_CircularString) を使用する方が効率的です。
注記
ST_ToCircular では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
247
5.1.33
例
例
次の例では、結果として CircularString (0 0, 1 1, 2 0) を返します。
SELECT NEW ST_CompoundCurve( 'CompoundCurve(CircularString( 0 0, 1 1, 2
0 ))' ).ST_ToCircular()
4.1.6.67 ST_ToCompound メソッド
ジオメトリを複合曲線に変換します。
構文
構文
<geometry-expression>.ST_ToCompound()
戻り値
ST_CompoundCurve
<geometry-expression> が ST_CompoundCurve タイプの場合は、<geometry-expression> を返しま
す。<geometry-expression> が ST_LineString または ST_CircularString タイプの場合は、1 つの要素
(<geometry-expression>) を含む複合曲線を返します。<geometry-expression> が、ST_Curve タイプの
1 つの要素を含むジオメトリコレクションの場合は、その要素キャストを ST_CompoundCurve として返します。
<geometry-expression> が空のセットの場合は、ST_CompoundCurve タイプの空のセットを返します。それ以
外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ジオメトリを円ストリングに変換します。このロジックは、CAST( <geometry-expression> AS
ST_CompoundCurve ) に使用されるロジックと同等です。
248
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
<geometry-expression> が ST_CompoundCurve 値であるとすでにわかっている場合は、ST_ToCompound メソ
ッドよりも TREAT( <geometry-expression> AS ST_CompoundCurve) を使用する方が効率的です。
注記
ST_ToCompound では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、結果として CompoundCurve ((0 0, 2 1)) を返します。
SELECT NEW ST_LineString( 'LineString( 0 0, 2 1 )' ).ST_ToCompound()
4.1.6.68 ST_ToCurve メソッド
ジオメトリを曲線に変換します。
構文
構文
<geometry-expression>.ST_ToCurve()
戻り値
ST_Curve
<geometry-expression> が ST_Curve タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が、ST_Curve タイプの 1 つの要素を含むジオメトリコレクションの場合は、その要素
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
249
を返します。<geometry-expression> が空のセットの場合は、ST_LineString タイプの空のセットを返します。そ
れ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ジオメトリを曲線に変換します。このロジックは、 CAST(<geometry-expression>AS ST_Curve ) に使用されるロジ
ックと同等です。
<geometry-expression> が ST_Curve 値であるとすでにわかっている場合は、ST_ToCurve メソッドよりも
TREAT( <geometry-expression> AS ST_Curve) を使用する方が効率的です。
注記
ST_ToCurve では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として LineString (0 0, 1 1, 2 0) を返します。
SELECT NEW ST_GeomCollection( 'GeometryCollection(LineString(0 0, 1 1, 2
0))' ).ST_ToCurve()
250
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.69 ST_ToCurvePoly メソッド
ジオメトリを曲線多角形に変換します。
構文
構文
<geometry-expression>.ST_ToCurvePoly()
戻り値
ST_CurvePolygon
<geometry-expression> が ST_CurvePolygon タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が、ST_CurvePolygon タイプの 1 つの要素を含むジオメトリコレクションの場合は、そ
の要素を返します。<geometry-expression> が空のセットの場合は、ST_CurvePolygon タイプの空のセットを
返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_CurvePolygon 値であるとすでにわかっている場合は、ST_ToCurvePoly メソッド
よりも TREAT( <geometry-expression> AS ST_CurvePolygon) を使用する方が効率的です。
注記
ST_ToCurvePoly では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
251
例
例
次の例では、結果として Polygon ((0 0, 2 0, 1 2, 0 0)) を返します。
SELECT NEW ST_MultiPolygon('MultiPolygon(((0 0, 2 0, 1 2, 0
0)))' ).ST_ToCurvePoly()
4.1.6.70 ST_ToGeomColl メソッド
ジオメトリをジオメトリコレクションに変換します。
構文
構文
<geometry-expression>.ST_ToGeomColl()
戻り値
ST_GeomCollection
<geometry-expression> が ST_GeomCollection タイプの場合は、<geometry-expression> を返しま
す。<geometry-expression> が ST_Point、ST_Curve、または ST_Surface タイプの場合は、1 つの要素
(<geometry-expression>) を含むジオメトリコレクションを返します。<geometry-expression> が空のセッ
トの場合は、ST_GeomCollection タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_GeomCollection 値であるとすでにわかっている場合は、ST_ToGeomColl メソッ
ドよりも TREAT( <geometry-expression> AS ST_GeomCollection ) を使用する方が効率的です。
注記
ST_ToGeomColl では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
252
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、結果として GeometryCollection (Point (0 1)) を返します。
SELECT NEW ST_Point( 0, 1 ).ST_ToGeomColl()
4.1.6.71 ST_ToLineString メソッド
ジオメトリを線ストリングに変換します。
構文
構文
<geometry-expression>.ST_ToLineString()
戻り値
ST_LineString
<geometry-expression> が ST_LineString タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が ST_CircularString または ST_CompoundCurve の場合は、<geometryexpression>.ST_CurveToLine() を返します。<geometry-expression> が、ST_Curve タイプの 1 つの要素
を含むジオメトリコレクションの場合は、その要素キャストを ST_LineString として返します。<geometryexpression> が空のセットの場合は、ST_LineString タイプの空のセットを返します。それ以外の場合は、例外条
件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
253
備考
ジオメトリを線ストリングに変換します。このロジックは、CAST( <geometry-expression> AS ST_LineString ) に使
用されるロジックと同等です。<geometry-expression> が円ストリングまたは複合曲線の場合は、
ST_CurveToLine() を使用して補間されます。
<geometry-expression> が ST_LineString 値であるとすでにわかっている場合は、ST_ToLineString メソッドより
も TREAT( <geometry-expression> AS ST_LineString ) を使用する方が効率的です。
注記
ST_ToLineString では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、Shape カラムが ST_Geometry タイプであり、ST_Geometry では ST_Length メソッドがサポートされて
いないため、エラーが返されます。
SELECT Shape.ST_Length()
FROM SpatialShapes WHERE ShapeID = 5
次の例では、ST_ToLineString を使用して、Shape カラム式のタイプを ST_LineString に変更します。ST_Length
は、結果として 7 を返します。
SELECT Shape.ST_ToLineString().ST_Length()
FROM SpatialShapes WHERE ShapeID = 5
この場合、Shape カラムの値は ST_LineString タイプであるとわかっているため、TREAT を使用して式のタイプを効
率的に変更できます。ST_Length は、結果として 7 を返します。
SELECT TREAT( Shape AS ST_LineString ).ST_Length()
FROM SpatialShapes WHERE ShapeID = 5
254
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.72 ST_ToMultiCurve メソッド
ジオメトリを複数曲線値に変換します。
構文
構文
<geometry-expression>.ST_ToMultiCurve()
戻り値
ST_MultiCurve
<geometry-expression> が ST_MultiCurve タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が曲線のみを含むジオメトリコレクションの場合は、<geometry-expression> の
要素を含む複数曲線オブジェクトを返します。<geometry-expression> が ST_Curve タイプの場合は、1 つの要
素 (<geometry-expression>) を含む複数曲線値を返します。<geometry-expression> が空のセットの場
合は、ST_MultiCurve タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_MultiCurve 値であるとすでにわかっている場合は、ST_ToMultiCurve メソッドより
も TREAT( <geometry-expression> AS ST_MultiCurve) を使用する方が効率的です。
注記
ST_ToMultiCurve では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
255
例
例
次の例では、結果として MultiCurve ((0 7, 0 4, 4 4)) を返します。
SELECT Shape.ST_ToMultiCurve()
FROM SpatialShapes WHERE ShapeID = 5
4.1.6.73 ST_ToMultiLine メソッド
ジオメトリを複数線ストリング値に変換します。
構文
構文
<geometry-expression>.ST_ToMultiLine()
戻り値
ST_MultiLineString
<geometry-expression> が ST_MultiLineString タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が線のみを含むジオメトリコレクションの場合は、<geometry-expression> の要
素を含む複数線ストリングオブジェクトを返します。<geometry-expression> が ST_LineString タイプの場合
は、1 つの要素 (<geometry-expression>) を含む複数線ストリング値を返します。<geometryexpression> が空のセットの場合は、ST_MultiCurve タイプの空のセットを返します。それ以外の場合は、例外条
件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_MultiLineString 値であるとすでにわかっている場合は、ST_ToMultiLine メソッド
よりも TREAT( <geometry-expression> AS ST_MultiLineString) を使用する方が効率的です。
256
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
注記
ST_ToMultiLine では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、Shape カラムが ST_Geometry タイプであり、ST_Geometry では ST_Length メソッドがサポートされて
いないため、エラーが返されます。
SELECT Shape.ST_Length()
FROM SpatialShapes WHERE ShapeID = 29
次の例では、ST_ToMultiLine を使用して、Shape カラム式のタイプを ST_MultiLineString に変更します。この例
は、Shape 値が ST_LineString タイプである ShapeID 5 にも使用できます。ST_Length は、結果として 4.236068
を返します。
SELECT Shape.ST_ToMultiLine().ST_Length()
FROM SpatialShapes WHERE ShapeID = 29
この場合、Shape カラムの値は ST_MultiLineString タイプであるとわかっているため、TREAT を使用して式のタイプ
を効率的に変更できます。この例は、Shape 値が ST_LineString タイプである ShapeID 5 には使用できません。
ST_Length は、結果として <codeph>4.236068</codeph> を返します。
SELECT TREAT( Shape AS ST_MultiLineString ).ST_Length()
FROM SpatialShapes WHERE ShapeID = 29
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
257
4.1.6.74 ST_ToMultiPoint メソッド
ジオメトリを複数ポイント値に変換します。
構文
構文
<geometry-expression>.ST_ToMultiPoint()
戻り値
ST_MultiPoint
<geometry-expression> が ST_MultiPoint タイプの場合は、<geometry-expression> を返します。
<geometry-expression> がポイントのみを含むジオメトリコレクションの場合は、<geometry-expression>
の要素を含む複数ポイントオブジェクトを返します。<geometry-expression> が ST_Point タイプの場合は、1 つ
の要素 (<geometry-expression>) を含む複数ポイント値を返します。<geometry-expression> が空のセ
ットの場合は、ST_MultiPoint タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_MultiPoint 値であるとすでにわかっている場合は、ST_ToMultiPoint メソッドより
も TREAT( <geometry-expression> AS ST_MultiPoint ) を使用する方が効率的です。
注記
ST_ToMultiPoint では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
258
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
例
次の例では、結果として MultiPoint EMPTY を返します。
SELECT NEW ST_GeomCollection().ST_ToMultiPoint()
4.1.6.75 ST_ToMultiPolygon メソッド
ジオメトリを複数多角形値に変換します。
構文
構文
<geometry-expression>.ST_ToMultiPolygon()
戻り値
ST_MultiPolygon
<geometry-expression> が ST_MultiPolygon タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が多角形のみを含むジオメトリコレクションの場合は、<geometry-expression>
の要素を含む複数多角形オブジェクトを返します。<geometry-expression> が ST_Polygon タイプの場合は、1
つの要素 (<geometry-expression>) を含む複数多角形値を返します。<geometry-expression> が空の
セットの場合は、ST_MultiSurface タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_MultiPolygon 値であるとすでにわかっている場合は、ST_ToMultiPolygon メソッ
ドよりも TREAT( <geometry-expression> AS ST_MultiPolygon) を使用する方が効率的です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
259
注記
ST_ToMultiPolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、結果として MultiPolygon EMPTY を返します。
SELECT NEW ST_GeomCollection().ST_ToMultiPolygon()
次の例では、Shape カラムが ST_Geometry タイプであり、ST_Geometry では ST_Area メソッドがサポートされてい
ないため、エラーを返します。
SELECT Shape.ST_Area()
FROM SpatialShapes WHERE ShapeID = 27
次の例では、ST_ToMultiPolygon を使用して、Shape カラム式のタイプを ST_MultiPolygon に変更します。この例
は、Shape 値が ST_LineString タイプである ShapeID 22 にも使用できます。ST_Area は、結果として 8 を返しま
す。
SELECT Shape.ST_ToMultiPolygon().ST_Area()
FROM SpatialShapes WHERE ShapeID = 27
この場合、Shape カラムの値は ST_MultiPolygon タイプであるとわかっているため、TREAT を使用して式のタイプを
効率的に変更できます。この例は、Shape 値が ST_Polygon タイプである ShapeID 22 には使用できません。
ST_Area は、結果として 8 を返します。
SELECT TREAT( Shape AS ST_MultiPolygon ).ST_Area()
FROM SpatialShapes WHERE ShapeID = 27
260
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.76 ST_ToMultiSurface メソッド
ジオメトリを複数面値に変換します。
構文
構文
<geometry-expression>.ST_ToMultiSurface()
戻り値
ST_MultiSurface
<geometry-expression> が ST_MultiSurface タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が面のみを含むジオメトリコレクションの場合は、<geometry-expression> の要
素を含む複数面オブジェクトを返します。<geometry-expression> が ST_Surface タイプの場合は、1 つの要素
(<geometry-expression>) を含む複数面値を返します。<geometry-expression> が空のセットの場合は、
ST_MultiSurface タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
<geometry-expression> が ST_MultiSurface 値であるとすでにわかっている場合は、ST_ToMultiSurface メソッ
ドよりも TREAT( <geometry-expression> AS ST_MultiSurface) を使用する方が効率的です。
注記
ST_ToMultiSurface では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
261
例
例
次の例では、結果として MultiSurface EMPTY を返します。
SELECT NEW ST_GeomCollection().ST_ToMultiSurface()
次の例では、結果として MultiSurface (((3 3, 8 3, 4 8, 3 3))) を返します。
SELECT Shape.ST_ToMultiSurface()
FROM SpatialShapes WHERE ShapeID = 22
4.1.6.77 ST_ToPoint メソッド
ジオメトリをポイントに変換します。
構文
構文
<geometry-expression>.ST_ToPoint()
戻り値
ST_Point
<geometry-expression> が ST_Point タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が、ST_Point タイプの 1 つの要素を含むジオメトリコレクションの場合は、その要素を
返します。<geometry-expression> が空のセットの場合は、ST_Point タイプの空のセットを返します。それ以外
の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ジオメトリをポイントに変換します。このロジックは、CAST(<geometry-expression>AS ST_Point ) に使用されるロ
ジックと同等です。
262
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
<geometry-expression> が ST_Point 値であるとすでにわかっている場合は、ST_ToPoint メソッドよりも
TREAT( <geometry-expression> AS ST_Point) を使用する方が効率的です。
注記
ST_ToPoint では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、結果として Point (1 2) を返します。
SELECT NEW ST_GeomCollection( NEW ST_Point(1,2) ).ST_ToPoint()
4.1.6.78 ST_ToPolygon メソッド
ジオメトリを多角形に変換します。
構文
構文
<geometry-expression>.ST_ToPolygon()
戻り値
ST_Polygon
<geometry-expression> が ST_Polygon タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が ST_CurvePolygon タイプの場合は、<geometry-
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
263
expression>.ST_CurvePolyToPoly() を返します。<geometry-expression> が、ST_CurvePolygon タイプ
の 1 つの要素を含むジオメトリコレクションの場合は、その要素を返します。<geometry-expression> が空のセ
ットの場合は、ST_Polygon タイプの空のセットを返します。それ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ジオメトリを多角形に変換します。このロジックは、CAST(<geometry-expression>AS ST_Polygon ) に使用される
ロジックと同等です。<geometry-expression> が曲線多角形の場合は、ST_CurvePolyToPoly() を使用して補間さ
れます。
<geometry-expression> が ST_Polygon 値であるとすでにわかっている場合は、ST_ToPolygon メソッドよりも
TREAT( <geometry-expression> AS ST_Polygon) を使用する方が効率的です。
注記
ST_ToPolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.33
例
例
次の例では、結果として Polygon EMPTY を返します。
SELECT NEW ST_GeomCollection().ST_ToPolygon()
次の例では、Shape カラムが ST_Geometry タイプであり、ST_Geometry では ST_Area メソッドがサポートされてい
ないため、エラーを返します。
SELECT Shape.ST_Area()
FROM SpatialShapes WHERE ShapeID = 22
次の例では、ST_ToPolygon を使用して、Shape カラム式のタイプを ST_Polygon に変更します。ST_Area は、結果
として 12.5 を返します。
SELECT Shape.ST_ToPolygon().ST_Area()
FROM SpatialShapes WHERE ShapeID = 22
264
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
この場合、Shape カラムの値は ST_Polygon タイプであるとわかっているため、TREAT を使用して式のタイプを効率
的に変更できます。ST_Area は、結果として <codeph>12.5</codeph> を返します。
SELECT TREAT( Shape AS ST_Polygon ).ST_Area()
FROM SpatialShapes WHERE ShapeID = 22
4.1.6.79 ST_ToSurface メソッド
ジオメトリを面に変換します。
構文
構文
<geometry-expression>.ST_ToSurface()
戻り値
ST_Surface
<geometry-expression> が ST_Surface タイプの場合は、<geometry-expression> を返します。
<geometry-expression> が、ST_Surface タイプの 1 つの要素を含むジオメトリコレクションの場合は、その要
素を返します。<geometry-expression> が空のセットの場合は、ST_Polygon タイプの空のセットを返します。そ
れ以外の場合は、例外条件が発生します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ジオメトリを面に変換します。このロジックは、CAST(<geometry-expression>AS ST_Surface ) に使用されるロジッ
クと同等です。
<geometry-expression> が ST_Surface 値であるとすでにわかっている場合は、ST_ToSurface メソッドよりも
TREAT( <geometry-expression> AS ST_Surface ) を使用する方が効率的です。
注記
ST_ToSurface では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
265
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として Polygon EMPTY を返します。
SELECT NEW ST_GeomCollection().ST_ToSurface()
4.1.6.80 ST_Touches メソッド
ジオメトリ値が別のジオメトリ値と空間的に接触しているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Touches(<geo2>)
パラメータ
表 103:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> と接触している場合は 1 を返し、それ以外の場合は 0 を返します。
<geometry-expression> と <geo2> の次元がどちらも 0 の場合は NULL を返します。
266
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ジオメトリ値が別のジオメトリ値と空間的に接触しているかどうかをテストします。2 つのジオメトリの内部は交差しておら
ず、一方の値の 1 つ以上の境界ポイントがもう一方の値の内部または境界と交差している場合、これらのジオメトリは空
間的に接触しています。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.28
例
例
次の例では、両方の入力がポイントであり、境界を持たないため、NULL を返します。
SELECT NEW ST_Point(1,1).ST_Touches( NEW ST_Point( 1,1 ) )
次の例では、ShapeID 6 の "Lighting Bolt" シェイプと接触しているジオメトリの ShapeID をリストします。この例で
は、結果として 5,16,26 を返します。接触している 3 つの各ジオメトリは境界でのみ Lighting Bolt と交差していま
す。
SELECT List( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
WHERE Shape.ST_Touches( ( SELECT Shape FROM SpatialShapes WHERE ShapeID =
6 ) ) = 1
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
267
4.1.6.81 ST_Transform メソッド
指定した空間参照系に変換されたジオメトリ値のコピーを作成します。
構文
構文
<geometry-expression>.ST_Transform(<srid>)
パラメータ
表 104:
名前
タイプ
説明
srid
INT
結果の SRID。
戻り値
ST_Geometry
指定した空間参照系に変換されたジオメトリ値のコピーを返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_Transform メソッドは、現在の空間参照系の <geometry-expression> を指定の空間参照系に変換します。変
換時には、両方の空間参照系の変換定義が使用されます。変換は、PROJ.4 ライブラリを使用して実行されます。
ST_Transform は、異なる座標系間での変換に必要です。たとえば、ST_Transform を使用して、緯度と経度を使用す
るジオメトリを SRID 3310 "NAD83 / California Albers" のジオメトリに変換できます。"NAD83 / California Albers" 空
間参照系は、Albers 投影アルゴリズムとその線形測定単位のメートルを使用するカリフォルニア州のデータの平面投影
です。
緯度経度系から直交座標系への変換では、極のポイントに問題が生じることがあります。データベースサーバで北極また
は南極に近いポイントを変換できない場合、変換が成功するように、ポイントの緯度値が同じ経度に沿って極から若干
(1e-10 ラジアン強) 離れます。
268
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
同じ座標系を使用する 2 つの空間参照系間でジオメトリを変換する場合は、ST_Transform の代わりに ST_SRID メソッ
ドを使用できます。
空間チュートリアルには、空間参照系間でデータを変換する方法を示す手順が記載されています。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.6
例
例
次の例では、結果として Point (184755.86861 -444218.175691) を返します。緯度と経度で指定されたロサ
ンゼルス内のポイントを投影平面 SRID 3310 ("NAD83 / California Albers") に変換します。この例は、
sa_install_feature システムプロシージャによって 'st_geometry_predefined_srs' 機能がインストールされているこ
とを前提としています。sa_install_feature システムプロシージャを参照してください。
SELECT NEW ST_Point( -118, 34, 4326 ).ST_Transform( 3310 )
4.1.6.82 ST_Union メソッド
2 つのジオメトリの和集合を表すジオメトリ値を返します。
構文
構文
<geometry-expression>.ST_Union(<geo2>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
269
パラメータ
表 105:
名前
タイプ
geo2
ST_Geometry
説明
<geometry-expression> との論理和
を求めるもう一方のジオメトリ値。
戻り値
ST_Geometry
2 つのジオメトリの和集合を表すジオメトリ値を返します。
結果の空間参照系識別子は、<geometry-expression> の空間参照系と同じです。
備考
ST_Union メソッドは、2 つのジオメトリの空間的論理和を調べます。ポイントが 2 つの入力ジオメトリのいずれかに存在
する場合、そのポイントは論理和に含まれています。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.19
例
例
次の例は、正方形 (A) と円 (B) の論理和 (C) を示します。
SELECT NEW ST_Polygon( 'Polygon( (-1 -0.25, 1 -0.25, 1 2.25, -1 2.25, -1
-0.25) )' ) AS A
, NEW ST_CurvePolygon( 'CurvePolygon( CircularString( 0 1, 1 2, 2 1, 1 0,
0 1 ) )' ) AS B
, A.ST_Union( B ) AS C
次の図では、論理和は網掛けになっています。論理和は、A または B に存在するすべてのポイントを含む 1 つの面で
す。
270
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.83 ST_UnionAggr メソッド
グループ内のすべてのジオメトリの空間的論理和を返します。
構文
構文
ST_Geometry::ST_UnionAggr(<geometry-column>)
パラメータ
表 106:
名前
タイプ
説明
geometry-column
ST_Geometry
空間的論理和を生成するジオメトリ値。通
常、これはカラムです。
戻り値
ST_Geometry
グループ内のすべてのジオメトリの空間的論理和であるジオメトリを返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
271
備考
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
グループに NULL 以外のジオメトリが 1 つだけ含まれている場合は、そのジオメトリが返されます。それ以外の場合、論
理和は、ST_Union メソッドを繰り返し適用して、一度に 2 つのジオメトリを結合することで論理的に計算されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として Polygon ((.555555 3, 0 3, 0 1.75, 0 0, 3 0, 3 3, .75 3, 1 4, .
555555 3)) を返します。
SELECT ST_Geometry::ST_UnionAggr( Shape )
FROM SpatialShapes WHERE ShapeID IN ( 2, 6 )
4.1.6.84 ST_Within メソッド
ジオメトリ値が別のジオメトリ値内に空間的に含まれているかどうかをテストします。
構文
構文
<geometry-expression>.ST_Within(<geo2>)
272
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 107:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> 内にある場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_Within メソッドは、<geometry-expression> が完全に <geo2> 内にあり、<geometry-expression> の内
部にある <geo2> の内部ポイントが 1 つ以上存在するかどうかをテストします。
<geometry-expression>.ST_Within( <geo2> ) は、<geo2>.ST_Contains( <geometry-expression> ) と同
義です。
ST_Within メソッドと ST_CoveredBy メソッドは似ています。相違点は、ST_CoveredBy では内部ポイントの交差が不要
であることです。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.30
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
273
例
例
次の例では、ポイントが多角形内にあるかどうかをテストします。ポイントが完全に多角形内にあり、ポイント (ポイント
自体) の内部が多角形の内部と交差しているため、1 が返されます。
SELECT NEW ST_Point( 1, 1 )
.ST_Within( NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' ) )
次の例では、線が多角形内にあるかどうかをテストします。線は完全に多角形内にありますが、線の内部と多角形の
内部は交差していない (線は多角形の境界でのみ多角形と交差し、その境界は内部に含まれていない) ため、0 が返
されます。ST_Within の代わりに ST_CoveredBy を使用した場合は、1 が返されます。
SELECT NEW ST_LineString( 'LineString( 0 0, 1 0 )' )
.ST_Within( NEW ST_Polygon( 'Polygon(( 0 0, 2 0, 1 2, 0 0 ))' ) )
次の例では、指定したポイントが Shape ジオメトリ内にある ShapeID をリストします。この例では、結果として 3,5 を
返します。ポイントは多角形の境界でローの Shape 多角形と交差しているため、ShapeID 6 はリストされません。
SELECT LIST( ShapeID ORDER BY ShapeID )
FROM SpatialShapes
WHERE NEW ST_Point( 1, 4 ).ST_Within( Shape ) = 1
4.1.6.85 ST_WithinDistance メソッド
2 つのジオメトリが指定の相互距離内にあるかどうかをテストします。
構文
構文
<geometry-expression>.ST_WithinDistance(<geo2>,<distance>[, <unit-name>])
パラメータ
表 108:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> から距離が
測定されるもう一方のジオメトリ値。
274
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
タイプ
説明
distance
DOUBLE
2 つのジオメトリ間の許容範囲距離。
unit-name
VARCHAR(128)
distance パラメータを解釈するときに使用
する単位。デフォルトでは、空間参照系の
単位が使用されます。単位名は、
UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
戻り値
BIT
<geometry-expression> と <geo2> が指定の相互距離内にある場合は 1 を返し、それ以外の場合は 0 を返し
ます。
備考
ST_WithinDistance メソッドは、2 つのジオメトリ間の最短距離が、許容範囲を考慮に入れたうえで指定距離を超えてい
ないかどうかをテストします。
より厳密には、<d>が <geometry-expression> と <geo2> の間の最短距離を示すようにします。式 <geometryexpression>.ST_WithinDistance( <geo2>, <distance>[, <unit_name>]) は、 <d> <=
<distance> の場合、または関連付けられている空間参照系の許容範囲内の長さの分だけ<d> が <distance> を超
えている場合は、1 と評価されます。
平面の空間参照系の場合、距離は、平面内の直交座標系における距離として、関連付けられている空間参照系の線形
測定単位で計算されます。曲面の空間参照系の場合、距離は、空間参照系定義で楕円パラメータを使用して、地表面の
曲率を考慮して計算されます。
注記
<geometry-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
注記
曲面の空間参照系では、ST_WithinDistance メソッドは <geometry-expression> と <geo2> にポイントだけが
含まれている場合にのみサポートされます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
275
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、ポイント (2,3) の距離 1.4 までの範囲内にある各シェイプについて、1 ローずつの結果セット (順序付けさ
れたもの) を返します。
SELECT ShapeID, ROUND( Shape.ST_Distance( NEW ST_Point( 2, 3 ) ), 2 ) AS dist
FROM SpatialShapes
WHERE ShapeID < 17
AND Shape.ST_WithinDistance( NEW ST_Point( 2, 3 ), 1.4 ) = 1
ORDER BY dist
この例では、次の結果セットを返します。
表 109:
ShapeID
dist
2
0.0
3
0.0
5
1.0
6
1.21
次の例では、カナダのハリファックス (NS) とワーテルロー (ON) を表すポイントを作成し、2 つのポイント間の距離が
840 マイルではなく 850 マイルまでの範囲内にあることを示します。この例は、sa_install_feature システムプロシー
ジャによって 'st_geometry_predefined_uom' 機能がインストールされていることを前提としています。
SELECT NEW ST_Point( -63.573566, 44.646244, 4326 )
.ST_WithinDistance( NEW ST_Point( -80.522372, 43.465187, 4326 )
, 850, 'Statute mile' ) within850,
NEW ST_Point( -63.573566, 44.646244, 4326 )
.ST_WithinDistance( NEW ST_Point( -80.522372, 43.465187, 4326 )
, 840, 'Statute mile' ) within840
この例では、次の結果セットを返します。
表 110:
within850
within840
1
0
次の例では、2 つのポイントが 1 距離単位以内にあるため、結果 1 が返されます。
SELECT NEW ST_Point(0,0).ST_WithinDistance( NEW ST_Point(1,0), 1 )
次の例では、2 つのポイントが 1 距離単位以内にないため、結果 0 が返されます。
SELECT NEW ST_Point(0,0).ST_WithinDistance( NEW ST_Point(1,1), 1 )
276
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.86 ST_WithinDistanceFilter メソッド
2 つのジオメトリが指定距離内にあるかどうかを判定するための負荷の低い方法。
構文
構文
<geometry-expression>.ST_WithinDistanceFilter(<geo2>,<distance>[, <unit-name>])
パラメータ
表 111:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> から距離が
測定されるもう一方のジオメトリ値。
distance
DOUBLE
2 つのジオメトリ間の許容範囲距離。
unit-name
VARCHAR(128)
distance パラメータを解釈するときに使用
する単位。デフォルトでは、空間参照系の
単位が使用されます。単位名は、
UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
戻り値
BIT
<geometry-expression> と <geo2> が指定の相互距離内にある可能性がある場合は 1 を返し、それ以外の場
合は 0 を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
277
備考
ST_WithinDistanceFilter メソッドは、(ST_WithinDistance メソッドのように) 2 つのジオメトリが指定の相互距離内にあ
る可能性があるかどうかを調べる効率的なテストを提供します。<geometry-expression> が <geo2> との間の指定
距離内にある可能性がある場合は 1 を返し、それ以外の場合は 0 を返します。
このテストは ST_WithinDistance よりも低コストですが、2 つのジオメトリ間の最短距離が実際に指定距離より長い場合
でも 1 を返すことがあります。そのため、このメソッドは、今後の処理でジオメトリ間の本当の距離を判断するときにプライ
マリフィルタとして使用できます。
ST_WithinDistanceFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能
なメタデータはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で
ST_WithinDistanceFilter が使用される場所に応じて決定される)、 <geometry-expression> が <geo2> 内にない
場合、式 <geometry-expression>.ST_WithinDistanceFilter(<geo2>, <distance> [, <unit_name> ]) は異な
る結果を返すことがあります。<geometry-expression> が <geo2> との間の指定距離内にある場合、
ST_WithinDistanceFilter は常に 1 を返します。
注記
ST_WithinDistanceFilter では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ
以外の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE
FORMAT 句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、ポイント (2,3) の距離 1.4 までの範囲内にある各シェイプについて、1 ローずつの結果セット (順序付けさ
れたもの) を返します。結果には実際に指定距離内にないシェイプが含まれています。
SELECT ShapeID, ROUND( Shape.ST_Distance( NEW ST_Point( 2, 3 ) ), 2 ) AS dist
FROM SpatialShapes
WHERE ShapeID < 17
AND Shape.ST_WithinDistanceFilter( NEW ST_Point( 2, 3 ), 1.4 ) = 1
ORDER BY dist
この例では、次の結果セットを返します。
表 112:
ShapeID
dist
2
0.0
3
0.0
278
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
ShapeID
dist
5
1.0
6
1.21
16
1.41
次の例では、カナダのハリファックス (NS) とワーテルロー (ON) を表すポイントを作成し、ST_WithinDistanceFilter
を使用して、2 つのポイント間の距離は明らかに 750 マイル以内ではありませんが、850 マイルまでの範囲内にある
ことを示します。この例は、sa_install_feature システムプロシージャによって st_geometry_predefined_uom 機能
がインストールされていることを前提としています。sa_install_feature システムプロシージャを参照してください。
SELECT NEW ST_Point( -63.573566, 44.646244, 4326 )
.ST_WithinDistanceFilter( NEW ST_Point( -80.522372, 43.465187, 4326 )
, 850, 'Statute mile' ) within850,
NEW ST_Point( -63.573566, 44.646244, 4326 )
.ST_WithinDistanceFilter( NEW ST_Point( -80.522372, 43.465187, 4326 )
, 750, 'Statute mile' ) within750
この例では、次の結果セットを返します。
表 113:
within850
within750
1
0
4.1.6.87 ST_WithinFilter メソッド
ジオメトリが別のジオメトリ内にあるかどうかの低コストのテスト。
構文
構文
<geometry-expression>.ST_WithinFilter(<geo2>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
279
パラメータ
表 114:
名前
タイプ
説明
geo2
ST_Geometry
<geometry-expression> と比較する
もう一方のジオメトリ値。
戻り値
BIT
<geometry-expression> が <geo2> 内にある可能性がある場合は 1 を返し、それ以外の場合は 0 を返しま
す。
備考
ST_WithinFilter メソッドは、一方のジオメトリがもう一方のジオメトリ内にある可能性があるかどうかを調べる効率的なテ
ストを提供します。<varname translate="no">geometry-expression</varname> が <varname
translate="no">geo2</varname> 内にある可能性がある場合は 1 を返し、それ以外の場合は 0 を返します。
このテストは ST_Within よりも負荷が低いですが、<geometry-expression> が実際に空間的に <geo2> 内にない
場合でも 1 を返すことがあります。
そのため、このメソッドは、今後の処理でジオメトリの相互の影響が望ましいものであるかどうかを判断するときにプライマ
リフィルタとして使用できます。
ST_WithinFilter の実装は、格納されているジオメトリに関連付けられているメタデータに依存します。使用可能なメタデ
ータはサーバのバージョン間で変わる可能性があるため (データのロード方法やクエリ内で ST_WithinFilter が使用され
る場所に応じて決定される)、<geometry-expression> が <geo2> 内にない場合、式 <geometryexpression>.ST_WithinFilter(<geo2>) は異なる結果を返すことがあります。<geometry-expression> が
<geo2> 内にある場合、ST_WithinFilter は常に 1 を返します。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
280
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.6.88 ST_XMax メソッド
ジオメトリの最大 X 座標値を取り出します。
構文
構文
<geometry-expression>.ST_XMax()
戻り値
DOUBLE
<geometry-expression> の最大 X 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最大 X 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの X 属性を比較して計算されます。
地理的空間参照系では、返される値は軸順序の最初の座標に対応しています。軸順序が lat/lon/a/m の場合、最小値
は ST_LongWest によって返される <geometry-expression> の西の境界に対応し、最大値は ST_LongEast によ
って返される <geometry-expression> の東の境界に対応します。そのため、曲面モデルでは、<geometryexpression> が日付変更線と交差すると、最小値は最大値より大きくなります。軸順序が lon/lat/z/m の場合、最小
値は ST_LatSouth によって返される <geometry-expression> 最南ポイントに対応し、最大値は ST_LatNorth に
よって返される <geometry-expression> の最北ポイントに対応します。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_XMax では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
281
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 5 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_XMax()
次の例では、結果として 5 を返します。
SELECT NEW ST_LineString('LineString Z(1 2 3, 5 6 7)').ST_XMax()
4.1.6.89 ST_XMin メソッド
ジオメトリの最小 X 座標値を取り出します。
構文
構文
<geometry-expression>.ST_XMin()
戻り値
DOUBLE
<geometry-expression> の最小 X 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最小 X 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの X 属性を比較して計算されます。
282
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
地理的空間参照系では、返される値は軸順序の最初の座標に対応しています。軸順序が lat/lon/a/m の場合、最小値
は ST_LongWest によって返される <geometry-expression> の西の境界に対応し、最大値は ST_LongEast によ
って返される <geometry-expression> の東の境界に対応します。そのため、曲面モデルでは、<geometryexpression> が日付変更線と交差すると、最小値は最大値より大きくなります。軸順序が lon/lat/z/m の場合、最小
値は ST_LatSouth によって返される <geometry-expression> 最南ポイントに対応し、最大値は ST_LatNorth に
よって返される <geometry-expression> の最北ポイントに対応します。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_XMin では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 1 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_XMin()
次の例では、結果として 1 を返します。
SELECT NEW ST_LineString('LineString Z(1 2 3, 5 6 7)').ST_XMin()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
283
4.1.6.90 ST_YMax メソッド
ジオメトリの最大 Y 座標値を取り出します。
構文
構文
<geometry-expression>.ST_YMax()
戻り値
DOUBLE
<geometry-expression> の最大 Y 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最大 Y 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの Y 属性を比較して計算されます。
地理的空間参照系では、返される値は軸順序の最初の座標に対応しています。軸順序が lon/lat/z/m の場合、最小値
は ST_LatSouth によって返される <geometry-expression> 最南ポイントに対応し、最大値は ST_LatNorth によっ
て返される <geometry-expression> の最北ポイントに対応します。軸順序が lat/lon/a/m の場合、最小値は
ST_LongWest によって返される <geometry-expression> の西の境界に対応し、最大値は ST_LongEast によって
返される <geometry-expression> の東の境界に対応します。そのため、曲面モデルでは、<geometryexpression> が日付変更線と交差すると、最小値は最大値より大きくなります。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_YMax では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
284
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 6 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_YMax()
次の例では、結果として 6 を返します。
SELECT NEW ST_LineString('LineString Z(1 2 3, 5 6 7)').ST_YMax()
4.1.6.91 ST_YMin メソッド
ジオメトリの最小 Y 座標値を取り出します。
構文
構文
<geometry-expression>.ST_YMin()
戻り値
DOUBLE
<geometry-expression> の最小 Y 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最小 Y 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの Y 属性を比較して計算されます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
285
地理的空間参照系では、返される値は軸順序の最初の座標に対応しています。軸順序が lon/lat/z/m の場合、最小値
は ST_LatSouth によって返される <geometry-expression> 最南ポイントに対応し、最大値は ST_LatNorth によっ
て返される <geometry-expression> の最北ポイントに対応します。軸順序が lat/lon/a/m の場合、最小値は
ST_LongWest によって返される <geometry-expression> の西の境界に対応し、最大値は ST_LongEast によって
返される <geometry-expression> の東の境界に対応します。そのため、曲面モデルでは、<geometryexpression> が日付変更線と交差すると、最小値は最大値より大きくなります。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_YMin では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
例
次の例では、結果として 2 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_YMin()
次の例では、結果として 2 を返します。
SELECT NEW ST_LineString('LineString Z(1 2 3, 5 6 7)').ST_YMin()
4.1.6.92 ST_ZMax メソッド
ジオメトリの最大 Z 座標値を取り出します。
構文
<geometry-expression>.ST_ZMax()
286
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
DOUBLE
<geometry-expression> の最大 Z 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最大 Z 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの Z 属性を比較して計算されます。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_ZMax では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として 7 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_ZMax()
次の例では、結果として 7 を返します。
SELECT NEW ST_LineString('LineString Z(1 2 3, 5 6 7)').ST_ZMax()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
287
4.1.6.93 ST_ZMin メソッド
ジオメトリの最小 Z 座標値を取り出します。
構文
<geometry-expression>.ST_ZMin()
戻り値
DOUBLE
<geometry-expression> の最小 Z 座標値を返します。
備考
<varname translate="no">geometry-expression</varname> の最小 Z 座標値を返します。この値は、ジオメトリ内
のすべてのポイントの Z 属性を比較して計算されます。
注記
<geometry-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_ZMin では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として 3 を返します。
SELECT NEW ST_LineString( 'LineString ZM( 1 2 3 4, 5 6 7 8 )' ).ST_ZMin()
288
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
次の例では、結果として 3 を返します。
SELECT NEW ST_LineString('LineString Z(1 2 3, 5 6 7)').ST_ZMin()
4.1.7 ST_LineString タイプ
ST_LineString タイプは、コントロールポイント間で直線セグメントを使用するマルチセグメントラインを表すために使用さ
れます。
直接のスーパータイプ
● ST_Curve class [82 ページ]
コンストラクタ
● ST_LineString コンストラクタ [290 ページ]
メソッド
● ST_LineString のメソッド:
表 115:
ST_LineStringAggr [294 ペ
ST_NumPoints [296 ペー
ージ]
ジ]
ST_PointN [297 ページ]
● ST_Curve [82 ページ] のすべてのメソッド
● ST_Geometry [115 ページ] のすべてのメソッド
備考
ST_LineString タイプは、コントロールポイント間で直線セグメントを使用するマルチセグメントラインを表すために使用さ
れます。連続するポイントの各ペアは直線セグメントでジョインされます。
線は、正確に 2 つのポイントで構成される ST_LineString 値です。線形リングは、閉じている単純な ST_LineString 値
です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
289
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.2
4.1.7.1
ST_LineString コンストラクタ
線ストリングを構成します。
オーバロードリスト
表 116:
名前
説明
ST_LineString() [290 ページ]
空のセットを表す線ストリングを構成します。
ST_LineString(LONG VARCHAR[, INT]) [291 ページ]
テキスト表現から線ストリングを構成します。
ST_LineString(LONG BINARY[, INT]) [292 ページ]
Well Known Binary (WKB) から線ストリングを構成します。
ST_LineString(ST_Point,ST_Point,...) [293 ページ]
指定した空間参照系のポイントのリストから線ストリング値を構成
します。
4.1.7.1.1
ST_LineString() コンストラクタ
空のセットを表す線ストリングを構成します。
構文
NEW ST_LineString()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
290
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_LineString().ST_IsEmpty()
4.1.7.1.2
ST_LineString(LONG VARCHAR[, INT]) コンストラク
タ
テキスト表現から線ストリングを構成します。
構文
NEW ST_LineString(<text-representation>[, <srid>])
パラメータ
表 117:
名前
タイプ
説明
text-representation
LONG VARCHAR
線ストリングのテキスト表現を含む文字列。
入力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から線ストリングを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判
断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
291
7.2.2
例
次の例では、LineString (0 0, 5 10) を返します。
SELECT NEW ST_LineString('LineString (0 0, 5 10)')
4.1.7.1.3
ST_LineString(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) から線ストリングを構成します。
構文
NEW ST_LineString(<wkb>[, <srid>])
パラメータ
表 118:
名前
タイプ
説明
wkb
LONG BINARY
線ストリングのバイナリ表現を含む文字
列。入力には、Well Known Binary
(WKB) や拡張 Well Know Binary
(EWKB) など、サポートされている任意の
バイナリ入力フォーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から線ストリングを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマ
ットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
292
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
7.2.2
例
次の例では、LineString (0 0, 5 10) を返します。
SELECT NEW
ST_LineString(0x010200000002000000000000000000000000000000000000000000000000001
4400000000000002440)
4.1.7.1.4
ST_LineString(ST_Point,ST_Point,...) コンストラクタ
指定した空間参照系のポイントのリストから線ストリング値を構成します。
構文
NEW ST_LineString(<pt1>,<pt2>[,<pt3>,...,<ptN>])
パラメータ
表 119:
名前
タイプ
説明
pt1
ST_Point
線ストリングの最初のポイント。
pt2
ST_Point
線ストリングの 2 番目のポイント。
pt3,...,ptN
ST_Point
線ストリングの追加ポイント。
備考
ポイントのリストから線ストリング値を構成します。すべてのポイントの SRID を同じにしてください。結果の線ストリング
は、この共通 SRID を使用して構成されます。指定するすべてのポイントが空ではなく、Is3D と IsMeasured に対して同
じ回答を示す必要があります。すべてのポイントが 3D の場合に線ストリングも 3D になり、すべてのポイントが測定され
る場合に線ストリングも測定されます。
注記
ST_LineString では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
293
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として LineString (0 0, 1 1) を返します。
SELECT NEW ST_LineString( NEW ST_Point( 0, 0 ), NEW ST_Point( 1, 1 ) )
次の例では、結果として LineString (0 0, 1 1, 2 0) を返します。
SELECT NEW ST_LineString( NEW ST_Point( 0, 0 ), NEW ST_Point( 1, 1 ), NEW
ST_Point(2,0) )
4.1.7.2
ST_LineStringAggr メソッド
グループ内の順序付けされたポイントから構成された線ストリングを返します。
構文
ST_LineString::ST_LineStringAggr(<point>[ ORDER BY <order-by-expression> [ ASC |
DESC ], ... ] )
パラメータ
表 120:
名前
タイプ
説明
point
ST_Point
線ストリングを生成するポイント。通常、こ
れはカラムです。
戻り値
ST_LineString
グループ内のポイントから構成された線ストリングを返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
294
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ST_LineStringAggr 集合メソッドを使用して、順序付けされたポイントのグループから線ストリングを構成できます。結合
するすべてのジオメトリカラムの SRID を同じにしてください。また、結合するすべてのポイントが空ではなく、各ポイントの
座標次元が同じになるようにしてください。
ポイントが NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の線ストリングの座標次元は、各ポイントの座標次元と同じになります。
注記
線ストリング内のポイントの順序を制御するには、ORDER BY 句を指定してください。この句が存在しない場合、線スト
リング内のポイントの順序は、クエリオプティマイザによって選択されたアクセスプランに応じて変わります。
注記
ST_LineStringAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として LineString (0 0, 2 0, 1 1) を返します。
BEGIN
DECLARE LOCAL TEMPORARY TABLE t_points( pk INT PRIMARY KEY,
p ST_Point );
INSERT INTO t_points VALUES( 1, 'Point( 0 0 )' );
INSERT INTO t_points VALUES( 2, 'Point( 2 0 )' );
INSERT INTO t_points VALUES( 3, 'Point( 1 1 )' );
SELECT ST_LineString::ST_LineStringAggr( p ORDER BY pk )
FROM t_points;
END
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
295
4.1.7.3
ST_NumPoints メソッド
線ストリングを定義しているポイント数を返します。
注記
ST_NumPoints では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
構文
<linestring-expression>.ST_NumPoints()
戻り値
INT
線ストリング値が空の場合は NULL を返し、それ以外の場合は値に含まれるポイント数を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.2.4
例
次の例では、結果として 3 を返します。
SELECT TREAT( Shape AS ST_LineString ).ST_NumPoints()
FROM SpatialShapes WHERE ShapeID = 5
次の例では、結果として 5 を返します。
SELECT NEW ST_LineString('LineString(0 0, 1 0, 1 1, 0 1, 0 0 )').ST_NumPoints()
296
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.7.4
ST_PointN メソッド (ST_LineString type)
線ストリングの <n> 番目のポイントを返します。
注記
ST_PointN では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
構文
<linestring-expression>.ST_PointN(<n>)
パラメータ
表 121:
名前
タイプ
説明
n
INT
返す要素の位置 (1 ~ <linestringexpression>.ST_NumPoints())。
戻り値
ST_Point
<linestring-expression> の値が空のセットの場合は、NULL を返します。指定された位置 <n> が 1 未満か、
ポイント数を超えている場合は、NULL を返します。それ以外の場合は、位置 n の ST_Point 値を返します。
結果の空間参照系識別子は、<linestring-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.2.5
例
次の例では、結果として Point (0 4) を返します。
SELECT TREAT( Shape AS ST_LineString ).ST_PointN( 2 )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
297
FROM SpatialShapes WHERE ShapeID = 5
次の例では、geom の各ポイントにつき 1 つのローを返します。
BEGIN
DECLARE geom ST_LineString;
SET geom = NEW ST_LineString( 'LineString( 0 0, 1 0 )' );
SELECT row_num, geom.ST_PointN( row_num )
FROM sa_rowgenerator( 1, geom.ST_NumPoints() )
ORDER BY row_num;
END
この例では、次の結果セットを返します。
表 122:
row_num
geom.ST_PointN(row_num)
1
Point (0 0)
2
Point (1 0)
次の例では、結果として Point (1 0) を返します。
SELECT NEW ST_LineString('LineString(0 0, 1 0, 1 1, 0 1, 0 0 )').ST_PointN(2)
4.1.8 ST_MultiCurve タイプ
ST_MultiCurve は 0 個以上の ST_Curve 値のコレクションであり、すべての曲線が空間参照系内にあります。
直接のスーパータイプ
● ST_GeomCollection クラス [105 ページ]
直接のサブタイプ
● ST_MultiLineString タイプ [308 ページ]
コンストラクタ
● ST_MultiCurve コンストラクタ [299 ページ]
298
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
● ST_MultiCurve のメソッド:
表 123:
ST_IsClosed [304 ページ]
ST_Length [305 ページ]
ST_MultiCurveAggr [306 ペ
ージ]
● ST_GeomCollection [105 ページ] のすべてのメンバ
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3
4.1.8.1
ST_MultiCurve コンストラクタ
複数曲線を構成します。
オーバロードリスト
表 124:
名前
説明
ST_MultiCurve() [300 ページ]
空のセットを表す複数曲線を構成します。
ST_MultiCurve(LONG VARCHAR[, INT]) [300 ページ]
テキスト表現から複数曲線を構成します。
ST_MultiCurve(LONG BINARY[, INT]) [301 ページ]
Well Known Binary (WKB) から複数曲線を構成します。
ST_MultiCurve(ST_Curve,...) [302 ページ]
曲線値のリストから複数曲線を構成します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
299
4.1.8.1.1
ST_MultiCurve() コンストラクタ
空のセットを表す複数曲線を構成します。
構文
NEW ST_MultiCurve()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_MultiCurve().ST_IsEmpty()
4.1.8.1.2
ST_MultiCurve(LONG VARCHAR[, INT]) コンストラ
クタ
テキスト表現から複数曲線を構成します。
構文
NEW ST_MultiCurve(<text-representation>[, <srid>])
300
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 125:
名前
タイプ
text-representation
LONG VARCHAR
説明
複数曲線のテキスト表現を含む文字列。入
力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から複数曲線を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判断
します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3.2
例
次の例では、MultiCurve ((10 10, 12 12), CircularString (5 10, 10 12, 15 10)) を返します。
SELECT NEW ST_MultiCurve('MultiCurve ((10 10, 12 12), CircularString (5 10, 10
12, 15 10))')
4.1.8.1.3
ST_MultiCurve(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) から複数曲線を構成します。
構文
NEW ST_MultiCurve(<wkb>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
301
パラメータ
表 126:
名前
タイプ
説明
wkb
LONG BINARY
複数曲線のバイナリ表現を含む文字列。入
力には、Well Known Binary (WKB) や拡
張 Well Know Binary (EWKB) など、サポ
ートされている任意のバイナリ入力フォーマ
ットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から複数曲線を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマッ
トを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3.2
例
次の例では、MultiCurve (CircularString (5 10, 10 12, 15 10)) を返します。
SELECT NEW
ST_MultiCurve(0x010b00000001000000010800000003000000000000000000144000000000000
02440000000000000244000000000000028400000000000002e400000000000002440)
4.1.8.1.4
ST_MultiCurve(ST_Curve,...) コンストラクタ
曲線値のリストから複数曲線を構成します。
構文
NEW ST_MultiCurve(<curve1>[,<curve2>,...,<curveN>])
302
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 127:
名前
タイプ
説明
curve1
ST_Curve
複数曲線の最初の曲線値。
curve2,...,curveN
ST_Curve
複数曲線の追加の曲線値。
備考
曲線値のリストから複数曲線を構成します。指定するすべての曲線値の SRID を同じにしてください。複数曲線は、この共
通 SRID を使用して構成されます。
指定するすべての曲線値が Is3D と IsMeasured に対して同じ回答を示す必要があります。すべての曲線値が 3D の場
合に複数曲線も 3D になり、すべての曲線値が測定される場合に複数曲線も測定されます。
注記
ST_MultiCurve では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場
合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を
参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として MultiCurve ((0 0, 1 1)) を返します。
SELECT NEW ST_MultiCurve( NEW ST_LineString('LineString (0 0, 1 1)' ) )
次の例では、結果として MultiCurve ((0 0, 1 1), CircularString (0 0, 1 1, 2 0)) を返します。
SELECT NEW ST_MultiCurve(
NEW ST_LineString('LineString (0 0, 1 1)' ),
NEW ST_CircularString( 'CircularString( 0 0, 1 1, 2 0)' ) )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
303
4.1.8.2
ST_IsClosed メソッド
値が閉じているかどうかをテストします。開始ポイントと終了ポイントが一致する場合、曲線は閉じています。空ではなく、
空の境界を持つ複数曲線は閉じています。
注記
ST_IsClosed では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
<multicurve-expression>.ST_IsClosed()
戻り値
BIT
複数曲線が閉じている場合は 1 を返し、それ以外の場合は 0 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3.3
例
次の例では、複数曲線の境界に 2 つのポイントがあるため、結果として 0 を返します。
SELECT NEW ST_MultiCurve( 'MultiCurve((0 0, 1 1))' ).ST_IsClosed()
次の例では、閉じたジオメトリを含む multicurve_table のすべてのローを返します。この例では、geometry カラムの
タイプが ST_MultiCurve または ST_MultiLineString であるとします。
SELECT * FROM multicurve_table WHERE geometry.ST_IsClosed() = 1
304
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.8.3
ST_Length メソッド
複数曲線のすべての曲線の長さの測定値を返します。
構文
<multicurve-expression>.ST_Length([ <unit-name>])
パラメータ
表 128:
名前
タイプ
説明
unit-name
VARCHAR(128)
長さを計算する単位。デフォルトでは、空間
参照系の単位が使用されます。単位名は、
UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
戻り値
DOUBLE
ST_MultiCurve 値の長さの測定値を返します。
備考
ST_Length メソッドは、<unit-name> パラメータで指定された単位で複数曲線の長さを返します。複数曲線の長さは、
含まれている曲線の長さの合計です。複数曲線が空の場合は、NULL が返されます。
複数曲線に Z 値が含まれている場合、それらの値はジオメトリの長さの計算時には考慮されません。
注記
<multicurve-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Length では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
305
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3.4
例
次の例では、複数曲線を作成し、ST_Length を使用してジオメトリの長さを調べ、値 PI+1 を返します。
SELECT NEW ST_MultiCurve(
NEW ST_LineString('LineString (0 0, 1 0)' ),
NEW ST_CircularString( 'CircularString( 0 0, 1 1, 2 0)' ) )
.ST_Length()
次の例では、100 マイルを超える道路の名前と長さを返します。この例では、road テーブルが存在しており、
geometry カラムのタイプが ST_MultiCurve または ST_MultiLineString で、st_geometry_predefined_uom のロ
ードに sa_install_feature システムプロシージャが使用されているものとします。
SELECT name, geometry.ST_Length( 'Statute Mile' ) len
FROM roads WHERE len > 100
次の例では、2 つの要素で構成される複数線ストリングを作成し、ST_Length を使用してジオメトリの長さを調べ、結
果として値 2 を返します。
SELECT NEW ST_MultiLineString('MultiLineString ((0 0, 1 0), (0 1, 1
1))').ST_Length()
4.1.8.4
ST_MultiCurveAggr メソッド
グループ内のすべての曲線を含む複数曲線を返します。
構文
ST_MultiCurve::ST_MultiCurveAggr(<geometry-column>[ ORDER BY <order-by-expression>
[ ASC | DESC ], ... ] )
パラメータ
表 129:
名前
タイプ
geometry-column
ST_Curve
説明
コレクションを生成するジオメトリ値。通常、
これはカラムです。
306
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
ST_MultiCurve
グループ内のすべてのジオメトリを含む複数曲線を返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
備考
ST_MultiCurveAggr 集合関数を使用して、曲線のグループを 1 つのコレクションに結合することができます。結合するす
べてのジオメトリの SRID と座標次元の両方が同じになるようにします。
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の ST_MultiCurve の座標次元は、各曲線の座標次元と同じになります。
ST_GeometryN から目的の順序で要素が返されるように、オプションの ORDER BY 句を使用して要素を特定の順序に
並べ替えることができます。この順序が意味を持たない場合は、順序を指定しない方が効率的です。その場合、要素の順
序は、クエリオプティマイザが選択したアクセスプランにより決定されます。
ST_MultiCurveAggr は ST_UnionAggr より効率的ですが、曲線のグループの中に重複する曲線が存在する場合に
は、そのような重複を伴ったコレクションを返す可能性があります。ST_UnionAggr では、重複するジオメトリを処理できま
す。
注記
ST_MultiCurveAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、SpatialShapes テーブルの ST_Curve タイプのすべてのジオメトリを、単一コレクションである
ST_MultiCurve タイプに結合した単一の値を返します。Shape カラムが ST_Curve タイプの場合は、TREAT 関数と
WHERE 句は必要ではありません。
SELECT ST_MultiCurve::ST_MultiCurveAggr( TREAT( Shape AS ST_Curve ) )
FROM SpatialShapes WHERE Shape IS OF( ST_Curve )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
307
4.1.9 ST_MultiLineString タイプ
ST_MultiLineString は 0 個以上の ST_LineString 値のコレクションであり、すべての線ストリングが空間参照系内にあ
ります。
直接のスーパータイプ
● ST_MultiCurve class [298 ページ]
コンストラクタ
● ST_MultiLineString constructor [309 ページ]
メソッド
● ST_MultiLineString のメソッド:
表 130:
ST_MultiLineStringAggr
[313 ページ]
● ST_MultiCurve [298 ページ] のすべてのメソッド
● ST_GeomCollection [105 ページ] のすべてのメンバ
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.4
308
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.9.1
ST_MultiLineString コンストラクタ
複数線ストリングを構成します。
オーバロードリスト
表 131:
名前
説明
ST_MultiLineString() [309 ページ]
空のセットを表す複数線ストリングを構成します。
ST_MultiLineString(LONG VARCHAR[, INT]) [310 ページ]
テキスト表現から複数線ストリングを構成します。
ST_MultiLineString(LONG BINARY[, INT]) [311 ページ]
Well Known Binary (WKB) から複数線ストリングを構成します。
ST_MultiLineString(ST_LineString,...) [312 ページ]
線ストリング値のリストから複数線ストリングを構成します。
4.1.9.1.1
ST_MultiLineString() コンストラクタ
空のセットを表す複数線ストリングを構成します。
構文
NEW ST_MultiLineString()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_MultiLineString().ST_IsEmpty()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
309
4.1.9.1.2
ST_MultiLineString(LONG VARCHAR[, INT]) コンス
トラクタ
テキスト表現から複数線ストリングを構成します。
構文
NEW ST_MultiLineString(<text-representation>[, <srid>])
パラメータ
表 132:
名前
タイプ
説明
text-representation
LONG VARCHAR
複数線ストリングのテキスト表現を含む文
字列。入力には、Well Know Text (WKT)
や拡張 Well Know Text (EWKT) など、サ
ポートされている任意のテキスト入力フォー
マットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から複数線ストリングを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマット
を判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.4.2
例
次の例では、MultiLineString ((10 10, 12 12), (14 10, 16 12)) を返します。
SELECT NEW ST_MultiLineString('MultiLineString ((10 10, 12 12), (14 10, 16
12))')
310
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.9.1.3
ST_MultiLineString(LONG BINARY[, INT]) コンスト
ラクタ
Well Known Binary (WKB) から複数線ストリングを構成します。
構文
NEW ST_MultiLineString(<wkb>[, <srid>])
パラメータ
表 133:
名前
タイプ
説明
wkb
LONG BINARY
複数線ストリングのバイナリ表現を含む文
字列。入力には、Well Known Binary
(WKB) や拡張 Well Know Binary
(EWKB) など、サポートされている任意の
バイナリ入力フォーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から複数線ストリングを構成します。データベースサーバでは、指定された文字列を検査して入力フ
ォーマットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.4.2
例
次の例では、MultiLineString ((10 10, 12 12)) を返します。
SELECT NEW
ST_MultiLineString(0x0105000000010000000102000000020000000000000000002440000000
000000244000000000000028400000000000002840)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
311
4.1.9.1.4
ST_MultiLineString(ST_LineString,...) コンストラクタ
線ストリング値のリストから複数線ストリングを構成します。
構文
NEW ST_MultiLineString(<linestring1>[,<linestring2>,...,<linestringN>])
パラメータ
表 134:
名前
タイプ
説明
linestring1
ST_LineString
複数線ストリングの最初の線ストリング値。
linestring2,...,linestringN
ST_LineString
複数線ストリングの追加の線ストリング値。
備考
線ストリング値のリストから複数線ストリングを構成します。指定するすべての線ストリング値の SRID を同じにしてくださ
い。複数線ストリングは、この共通 SRID を使用して構成されます。
指定するすべての線ストリング値が Is3D と IsMeasured に対して同じ回答を示す必要があります。すべての線ストリング
値が 3D の場合に複数線ストリングも 3D になり、すべての線ストリング値が測定される場合に複数線ストリングも測定さ
れます。
注記
ST_MultiLineString では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
312
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
次の例では、1 つの線ストリングを含む複数線ストリングを返します。これは、WKT 'MultiLineString ((0 0,
1 1))' と同等です。
SELECT NEW ST_MultiLineString( NEW ST_LineString('LineString (0 0, 1 1)' ) )
次の例では、2 つの線ストリングを含む複数線ストリングを返します。これは、WKT'MultiLineString ((0 0,
1 1), (0 0, 1 1, 2 0))' と同等です。
SELECT NEW ST_MultiLineString(
NEW ST_LineString( 'LineString (0 0, 1 1)' ),
NEW ST_LineString( 'LineString (0 0, 1 1, 2 0)' ) )
4.1.9.2
ST_MultiLineStringAggr メソッド
グループ内のすべての線ストリングを含む複数線ストリングを返します。
構文
ST_MultiLineString::ST_MultiLineStringAggr(<geometry-column>[ ORDER BY <order-byexpression> [ ASC | DESC ], ... ] )
パラメータ
表 135:
名前
タイプ
geometry-column
ST_LineString
説明
コレクションを生成するジオメトリ値。通常、
これはカラムです。
戻り値
ST_MultiLineString
グループ内のすべてのジオメトリを含む複数線ストリングを返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
313
備考
ST_MultiLineStringAggr 集合関数を使用して、線ストリングのグループを 1 つのコレクションに結合することができま
す。結合するすべてのジオメトリの SRID と座標次元の両方が同じになるようにします。
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の ST_MultiLineString の座標次元は、各線ストリングの座標次元と同じになります。
ST_GeometryN から目的の順序で要素が返されるように、オプションの ORDER BY 句を使用して要素を特定の順序に
並べ替えることができます。この順序が意味を持たない場合は、順序を指定しない方が効率的です。その場合、要素の順
序は、クエリオプティマイザが選択したアクセスプランにより決定されます。
ST_MultiLineStringAggr は ST_UnionAggr より効率的ですが、線ストリングのグループの中に重複する線ストリングが
存在する場合には、そのような重複を伴ったコレクションを返す可能性があります。ST_UnionAggr では、重複するジオメ
トリを処理できます。
注記
ST_MultiLineStringAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ
以外の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE
FORMAT 句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、SpatialShapes テーブルの ST_LineString タイプのすべてのジオメトリを、単一コレクションである
ST_MultiLineString タイプに結合した単一の値を返します。Shape カラムが ST_LineString タイプの場合は、
TREAT 関数と WHERE 句は必要ではありません。
SELECT ST_MultiLineString::ST_MultiLineStringAggr( TREAT( Shape AS
ST_LineString ) )
FROM SpatialShapes WHERE Shape IS OF( ST_LineString )
314
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.10 ST_MultiPoint タイプ
ST_MultiPoint は 0 個以上の ST_Point 値のコレクションであり、すべてのポイントが空間参照系内にあります。
直接のスーパータイプ
● ST_GeomCollection クラス [105 ページ]
コンストラクタ
● ST_MultiPoint コンストラクタ [316 ページ]
メソッド
● ST_MultiPoint のメソッド:
表 136:
ST_MultiPointAggr [320 ペ
ージ]
● ST_GeomCollection [105 ページ] のすべてのメンバ
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.2
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
315
4.1.10.1 ST_MultiPoint コンストラクタ
複数ポイントを構成します。
オーバロードリスト
表 137:
名前
説明
ST_MultiPoint() [316 ページ]
空のセットを表す複数ポイントを構成します。
ST_MultiPoint(LONG VARCHAR[, INT]) [317 ページ]
テキスト表現から複数ポイントを構成します。
ST_MultiPoint(LONG BINARY[, INT]) [318 ページ]
Well Known Binary (WKB) から複数ポイントを構成します。
ST_MultiPoint(ST_Point,...) [319 ページ]
ポイント値のリストから複数ポイントを構成します。
4.1.10.1.1 ST_MultiPoint() コンストラクタ
空のセットを表す複数ポイントを構成します。
構文
NEW ST_MultiPoint()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_MultiPoint().ST_IsEmpty()
316
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.10.1.2 ST_MultiPoint(LONG VARCHAR[, INT]) コンストラクタ
テキスト表現から複数ポイントを構成します。
構文
NEW ST_MultiPoint(<text-representation>[, <srid>])
パラメータ
表 138:
名前
タイプ
説明
text-representation
LONG VARCHAR
複数ポイントのテキスト表現を含む文字
列。入力には、Well Know Text (WKT) や
拡張 Well Know Text (EWKT) など、サポ
ートされている任意のテキスト入力フォーマ
ットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から複数ポイントを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判
断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.2.2
例
次の例では、MultiPoint ((10 10), (12 12), (14 10)) を返します。
SELECT NEW ST_MultiPoint('MultiPoint ((10 10), (12 12), (14 10))')
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
317
4.1.10.1.3 ST_MultiPoint(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) から複数ポイントを構成します。
構文
NEW ST_MultiPoint(<wkb>[, <srid>])
パラメータ
表 139:
名前
タイプ
説明
wkb
LONG BINARY
複数ポイントのバイナリ表現を含む文字
列。入力には、Well Known Binary
(WKB) や拡張 Well Know Binary
(EWKB) など、サポートされている任意の
バイナリ入力フォーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から複数ポイントを構成します。データベースサーバでは、指定された文字列を検査して入力フォー
マットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.2.2
例
次の例では、MultiPoint ((10 10), (12 12), (14 10)) を返します。
SELECT NEW
ST_MultiPoint(0x010400000003000000010100000000000000000024400000000000002440010
10000000000000000002840000000000000284001010000000000000000002c4000000000000024
40)
318
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.10.1.4 ST_MultiPoint(ST_Point,...) コンストラクタ
ポイント値のリストから複数ポイントを構成します。
構文
NEW ST_MultiPoint(<point1>[,<point2>,...,<pointN>])
パラメータ
表 140:
名前
タイプ
説明
point1
ST_Point
複数ポイントの最初のポイント値。
point2,...,pointN
ST_Point
複数ポイントの追加のポイント値。
備考
ポイント値のリストから複数ポイントを構成します。指定するすべてのポイント値の SRID を同じにしてください。複数ポイン
トは、この共通 SRID を使用して構成されます。
指定するすべてのポイント値が Is3D と IsMeasured に対して同じ回答を示す必要があります。すべてのポイント値が 3D
の場合に複数ポイントも 3D になり、すべてのポイント値が測定される場合に複数ポイントも測定されます。
注記
ST_MultiPoint では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、1 つのポイント 'Point (1 2)' を含む複数ポイントを返します。
SELECT NEW ST_MultiPoint( NEW ST_Point( 1.0, 2.0 ) )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
319
次の例では、2 つのポイント 'Point (1 2)' および 'Point (3 4)' を含む複数ポイントを返します。
SELECT NEW ST_MultiPoint( NEW ST_Point( 1.0, 2.0 ), NEW ST_Point( 3.0, 4.0 ) )
4.1.10.2 ST_MultiPointAggr メソッド
グループ内のすべてのポイントを含む複数ポイントを返します。
構文
ST_MultiPoint::ST_MultiPointAggr(<geometry-column>[ ORDER BY <order-by-expression>
[ ASC | DESC ], ... ] )
パラメータ
表 141:
名前
タイプ
説明
geometry-column
ST_Point
コレクションを生成するジオメトリ値。通常、
これはカラムです。
戻り値
ST_MultiPoint
グループ内のすべてのジオメトリを含む MultiPoint を返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
備考
ST_MultiPointAggr 集合関数を使用して、ポイントのグループを 1 つのコレクションに結合することができます。結合する
すべてのジオメトリの SRID と座標次元の両方が同じになるようにします。
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の ST_MultiPoint の座標次元は、各ポイントの座標次元と同じになります。
320
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
ST_GeometryN から目的の順序で要素が返されるように、オプションの ORDER BY 句を使用して要素を特定の順序に
並べ替えることができます。この順序が意味を持たない場合は、順序を指定しない方が効率的です。その場合、要素の順
序は、クエリオプティマイザが選択したアクセスプランにより決定されます。
ST_MultiPointAggr は ST_UnionAggr より効率的ですが、ポイントのグループの中に重複するポイントが存在する場合
には、そのような重複を伴ったコレクションを返す可能性があります。ST_UnionAggr では、重複するジオメトリを処理でき
ます。
注記
ST_MultiPointAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外
の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT
句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、SpatialShapes テーブルの ST_Point タイプのすべてのジオメトリを、単一コレクションである
ST_MultiPoint タイプに結合した単一の値を返します。Shape カラムが ST_Point タイプの場合は、TREAT 関数と
WHERE 句は必要ではありません。
SELECT ST_MultiPoint::ST_MultiPointAggr( TREAT( Shape AS ST_Point ) )
FROM SpatialShapes WHERE Shape IS OF( ST_Point )
4.1.11 ST_MultiPolygon タイプ
ST_MultiPolygon は 0、またはそれ以上の ST_Polygon 値のコレクションであり、すべての多角形が空間参照系内にあ
ります。
直接のスーパータイプ
● ST_MultiSurface クラス [330 ページ]
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
321
コンストラクタ
● ST_MultiPolygon コンストラクタ [322 ページ]
メソッド
● ST_MultiPolygon のメソッド:
表 142:
ST_MultiPolygonAggr [328
ページ]
● ST_MultiSurface [330 ページ] のすべてのメソッド
● ST_GeomCollection [105 ページ] のすべてのメンバ
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6
4.1.11.1 ST_MultiPolygon コンストラクタ
複数多角形を構成します。
オーバロードリスト
表 143:
名前
説明
ST_MultiPolygon() [323 ページ]
空のセットを表す複数多角形を構成します。
ST_MultiPolygon(LONG VARCHAR[, INT]) [323 ページ]
テキスト表現から複数多角形を構成します。
ST_MultiPolygon(LONG BINARY[, INT]) [324 ページ]
Well Known Binary (WKB) から複数多角形を構成します。
ST_MultiPolygon(ST_Polygon,...) [325 ページ]
多角形値のリストから複数多角形を構成します。
322
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
説明
ST_MultiPolygon(ST_MultiLineString[, VARCHAR(128)])
外部リングを含む複数線ストリングと、内部リングのオプションリス
[327 ページ]
トから複数多角形を作成します。
4.1.11.1.1 ST_MultiPolygon() コンストラクタ
空のセットを表す複数多角形を構成します。
構文
NEW ST_MultiPolygon()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_MultiPolygon().ST_IsEmpty()
4.1.11.1.2 ST_MultiPolygon(LONG VARCHAR[, INT]) コンストラ
クタ
テキスト表現から複数多角形を構成します。
構文
NEW ST_MultiPolygon(<text-representation>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
323
パラメータ
表 144:
名前
タイプ
text-representation
LONG VARCHAR
説明
複数多角形のテキスト表現を含む文字列。
入力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から複数多角形を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判
断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6.2
例
次の例では、MultiPolygon (((-5 -5, 5 -5, 0 5, -5 -5), (-2 -2, -2 0, 2 0, 2 -2, -2 -2)), ((10 -5, 15 5, 5 5, 10 -5))) を返
します。
SELECT NEW ST_MultiPolygon('MultiPolygon (((-5 -5, 5 -5, 0 5, -5 -5), (-2 -2,
-2 0, 2 0, 2 -2, -2 -2)), ((10 -5, 15 5, 5 5, 10 -5)))')
4.1.11.1.3 ST_MultiPolygon(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) から複数多角形を構成します。
構文
NEW ST_MultiPolygon(<wkb>[, <srid>])
324
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 145:
名前
タイプ
説明
wkb
LONG BINARY
複数多角形のバイナリ表現を含む文字列。
入力には、Well Known Binary (WKB) や
拡張 Well Know Binary (EWKB) など、サ
ポートされている任意のバイナリ入力フォ
ーマットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から複数多角形を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマ
ットを判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6.2
例
次の例では、MultiPolygon (((10 -5, 15 5, 5 5, 10 -5))) を返します。
SELECT NEW
ST_MultiPolygon(0x0106000000010000000103000000010000000400000000000000000024400
0000000000014c00000000000002e40000000000000144000000000000014400000000000001440
000000000000244000000000000014c0)
4.1.11.1.4 ST_MultiPolygon(ST_Polygon,...) コンストラクタ
多角形値のリストから複数多角形を構成します。
構文
NEW ST_MultiPolygon(<polygon1>[,<polygon2>,...,<polygonN>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
325
パラメータ
表 146:
名前
タイプ
説明
polygon1
ST_Polygon
複数多角形の最初の多角形値。
polygon2,...,polygonN
ST_Polygon
複数多角形の追加の多角形値。
備考
多角形値のリストから複数多角形を構成します。指定するすべての多角形値の SRID を同じにしてください。複数多角形
は、この共通 SRID を使用して構成されます。
指定するすべての多角形値が Is3D と IsMeasured に対して同じ回答を示す必要があります。すべての多角形値が 3D
の場合に複数多角形も 3D になり、すべての多角形値が測定される場合に複数多角形も測定されます。
注記
ST_MultiPolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として MultiPolygon (((0 0, 1 0, 1 1, 0 1, 0 0))) を返します。
SELECT NEW ST_MultiPolygon( NEW ST_Polygon('Polygon ((0 0, 0 1, 1 1, 1 0, 0
0))' ) )
次の例では、結果として MultiPolygon (((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5
10, 5 5))) を返します。
SELECT NEW ST_MultiPolygon(
NEW ST_Polygon('Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))' ),
NEW ST_Polygon('Polygon ((5 5, 5 10, 10 10, 10 5, 5 5))' )
326
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
)
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.11.1.5 ST_MultiPolygon(ST_MultiLineString[,
VARCHAR(128)]) コンストラクタ
外部リングを含む複数線ストリングと、内部リングのオプションリストから複数多角形を作成します。
構文
NEW ST_MultiPolygon(<multi-linestring>[, <polygon-format>])
パラメータ
表 147:
名前
タイプ
説明
multi-linestring
ST_MultiLineString
外部リングと (オプションの) 一連の内部リ
ングを含む複数線ストリング値。
polygon-format
VARCHAR(128)
指定した線ストリングを解釈するときに使用
する多角形フォーマットの文字列。有効なフ
ォーマットは、'CounterClockwise'、
'Clockwise'、'EvenOdd' です。
備考
外部リングを含む複数線ストリングと、内部リングのオプションリストから複数多角形を作成します。複数線ストリングに
は、線形リングのみを含めてください。
<polygon-format> パラメータを指定すると、リングが外部リングと内部リングのいずれであるかを判断するためにサ
ーバで使用されるアルゴリズムが選択されます。指定しない場合は、空間参照系の多角形フォーマットが使用されます。
多角形フォーマットの詳細については、POLYGON FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照
してください。
注記
ST_MultiPolygon では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
327
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、MultiPolygon (((-4 -4, 4 -4, 4 4, -4 4, -4 -4), (-2 1, -3 3, -1 3, -2 1)), ((6 -4, 14 -4, 14 4, 6 4, 6 -4), (8
1, 7 3, 9 3, 8 1))) (それぞれ三角孔のある 2 つの正方形) を返します。
SELECT NEW ST_MultiPolygon(
NEW ST_MultiLineString ('MultiLineString ((-4 -4, 4 -4, 4 4, -4 4, -4 -4),
(-2 1, -3 3, -1 3, -2 1), (6 -4, 14 -4, 14 4, 6 4, 6 -4), (8 1, 7 3, 9 3, 8
1))'))
4.1.11.2 ST_MultiPolygonAggr メソッド
グループ内のすべての多角形を含む複数多角形を返します。
構文
ST_MultiPolygon::ST_MultiPolygonAggr(<geometry-column>[ ORDER BY <order-byexpression> [ ASC | DESC ], ... ] )
パラメータ
表 148:
名前
タイプ
geometry-column
ST_Polygon
説明
コレクションを生成するジオメトリ値。通常、
これはカラムです。
戻り値
ST_MultiPolygon
グループ内のすべてのジオメトリを含む複数多角形を返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
328
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
備考
ST_MultiPolygonAggr 集合関数を使用して、多角形のグループを 1 つのコレクションに結合することができます。結合す
るすべてのジオメトリの SRID と座標次元の両方が同じになるようにします。
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の ST_MultiPolygon の座標次元は、各多角形の座標次元と同じになります。
ST_GeometryN から目的の順序で要素が返されるように、オプションの ORDER BY 句を使用して要素を特定の順序に
並べ替えることができます。この順序が意味を持たない場合は、順序を指定しない方が効率的です。その場合、要素の順
序は、クエリオプティマイザが選択したアクセスプランにより決定されます。
ST_MultiPolygonAggr は ST_UnionAggr より効率的ですが、多角形のグループの中に重複する多角形が存在する場
合には、そのような重複を伴ったコレクションを返す可能性があります。特に、返されたコレクションに重複する面が含まれ
ている場合に、それが他の空間メソッドの入力値として使用されると、予期しない結果をもたらす場合があります。
ST_UnionAggr では、重複するジオメトリを処理できます。
注記
ST_MultiPolygonAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以
外の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE
FORMAT 句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、SpatialShapes テーブルの ST_Polygon タイプのすべてのジオメトリを、単一コレクションである
ST_MultiPolygon タイプに結合した単一の値を返します。Shape カラムが ST_Polygon タイプの場合は、TREAT 関
数と WHERE 句は必要ではありません。
SELECT ST_MultiPolygon::ST_MultiPolygonAggr( TREAT( Shape AS ST_Polygon ) )
FROM SpatialShapes WHERE Shape IS OF( ST_Polygon )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
329
4.1.12 ST_MultiSurface タイプ
ST_MultiSurface は 0 個以上の ST_Surface 値のコレクションであり、すべての面が空間参照系内にあります。
直接のスーパータイプ
● ST_GeomCollection クラス [105 ページ]
直接のサブタイプ
● ST_MultiPolygon タイプ [321 ページ]
コンストラクタ
● ST_MultiSurface コンストラクタ [331 ページ]
メソッド
● ST_MultiSurface のメソッド:
表 149:
ST_Area [336 ページ]
ST_Centroid [338 ページ]
ST_MultiSurfaceAggr [339
ST_Perimeter [340 ページ]
ページ]
ST_PointOnSurface [342
ページ]
● ST_GeomCollection [105 ページ] のすべてのメンバ
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5
330
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.12.1 ST_MultiSurface コンストラクタ
複数面を構成します。
オーバロードリスト
表 150:
名前
説明
ST_MultiSurface() [331 ページ]
空のセットを表す複数面を構成します。
ST_MultiSurface(LONG VARCHAR[, INT]) [332 ページ]
テキスト表現から複数面を構成します。
ST_MultiSurface(LONG BINARY[, INT]) [333 ページ]
Well Known Binary (WKB) から複数面を構成します。
ST_MultiSurface(ST_Surface,...) [334 ページ]
面の値のリストから複数面を構成します。
ST_MultiSurface(ST_MultiCurve[, VARCHAR(128)]) [335 ペ
外部リングを含む複数曲線と、内部リングのオプションリストから
ージ]
複数面を作成します。
4.1.12.1.1 ST_MultiSurface() コンストラクタ
空のセットを表す複数面を構成します。
構文
NEW ST_MultiSurface()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_MultiSurface().ST_IsEmpty()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
331
4.1.12.1.2 ST_MultiSurface(LONG VARCHAR[, INT]) コンストラ
クタ
テキスト表現から複数面を構成します。
構文
NEW ST_MultiSurface(<text-representation>[, <srid>])
パラメータ
表 151:
名前
タイプ
text-representation
LONG VARCHAR
説明
複数面のテキスト表現を含む文字列。入力
には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から複数面を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判断し
ます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.2
例
次の例では、MultiSurface (((-5 -5, 5 -5, 0 5, -5 -5), (-2 -2, -2 0, 2 0, 2 -2, -2 -2)), ((10 -5, 15 5, 5 5, 10 -5))) を返
します。
SELECT NEW ST_MultiSurface('MultiSurface (((-5 -5, 5 -5, 0 5, -5 -5), (-2 -2,
-2 0, 2 0, 2 -2, -2 -2)), ((10 -5, 15 5, 5 5, 10 -5)))')
332
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.12.1.3 ST_MultiSurface(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) から複数面を構成します。
構文
NEW ST_MultiSurface(<wkb>[, <srid>])
パラメータ
表 152:
名前
タイプ
説明
wkb
LONG BINARY
複数面のバイナリ表現を含む文字列。入力
には、Well Known Binary (WKB) や拡張
Well Know Binary (EWKB) など、サポー
トされている任意のバイナリ入力フォーマッ
トを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から複数面を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマット
を判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.2
例
次の例では、MultiSurface (CurvePolygon (CircularString (0 0, 10 0, 10 10, 0 10, 0 0))) を返します。
SELECT NEW
ST_MultiSurface(0x010c00000001000000010a000000010000000108000000050000000000000
0000000000000000000000000000000000000244000000000000000000000000000002440000000
00000024400000000000000000000000000000244000000000000000000000000000000000)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
333
4.1.12.1.4 ST_MultiSurface(ST_Surface,...) コンストラクタ
面の値のリストから複数面を構成します。
構文
NEW ST_MultiSurface(<surface1>[,<surface2>,...,<surfaceN>])
パラメータ
表 153:
名前
タイプ
説明
surface1
ST_Surface
複数面の最初の面の値。
surface2,...,surfaceN
ST_Surface
複数面の追加の面の値。
備考
面の値のリストから複数面を構成します。指定するすべての面の値の SRID を同じにしてください。複数面は、この共通
SRID を使用して構成されます。
指定するすべての面の値が Is3D と IsMeasured に対して同じ回答を示す必要があります。すべての面の値が 3D の場
合に複数面も 3D になり、すべての面の値が測定される場合に複数面も測定されます。
注記
ST_MultiSurface では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として MultiSurface (((0 0, 1 0, 1 1, 0 1, 0 0))) を返します。
SELECT NEW ST_MultiSurface( NEW ST_Polygon('Polygon ((0 0, 0 1, 1 1, 1 0, 0
0))' ) )
334
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
次の例では、結果として MultiSurface (((0 0, 1 0, 1 1, 0 1, 0 0)), ((5 5, 10 5, 10 10, 5
10, 5 5))) を返します。
SELECT NEW ST_MultiSurface(
NEW ST_Polygon('Polygon ((0 0, 0 1, 1 1, 1 0, 0 0))' ),
NEW ST_Polygon('Polygon ((5 5, 5 10, 10 10, 10 5, 5 5))' )
)
4.1.12.1.5 ST_MultiSurface(ST_MultiCurve[, VARCHAR(128)])
コンストラクタ
外部リングを含む複数曲線と、内部リングのオプションリストから複数面を作成します。
構文
NEW ST_MultiSurface(<multi-curve>[, <polygon-format>])
パラメータ
表 154:
名前
タイプ
説明
multi-curve
ST_MultiCurve
外部リングと (オプションの) 一連の内部リ
ングを含む複数曲線値。
polygon-format
VARCHAR(128)
指定した曲線を解釈するときに使用する多
角形フォーマットの文字列。有効なフォーマ
ットは、'CounterClockwise'、
'Clockwise'、'EvenOdd' です。
備考
外部リングを含む複数曲線と、内部リングのオプションリストから複数面を作成します。複数曲線には、任意の曲線タイプ
を含めることができます。
<polygon-format> パラメータを指定すると、リングが外部リングと内部リングのいずれであるかを判断するためにサ
ーバで使用されるアルゴリズムが選択されます。指定しない場合は、空間参照系の多角形フォーマットが使用されます。
多角形フォーマットの詳細については、POLYGON FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照
してください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
335
注記
ST_MultiSurface では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、MultiSurface (CurvePolygon ((-4 -4, 4 -4, 4 4, -4 4, -4 -4), (-2 1, -3 3, -1 3, -2 1)), CurvePolygon
((6 -4, 14 -4, 14 4, 6 4, 6 -4), CircularString (9 -1, 9 1, 11 1, 11 -1, 9 -1))) を返します。
SELECT NEW ST_MultiSurface(NEW ST_MultiCurve ('MultiCurve ((-4 -4, 4 -4, 4 4,
-4 4, -4 -4), (-2 1, -3 3, -1 3, -2 1), (6 -4, 14 -4, 14 4, 6 4, 6 -4),
CircularString (9 -1, 9 1, 11 1, 11 -1, 9 -1))'))
4.1.12.2 ST_Area メソッド(ST_MultiSurface タイプ)
指定した単位で複数面の面積を計算します。
構文
<multisurface-expression>.ST_Area([ <unit-name>])
パラメータ
表 155:
名前
タイプ
説明
unit-name
VARCHAR(128)
面積を計算する単位。デフォルトでは、空
間参照系の単位が使用されます。単位名
は、UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
336
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
DOUBLE
複数面の面積を返します。
備考
指定した単位で複数面の面積を計算します。複数面の面積は、含まれている面の面積の合計です。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.3
例
次の例では、結果として 8 を返します。
SELECT TREAT( Shape AS ST_MultiSurface ).ST_Area()
FROM SpatialShapes WHERE ShapeID = 27
次の例では、架空の region テーブルから、multipoly_geometry カラムの領域を平方マイルで返します。
SELECT name, multipoly_geometry.ST_Area( 'Statute Mile' )
FROM region
次の例では、結果として 4 を返します。
SELECT NEW ST_MultiPolygon( 'MultiPolygon((( 0 0, 2 0, 1 2, 0 0 )),((10 2, 11
0, 12 2, 10 2)))' )
.ST_Area()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
337
4.1.12.3 ST_Centroid メソッド
複数面の数学的重心である ST_Point を計算します。
構文
<multisurface-expression>.ST_Centroid()
戻り値
ST_Point
複数面が空のセットの場合は、NULL を返します。それ以外の場合は、面の数学的重心を返します。
結果の空間参照系識別子は、<multisurface-expression> の空間参照系と同じです。
備考
複数面の数学的重心である ST_Point を計算します。このポイントは面上のポイントにはならない場合もあります。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.5
例
次の例では、結果として Point (1.865682 .664892) を返します。
SELECT TREAT( Shape AS ST_MultiSurface ).ST_Centroid()
FROM SpatialShapes WHERE ShapeID = 28
338
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.12.4 ST_MultiSurfaceAggr メソッド
グループ内のすべての面を含む複数面を返します。
構文
ST_MultiSurface::ST_MultiSurfaceAggr(<geometry-column>[ ORDER BY <order-byexpression> [ ASC | DESC ], ... ] )
パラメータ
表 156:
名前
タイプ
説明
geometry-column
ST_Surface
コレクションを生成するジオメトリ値。通常、
これはカラムです。
戻り値
ST_MultiSurface
グループ内のすべてのジオメトリを含む複数面を返します。
結果の空間参照系識別子は、最初のパラメータの識別子と同じです。
備考
ST_MultiSurfaceAggr 集合関数を使用して、面のグループを 1 つのコレクションに結合することができます。結合するす
べてのジオメトリの SRID と座標次元の両方が同じになるようにします。
引数が NULL のローは含まれません。
空のグループ、または NULL 以外の値が含まれないグループの場合、NULL を返します。
結果の ST_MultiSurface の座標次元は、各面の座標次元と同じになります。
ST_GeometryN から目的の順序で要素が返されるように、オプションの ORDER BY 句を使用して要素を特定の順序に
並べ替えることができます。この順序が意味を持たない場合は、順序を指定しない方が効率的です。その場合、要素の順
序は、クエリオプティマイザが選択したアクセスプランにより決定されます。
ST_MultiSurfaceAggrr は ST_UnionAggr より効率的ですが、曲のグループの中に重複する曲が存在する場合には、
そのような重複を伴ったコレクションを返す可能性があります。特に、返されたコレクションに重複する面が含まれている場
合に、それが他の空間メソッドの入力値として使用されると、予期しない結果をもたらす場合があります。ST_UnionAggr
では、重複するジオメトリを処理できます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
339
注記
ST_MultiSurfaceAggr では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以
外の場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE
FORMAT 句を参照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、SpatialShapes テーブルの ST_Surface タイプのすべてのジオメトリを、単一コレクションである
ST_MultiSurface タイプに結合した単一の値を返します。Shape カラムが ST_Surface タイプの場合は、TREAT 関
数と WHERE 句は必要ではありません。
SELECT ST_MultiSurface::ST_MultiSurfaceAggr( TREAT( Shape AS ST_Surface ) )
FROM SpatialShapes WHERE Shape IS OF( ST_Surface )
4.1.12.5 ST_Perimeter メソッド
指定した単位で複数面の周囲の長さを計算します。
構文
<multisurface-expression>.ST_Perimeter([ <unit-name>])
パラメータ
表 157:
名前
タイプ
説明
unit-name
VARCHAR(128)
周囲の長さを計算する単位。デフォルトで
は、空間参照系の単位が使用されます。単
位名は、UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
340
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
DOUBLE
複数面の周囲の長さを返します。
備考
ST_Perimeter メソッドは、<unit-name> パラメータで指定された単位で複数面の周囲の長さを返します。複数面が空
の場合は、NULL が返されます。
複数面に Z 値が含まれている場合、それらの値はジオメトリの周囲の長さの計算時には考慮されません。
多角形の周囲の長さには、すべてのリング (外部と内部) の長さが含まれます。
注記
<multisurface-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Perimeter では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.4
例
次の例では、2 つの多角形を含む複数面を作成し、ST_Perimeter を使用して周囲の長さを調べ、結果として 44 を返
します。
SELECT NEW ST_MultiSurface( NEW ST_Polygon('Polygon((0 0, 1 0, 1 1,0 1, 0 0))')
, NEW ST_Polygon('Polygon((10 10, 20 10, 20 20,10 20, 10 10))') )
.ST_Perimeter()
次の例では、2 つの多角形を含む複数面と測定単位の例 (example_unit_halfmetre) を作成します。ST_Perimeter
は、周囲の長さを調べ、値 88.0 を返します。
CREATE SPATIAL UNIT OF MEASURE IF NOT EXISTS "example_unit_halfmetre" TYPE
LINEAR CONVERT USING .5;
SELECT NEW ST_MultiSurface( NEW ST_Polygon('Polygon((0 0, 1 0, 1 1,0 1, 0 0))')
, NEW ST_Polygon('Polygon((10 10, 20 10, 20 20,10 20, 10 10))') )
.ST_Perimeter('example_unit_halfmetre');
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
341
4.1.12.6 ST_PointOnSurface メソッド (ST_MultiSurface タイプ)
複数面内の面上にあることが保証されるポイントを返します。
構文
<multisurface-expression>.ST_PointOnSurface()
戻り値
ST_Point
複数面が空のセットの場合は、NULL を返します。それ以外の場合は、ST_MultiSurface 値と空間的に交差すること
が保証される ST_Point 値を返します。
結果の空間参照系識別子は、<multisurface-expression> の空間参照系と同じです。
備考
複数面のいずれかの面の内部にあるポイントを返します。
注記
<multisurface-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.6
例
次の例では、複数面と交差するポイントを返します。
SELECT TREAT( Shape AS ST_MultiSurface ).ST_PointOnSurface()
FROM SpatialShapes WHERE ShapeID = 27
342
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.13 ST_Point タイプ
ST_Point タイプは、0 次元のジオメトリであり、1 つのロケーションを表します。
直接のスーパータイプ
● ST_Geometry クラス [115 ページ]
コンストラクタ
● ST_Point コンストラクタ [343 ページ]
メソッド
● ST_Point のメソッド:
表 158:
ST_Lat [350 ページ]
ST_Long [352 ページ]
ST_Y [359 ページ]
ST_Z [362 ページ]
ST_M [354 ページ]
ST_X [357 ページ]
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1
4.1.13.1 ST_Point コンストラクタ
ポイントを構成します。
注記
座標から ST_Point 値を作成する場合、取得されるオーバロードは必ずしも予測できるとはかぎりません。たとえば、
式 "NEW ST_Point(1,2,3)" は、X=1、Y=2、SRID=3 の 2D ポイントを作成します。式 "NEW ST_Point(1,2,3.0)" は、
Z=3.0 の 3D ポイントを作成します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
343
オーバロードリスト
表 159:
名前
説明
ST_Point() [344 ページ]
空のセットを表すポイントを構成します。
ST_Point(LONG VARCHAR[, INT]) [345 ページ]
テキスト表現からポイントを構成します。
ST_Point(LONG BINARY[, INT]) [346 ページ]
Well Known Binary (WKB) からポイントを構成します。
ST_Point(DOUBLE,DOUBLE[, INT]) [347 ページ]
(X, Y) 座標から 2D ポイントを構成します。
ST_Point(DOUBLE,DOUBLE,DOUBLE[, INT]) [348 ページ]
(X, Y, Z) 座標から 3D ポイントを構成します。
ST_Point(DOUBLE,DOUBLE,DOUBLE,DOUBLE[, INT]) [349
(X, Y, Z) 座標と測定値から 3D の測定ポイントを構成します。
ページ]
4.1.13.1.1 ST_Point() コンストラクタ
空のセットを表すポイントを構成します。
構文
NEW ST_Point()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_Point().ST_IsEmpty()
344
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.13.1.2 ST_Point(LONG VARCHAR[, INT]) コンストラクタ
テキスト表現からポイントを構成します。
構文
NEW ST_Point(<text-representation>[, <srid>])
パラメータ
表 160:
名前
タイプ
説明
text-representation
LONG VARCHAR
ポイントのテキスト表現を含む文字列。入
力には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現からポイントを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判断し
ます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.2
例
次の例では、Point (10 20) を返します。
SELECT NEW ST_Point('Point (10 20)')
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
345
4.1.13.1.3 ST_Point(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) からポイントを構成します。
構文
NEW ST_Point(<wkb>[, <srid>])
パラメータ
表 161:
名前
タイプ
wkb
LONG BINARY
説明
ポイントのバイナリ表現を含む文字列。入
力には、Well Known Binary (WKB) や拡
張 Well Know Binary (EWKB) など、サポ
ートされている任意のバイナリ入力フォーマ
ットを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現からポイントを構成します。データベースサーバでは、指定された文字列を検査して入力フォーマット
を判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.2
例
次の例では、Point (10 20) を返します。
SELECT NEW ST_Point(0x010100000000000000000024400000000000003440)
346
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.13.1.4 ST_Point(DOUBLE,DOUBLE[, INT]) コンストラクタ
(X, Y) 座標から 2D ポイントを構成します。
構文
NEW ST_Point(<x>,<y>[, <srid>])
パラメータ
表 162:
名前
タイプ
説明
x
DOUBLE
X 座標値。
y
DOUBLE
Y 座標値。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.2
例
次の例では、Point (10 20) を返します。
SELECT NEW ST_Point(10.0,20.0,0)
次の例では、結果として Point (10 20) を返します。
SELECT NEW ST_Point(10.0,20.0)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
347
4.1.13.1.5 ST_Point(DOUBLE,DOUBLE,DOUBLE[, INT]) コンスト
ラクタ
(X, Y, Z) 座標から 3D ポイントを構成します。
構文
NEW ST_Point(<x>,<y>,<z>[, <srid>])
パラメータ
表 163:
名前
タイプ
説明
x
DOUBLE
X 座標値。
y
DOUBLE
Y 座標値。
z
DOUBLE
Z 座標値。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.2
例
次の例では、Point Z (10 20 100) を返します。
SELECT NEW ST_Point(10.0,20.0,100.0,0)
348
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.13.1.6 ST_Point(DOUBLE,DOUBLE,DOUBLE,DOUBLE[,
INT]) コンストラクタ
(X, Y, Z) 座標と測定値から 3D の測定ポイントを構成します。
構文
NEW ST_Point(<x>,<y>,<z>,<m>[, <srid>])
パラメータ
表 164:
名前
タイプ
説明
x
DOUBLE
X 座標値。
y
DOUBLE
Y 座標値。
z
DOUBLE
Z 座標値。
m
DOUBLE
測定値。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.2
例
次の例では、Point ZM (10 20 100 1224) を返します。
SELECT NEW ST_Point(10.0,20.0,100.0,1224.0,0)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
349
4.1.13.2 ST_Lat メソッド
ST_Point 値の緯度座標を返します。
オーバロードリスト
表 165:
名前
説明
ST_Lat() [350 ページ]
ST_Point 値の緯度座標を返します。
ST_Lat(DOUBLE) [351 ページ]
緯度座標が指定の緯度値に設定されたポイントのコピーを返しま
す。
4.1.13.2.1 ST_Point タイプの ST_Lat() メソッド
ST_Point 値の緯度座標を返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Lat では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内
部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照して
ください。
構文
<point-expression>.ST_Lat()
戻り値
DOUBLE
ST_Point 値の緯度座標を返します。
350
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、0 で識別された空間座標系は地理的空間座標系ではないため、エラーが発生します。
SELECT NEW ST_Point( 10.0, 20.0, 0 ).ST_Lat()
次の例では、結果として 20.0 を返します。
SELECT NEW ST_Point( 10.0, 20.0, 4326 ).ST_Lat()
4.1.13.2.2 ST_Point タイプの ST_Lat(DOUBLE) メソッド
緯度座標が指定の緯度値に設定されたポイントのコピーを返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Lat では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内
部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照して
ください。
構文
<point-expression>.ST_Lat(<latitude-val>)
パラメータ
表 166:
名前
タイプ
説明
latitude-val
DOUBLE
新しい緯度値。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
351
戻り値
ST_Point
緯度が指定の値に設定されたポイントのコピーを返します。
結果の空間参照系識別子は、<point-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.13.3 ST_Long メソッド
ST_Point 値の経度座標を返します。
オーバロードリスト
表 167:
名前
説明
ST_Long() [352 ページ]
ST_Point 値の経度座標を返します。
ST_Long(DOUBLE) [353 ページ]
経度座標が指定の経度値に設定されたポイントのコピーを返しま
す。
4.1.13.3.1 ST_Point タイプの ST_Long() メソッド
ST_Point 値の経度座標を返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Long では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
352
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
構文
<point-expression>.ST_Long()
戻り値
DOUBLE
ST_Point 値の経度座標を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、0 で識別された空間座標系は地理的空間座標系ではないため、エラーが発生します。
SELECT NEW ST_Point( 10.0, 20.0, 0 ).ST_Long()
次の例では、結果として 10.0 を返します。
SELECT NEW ST_Point( 10.0, 20.0, 4326 ).ST_Long()
4.1.13.3.2 ST_Point タイプの ST_Long(DOUBLE) メソッド
経度座標が指定の経度値に設定されたポイントのコピーを返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Long では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
353
構文
<point-expression>.ST_Long(<longitude-val>)
パラメータ
表 168:
名前
タイプ
説明
longitude-val
DOUBLE
新しい経度値。
戻り値
ST_Point
経度が指定の値に設定されたポイントのコピーを返します。
結果の空間参照系識別子は、<point-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
4.1.13.4 ST_M メソッド
ポイントの測定値を取り出したり、変更したりします。
オーバロードリスト
表 169:
名前
説明
ST_M() [355 ページ]
ST_Point 値の測定値を返します。
354
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
説明
ST_M(DOUBLE) [356 ページ]
測定値が指定の mcoord 値に設定されたポイントのコピーを返し
ます。
4.1.13.4.1 ST_Point タイプの ST_M() メソッド
ST_Point 値の測定値を返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_M では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_M()
戻り値
DOUBLE
ST_Point 値の測定値を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.6
例
次の例では、結果として 40.0 を返します。
SELECT NEW ST_Point( 10.0, 20.0, 30.0, 40.0, 0 ).ST_M()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
355
4.1.13.4.2 ST_Point タイプの ST_M(DOUBLE) メソッド
測定値が指定の mcoord 値に設定されたポイントのコピーを返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_M では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_M(<mcoord>)
パラメータ
表 170:
名前
タイプ
説明
mcoord
DOUBLE
新しい測定値。
戻り値
ST_Point
測定値が指定の mcoord 値に設定されたポイントのコピーを返します。
結果の空間参照系識別子は、<point-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.6
356
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
次の例では、結果として Point ZM (1 2 3 5) を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0, 4.0 ).ST_M( 5.0 )
4.1.13.5 ST_X メソッド
ポイントの X 座標値を取り出したり、変更したりします。
オーバロードリスト
表 171:
名前
説明
ST_X() [357 ページ]
ST_Point 値の X 座標を返します。
ST_X(DOUBLE) [358 ページ]
X 座標が指定の xcoord 値に設定されたポイントのコピーを返し
ます。
4.1.13.5.1 ST_Point タイプの ST_X() メソッド
ST_Point 値の X 座標を返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_X では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_X()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
357
戻り値
DOUBLE
ST_Point 値の X 座標を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.3
例
次の例では、結果として 10.0 を返します。
SELECT NEW ST_Point( 10.0, 20.0, 30.0, 40.0, 0 ).ST_X()
次の例では、結果として 1 を返します。
SELECT NEW ST_Point( 'Point (1 2)').ST_X()
4.1.13.5.2 ST_Point タイプの ST_X(DOUBLE) メソッド
X 座標が指定の xcoord 値に設定されたポイントのコピーを返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_X では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_X(<xcoord>)
358
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 172:
名前
タイプ
説明
xcoord
DOUBLE
新しい X 座標値。
戻り値
ST_Point
X 座標が指定の xcoord 値に設定されたポイントのコピーを返します。
結果の空間参照系識別子は、<point-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.3
4.1.13.6 ST_Y メソッド
ポイントの Y 座標値を取り出したり、変更したりします。
オーバロードリスト
表 173:
名前
説明
ST_Y() [360 ページ]
ST_Point 値の Y 座標を返します。
ST_Y(DOUBLE) [361 ページ]
Y 座標が指定の ycoord 値に設定されたポイントのコピーを返し
ます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
359
4.1.13.6.1 ST_Point タイプの ST_Y() メソッド
ST_Point 値の Y 座標を返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Y では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_Y()
戻り値
DOUBLE
ST_Point 値の Y 座標を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.4
例
次の例では、結果として 20.0 を返します。
SELECT NEW ST_Point( 10.0, 20.0, 30.0, 40.0, 0 ).ST_Y()
次の例では、結果として 2 を返します。
SELECT NEW ST_Point( 'Point (1 2)').ST_Y()
360
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.13.6.2 ST_Point タイプの ST_Y(DOUBLE) メソッド
Y 座標が指定の ycoord 値に設定されたポイントのコピーを返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Y では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_Y(<ycoord>)
パラメータ
表 174:
名前
タイプ
説明
ycoord
DOUBLE
新しい Y 座標値。
戻り値
ST_Point
Y 座標が指定の ycoord 値に設定されたポイントのコピーを返します。
結果の空間参照系識別子は、<point-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.4
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
361
例
次の例では、結果として Point (1 3) を返します。
SELECT NEW ST_Point( 1, 2 ).ST_Y( 3 )
4.1.13.7 ST_Z メソッド
ポイントの Z 座標値を取り出したり、変更したりします。
オーバロードリスト
表 175:
名前
説明
ST_Z() [362 ページ]
ST_Point 値の Z 座標を返します。
ST_Z(DOUBLE) [363 ページ]
Z 座標が指定の zcoord 値に設定されたポイントのコピーを返し
ます。
4.1.13.7.1 ST_Point タイプの ST_Z() メソッド
ST_Point 値の Z 座標を返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Z では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_Z()
362
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
DOUBLE
ST_Point 値の Z 座標を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.4
例
次の例では、結果として 30.0 を返します。
SELECT NEW ST_Point( 10.0, 20.0, 30.0, 40.0, 0 ).ST_Z()
次の例では、結果として 3 を返します。
SELECT NEW ST_Point( 'Point Z(1 2 3)').ST_Z()
4.1.13.7.2 ST_Point タイプの ST_Z(DOUBLE) メソッド
Z 座標が指定の zcoord 値に設定されたポイントのコピーを返します。
注記
<point-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Z では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合は、内部
フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照してく
ださい。
構文
<point-expression>.ST_Z(<zcoord>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
363
パラメータ
表 176:
名前
タイプ
説明
zcoord
DOUBLE
新しい Z 座標値。
戻り値
ST_Point
Z 座標が指定の zcoord 値に設定されたポイントのコピーを返します。
結果の空間参照系識別子は、<point-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.5
例
次の例では、結果として Point Z (1 2 5) を返します。
SELECT NEW ST_Point( 1.0, 2.0, 3.0 ).ST_Z( 5.0 )
4.1.14 ST_Polygon タイプ
ST_Polygon は、すべて ST_LineString を用いて定義される 1 つの外部リングと 1 つまたは複数の内部リングを使用し
て、空間領域を定義します。
直接のスーパータイプ
● ST_CurvePolygon クラス [91 ページ]
364
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
コンストラクタ
● ST_Polygon コンストラクタ [365 ページ]
メソッド
● ST_Polygon のメソッド:
表 177:
ST_ExteriorRing [372 ペー
ST_InteriorRingN [374 ペー
ジ]
ジ]
● ST_CurvePolygon [91 ページ] のすべてのメソッド
● ST_Surface [386 ページ] のすべてのメソッド
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3
4.1.14.1 ST_Polygon コンストラクタ
多角形を構成します。
オーバロードリスト
表 178:
名前
説明
ST_Polygon() [366 ページ]
空のセットを表す多角形を構成します。
ST_Polygon(LONG VARCHAR[, INT]) [366 ページ]
テキスト表現から多角形を構成します。
ST_Polygon(LONG BINARY[, INT]) [367 ページ]
Well Known Binary (WKB) から多角形を構成します。
ST_Polygon(ST_Point,ST_Point) [368 ページ]
左下角と右上角を表す 2 つのポイントから、軸と平行の長方形を
作成します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
365
名前
説明
ST_Polygon(ST_MultiLineString[, VARCHAR(128)]) [370 ペ
外部リングを含む複数線ストリングと、内部リングのオプションリス
ージ]
トから多角形を作成します。
ST_Polygon(ST_LineString,...) [371 ページ]
外部リングを表す線ストリングと、内部リングを表す線ストリングの
オプションリストから多角形を作成します。
4.1.14.1.1 ST_Polygon() コンストラクタ
空のセットを表す多角形を構成します。
構文
NEW ST_Polygon()
標準
SQL/MM (ISO/IEC 13249-3:2006)
標準機能
例
次の例では、値が空であることを示す 1 を返します。
SELECT NEW ST_Polygon().ST_IsEmpty()
4.1.14.1.2 ST_Polygon(LONG VARCHAR[, INT]) コンストラクタ
テキスト表現から多角形を構成します。
構文
NEW ST_Polygon(<text-representation>[, <srid>])
366
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 179:
名前
タイプ
text-representation
LONG VARCHAR
説明
多角形のテキスト表現を含む文字列。入力
には、Well Know Text (WKT) や拡張
Well Know Text (EWKT) など、サポートさ
れている任意のテキスト入力フォーマットを
使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
文字列表現から多角形を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマットを判断し
ます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.2
例
次の例では、Polygon ((-5 -5, 5 -5, 0 5, -5 -5), (-2 -2, -2 0, 2 0, 2 -2, -2 -2)) を返します。
SELECT NEW ST_Polygon('Polygon ((-5 -5, 5 -5, 0 5, -5 -5), (-2 -2, -2 0, 2 0,
2 -2, -2 -2))')
4.1.14.1.3 ST_Polygon(LONG BINARY[, INT]) コンストラクタ
Well Known Binary (WKB) から多角形を構成します。
構文
NEW ST_Polygon(<wkb>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
367
パラメータ
表 180:
名前
タイプ
説明
wkb
LONG BINARY
多角形のバイナリ表現を含む文字列。入力
には、Well Known Binary (WKB) や拡張
Well Know Binary (EWKB) など、サポー
トされている任意のバイナリ入力フォーマッ
トを使用できます。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
備考
バイナリ文字列表現から多角形を構成します。データベースサーバでは、指定された文字列を検査して入力フォーマット
を判断します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.2
例
次の例では、Polygon ((10 -5, 15 5, 5 5, 10 -5)) を返します。
SELECT NEW
ST_Polygon(0x01030000000100000004000000000000000000244000000000000014c000000000
00002e4000000000000014400000000000001440000000000000144000000000000024400000000
0000014c0)
4.1.14.1.4 ST_Polygon(ST_Point,ST_Point) コンストラクタ
左下角と右上角を表す 2 つのポイントから、軸と平行の長方形を作成します。
構文
NEW ST_Polygon(<pmin>,<pmax>)
368
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 181:
名前
タイプ
説明
pmin
ST_Point
長方形の左下角のポイント。
pmax
ST_Point
長方形の右上角のポイント。
備考
2 つのポイントの包絡線として定義された長方形を返します。
コンストラクタは、 NEW ST_MultiPoint( pmin, pmax ).ST_Envelope() と同等です。
対応する長方形の角が入力ポイントに指定されていない場合は、サーバは指定されたポイントを含む正しい長方形を決
定します。
注記
入力ポイントが曲面の空間参照系の場合は、生成される多角形は軸と平行の長方形にはなりません。西の境界と東
の境界に関しては、それぞれ対になった東のポイントと西のポイントを結ぶ経線と一致していますが、北のエッジと南の
エッジは平行線にはならず、エッジとポイントを含む大きな楕円形の弧を描きます。また、サーバは可能な場合には常
に有効な多角形を生成します。そのような有効な多角形が日付変更線と交差した場合は、西のポイントの経度は東の
ポイントの経度より高くなり、日付変更線と交差しない多角形の場合と逆の関係が成立します。
注記
ST_Polygon では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、Polygon ((0 0, 4 0, 4 10, 0 10, 0 0)) を返します。
SELECT NEW ST_Polygon(NEW ST_Point(0.0, 0.0), NEW ST_Point(4.0, 10.0))
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
369
4.1.14.1.5 ST_Polygon(ST_MultiLineString[, VARCHAR(128)])
コンストラクタ
外部リングを含む複数線ストリングと、内部リングのオプションリストから多角形を作成します。
構文
NEW ST_Polygon(<multi-linestring>[, <polygon-format>])
パラメータ
表 182:
名前
タイプ
説明
multi-linestring
ST_MultiLineString
外部リングと (オプションの) 一連の内部リ
ングを含む複数線ストリング値。
polygon-format
VARCHAR(128)
指定した線ストリングを解釈するときに使用
する多角形フォーマットの文字列。有効なフ
ォーマットは、'CounterClockwise'、
'Clockwise'、'EvenOdd' です。
備考
外部リングを含む複数線ストリングと、内部リングのオプションリストから多角形を作成します。複数線ストリングには、線
形リングのみを含めてください。
<polygon-format> パラメータを指定すると、リングが外部リングと内部リングのいずれであるかを判断するためにサ
ーバで使用されるアルゴリズムが選択されます。指定しない場合は、空間参照系の多角形フォーマットが使用されます。
多角形フォーマットの詳細については、POLYGON FORMAT 句、CREATE SPATIAL REFERENCE SYSTEM 文を参照
してください。
注記
ST_Polygon では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
370
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
8.3.2
例
次の例では、Polygon ((-5 -1, 5 -1, 0 9, -5 -1), (-2 0, 0 4, 2 0, -2 0)) (三角孔のある三角形) を返します。
SELECT NEW ST_Polygon(
NEW ST_MultiLineString ('MultiLineString ((-5 -1, 5 -1, 0 9, -5 -1), (-2
0, 0 4, 2 0, -2 0))'))
4.1.14.1.6 ST_Polygon(ST_LineString,...) コンストラクタ
外部リングを表す線ストリングと、内部リングを表す線ストリングのオプションリストから多角形を作成します。
構文
NEW ST_Polygon(<exterior-ring>[,<interior-ring1>,...,<interior-ringN>])
パラメータ
表 183:
名前
タイプ
説明
exterior-ring
ST_LineString
多角形の外部リング
interior-ring1,...,interior-ringN
ST_LineString
多角形の内部リング
備考
外部リングを表す線ストリングと、内部リングを表す線ストリングのリスト (空の可能性もある) から多角形を作成します。
指定するすべての線ストリング値の SRID を同じにしてください。結果の多角形は、この共通 SRID を使用して構成されま
す。
指定するすべての線ストリングが空ではなく、Is3D と IsMeasured に対して同じ回答を示す必要があります。すべての線
ストリングが 3D の場合に多角形も 3D になり、すべての線ストリングが測定される場合に多角形も測定されます。
注記
ST_Polygon では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合は、
内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参照し
てください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
371
標準
内部リングの可変長リストを指定する機能はベンダー拡張です。
SQL/MM (ISO/IEC 13249-3:2006)
8.3.2
例
次の例では、Polygon ((-5 -1, 5 -1, 0 9, -5 -1), (-2 0, 0 4, 2 0, -2 0)) (三角孔のある三角形) を返します。
SELECT NEW ST_Polygon(
NEW ST_LineString ('LineString (-5 -1, 5 -1, 0 9, -5 -1)'),
NEW ST_LineString ('LineString (-2 0, 0 4, 2 0, -2 0)'))
4.1.14.2 ST_ExteriorRing メソッド
外部リングを取り出したり、変更したりします。
オーバロードリスト
表 184:
名前
説明
ST_ExteriorRing() [372 ページ]
多角形の外部リングを返します。
ST_ExteriorRing(ST_Curve) [373 ページ]
多角形の外部リングを変更します。
4.1.14.2.1 ST_Polygon タイプの ST_ExteriorRing() メソッド
多角形の外部リングを返します。
注記
ST_ExteriorRing では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
<polygon-expression>.ST_ExteriorRing()
372
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
ST_LineString
多角形の外部リングを返します。
結果の空間参照系識別子は、<polygon-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.3
例
次の例では、結果として LineString (0 0, 10 0, 5 10, 0 0) を返します。
SELECT NEW ST_Polygon('Polygon ((0 0, 10 0, 5 10, 0 0), (3 3, 3 5, 7 5, 7 3, 3
3))')
.ST_ExteriorRing()
4.1.14.2.2 ST_Polygon タイプの ST_ExteriorRing(ST_Curve) メ
ソッド
多角形の外部リングを変更します。
注記
ST_ExteriorRing では、使用可能な場合、デフォルトでジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
構文
<polygon-expression>.ST_ExteriorRing(<curve>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
373
パラメータ
表 185:
名前
タイプ
説明
曲線
ST_Curve
多角形の新しい外部リング。これは線形リ
ング値にしてください。
戻り値
ST_Polygon
指定した外部リングを含む多角形のコピーを返します。
結果の空間参照系識別子は、<polygon-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.3
例
次の例では、結果として Polygon ((0 1, 10 1, 5 10, 0 1), (3 3, 3 5, 7 5, 7 3, 3 3)) を返し
ます。
SELECT NEW ST_Polygon('Polygon ((0 0, 10 0, 5 10, 0 0), (3 3, 3 5, 7 5, 7 3, 3
3))')
.ST_ExteriorRing( NEW ST_LineString( 'LineString(0 1, 10 1, 5 10, 0
1)' ) )
4.1.14.3 ST_InteriorRingN メソッド
多角形の <n> 番目の内部リングを返します。
注記
ST_InteriorRingN では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の
場合は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句
を参照してください。
374
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
構文
<polygon-expression>.ST_InteriorRingN(<n>)
パラメータ
表 186:
名前
タイプ
説明
n
INT
返す要素の位置 (1 ~ <polygonexpression>.ST_NumInteriorRing())
。
戻り値
ST_LineString
多角形の <n> 番目の内部リングを返します。
結果の空間参照系識別子は、<polygon-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.5
例
次の例では、結果として LineString (3 3, 3 5, 7 5, 7 3, 3 3) を返します。
SELECT NEW ST_Polygon('Polygon ((0 0, 10 0, 5 10, 0 0), (3 3, 3 5, 7 5, 7 3, 3
3))')
.ST_InteriorRingN( 1 )
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
375
4.1.15 ST_SpatialRefSys タイプ
ST_SpatialRefSys タイプは、空間参照系を操作するためのルーチンを定義します。
メソッド
● ST_SpatialRefSys のメソッド:
表 187:
ST_CompareWKT [376 ペ
ST_FormatTransformDefini
ST_FormatWKT [379 ペー
ST_GetUnProjectedTransfo
ージ]
tion [378 ページ]
ジ]
rmDefinition [380 ページ]
ST_ParseWKT [381 ページ]
ST_TransformGeom [383
ST_World [385 ページ]
ページ]
標準
SQL/MM (ISO/IEC 13249-3:2006)
13.1
4.1.15.1 ST_CompareWKT メソッド
2 つの空間参照系定義を比較します。
構文
ST_SpatialRefSys::ST_CompareWKT(<transform-definition-1>,<transformdefinition-2>)
パラメータ
表 188:
名前
タイプ
説明
transform-definition-1
LONG VARCHAR
最初の空間参照系の定義テキスト
transform-definition-2
LONG VARCHAR
2 番目の空間参照系の定義テキスト
376
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
BIT
2 つの空間参照系が論理的に同等の場合は 1 を返し、それ以外の場合は 0 を返します。
備考
2 つの空間参照系 (WKT で定義) が論理的に同等かどうかを調べます。2 つの空間参照系が同じ権限によって同じ識別
子を使用して定義されている場合、または文字列が完全に等しい場合、これらの空間参照系は論理的に等しいと見なさ
れます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例は、名前の異なる 2 つの空間参照系でも等しいと見なされることを示します。
SELECT ST_SpatialRefSys::ST_CompareWKT(
'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIME
M["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]'
,
'GEOGCS["WGS 84 alternate name",DATUM["WGS_1984",SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIME
M["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]'
) Considered_Equal
次の例は、異なる権限によって定義されているために等しくないと見なされる 2 つの空間参照系を示します。
SELECT ST_SpatialRefSys::ST_CompareWKT(
'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIME
M["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]'
,
'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIME
M["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["AnotherAuthority","432
6"]]'
) Considered_NotEqual
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
377
4.1.15.2 ST_FormatTransformDefinition メソッド
変換定義のフォーマット済みコピーを返します。
構文
ST_SpatialRefSys::ST_FormatTransformDefinition(<transform-definition>)
パラメータ
表 189:
名前
タイプ
説明
transform-definition
LONG VARCHAR
空間参照系の変換定義テキスト
戻り値
LONG VARCHAR
変換定義を定義しているテキスト文字列を返します。
備考
変換定義のフォーマット済みコピーを返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0
+no_defs を返します。
SELECT ST_SpatialRefSys::ST_FormatTransformDefinition('+proj=longlat
+ellps=WGS84 +datum=WGS84 +no_defs')
378
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.15.3 ST_FormatWKT メソッド
Well Known Text (WKT) 定義のフォーマット済みコピーを返します。
構文
ST_SpatialRefSys::ST_FormatWKT(<definition>)
パラメータ
表 190:
名前
タイプ
説明
定義
LONG VARCHAR
空間参照系の定義テキスト
戻り値
LONG VARCHAR
空間参照系を WKT で定義しているテキスト文字列を返します。
備考
WKT 空間参照系定義のフォーマット済みコピーを返します。
空間参照系を記述する Well Known Text (WKT) は、ジオメトリを記述する WKT とはフォーマットが異なります。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、結果として GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]],
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
379
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]], UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4326"]] を返します。
SELECT ST_SpatialRefSys::ST_FormatWKT('GEOGCS["WGS
84",DATUM["WGS_1984",SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIME
M["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]')
4.1.15.4 ST_GetUnProjectedTransformDefinition メソッド
投影のソースとなっている空間参照系の変換定義を返します。
構文
ST_SpatialRefSys::ST_GetUnProjectedTransformDefinition(<transform-definition>)
パラメータ
表 191:
名前
タイプ
説明
transform-definition
LONG VARCHAR
空間参照系の変換定義テキスト
戻り値
LONG VARCHAR
未投影の空間参照系の変換定義を定義しているテキスト文字列を返します。
備考
<transform-definition> パラメータで投影後の空間参照系が定義されている場合は、ソースの空間参照系の定義
を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
380
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
ベンダー拡張
例
次の例では、結果として +proj=latlong +a=6371000 +b=6371000 +no_defs を返します。
SELECT ST_SpatialRefSys::ST_GetUnProjectedTransformDefinition( '+proj=robin
+lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs' )
4.1.15.5 ST_ParseWKT メソッド
名前付き要素を空間参照系の Well Known Text (WKT) 定義から取り出します。
構文
ST_SpatialRefSys::ST_ParseWKT(<element>,<srs-text>)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
381
パラメータ
表 192:
名前
タイプ
説明
element
VARCHAR(128)
WKT から取り出す要素。次の名前付き要
素を取り出すことができます。
srs_name
空間参照系の名前。
srs_type
座標系のタイプ。
organization
空間参照系を定義した組織の名前。
organization_id
空間参照系を定義した組織によって
割り当てられた整数の識別子。
linear_unit_of_measure
線形測定単位の名前。
linear_unit_of_measure_factor
線形測定単位の変換係数。
angular_unit_of_measure
角度測定単位の名前。
angular_unit_of_measure_factor
角度測定単位の変換係数。
srs-text
LONG VARCHAR
空間参照系の定義テキスト
戻り値
LONG VARCHAR
名前付き要素を空間参照系の WKT 定義から取り出します。
備考
名前付き要素を空間参照系の WKT 定義から取り出します。WKT で名前付き要素が定義されていない場合は、NULL が
返されます。
空間参照系を記述する Well Known Text (WKT) は、ジオメトリを記述する WKT とはフォーマットが異なります。
382
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
例
次の例では、各名前付き要素について、1 ローずつの結果を返します。
with V(element,srs_text) as (
SELECT row_value as element, 'GEOGCS["WGS
84",DATUM["WGS_1984",SPHEROID["WGS 84",
6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIME
M["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",
0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]' as
srs_text
FROM
sa_split_list('srs_name,srs_type,organization,organization_id,linear_unit_of_me
asure,linear_unit_of_measure_factor,angular_unit_of_measure,angular_unit_of_mea
sure_factor') D
)
SELECT element, ST_SpatialRefSys::ST_ParseWKT( element, srs_text ) parsed
FROM V
この例では、次の結果セットを返します。
表 193:
element
parsed
srs_name
WGS 84
srs_type
GEOGRAPHIC
organization
EPSG
organization_id
4326
linear_unit_of_measure
NULL
linear_unit_of_measure_factor
NULL
angular_unit_of_measure
degree
angular_unit_of_measure_factor
.017453292519943282
4.1.15.6 ST_TransformGeom メソッド
指定した変換定義を使用して変換されたジオメトリを返します。
構文
ST_SpatialRefSys::ST_TransformGeom(<geom>,<target-transform-definition>[, <sourcetransform-definition>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
383
パラメータ
表 194:
名前
タイプ
説明
geom
ST_Geometry
変換するジオメトリ。
target-transform-definition
LONG VARCHAR
ターゲットの空間参照系の変換定義テキス
ト。
source-transform-definition
LONG VARCHAR
ソースの空間参照系の変換定義テキスト。
指定しない場合は、<geom> パラメータの
空間参照系の変換定義が使用されます。
戻り値
ST_Geometry
指定した変換定義を使用して変換された入力ジオメトリを返します。
結果の空間参照系識別子は sa_planar_unbounded です (SRID 2147483646)。
備考
ST_TransformGeom メソッドは、ターゲットの変換定義を指定した 1 つのジオメトリを変換します。変換は、PROJ.4 ライ
ブラリを使用して実行されます。このメソッドは、適切な空間参照系がまだデータベースに作成されていない場合の選択状
況で使用できます。適切な空間参照系が使用可能であれば、多くの場合、ST_Transform メソッドはより妥当なものにな
ります。
緯度経度系から直交座標系への変換では、極のポイントに問題が生じることがあります。データベースサーバで北極また
は南極に近いポイントを変換できない場合、変換が成功するように、ポイントの緯度値が同じ経度に沿って極から若干
(1e-10 ラジアン強) 離れます。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
384
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
例
次の例では、結果として Point (-5387692.968586 4763459.253243) を返します。
SELECT ST_SpatialRefSys::ST_TransformGeom( NEW ST_Point(-63.57,44.65,4326),
'+proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m
no_defs' ).ST_AsText('DecimalDigits=6')
4.1.15.7 ST_World メソッド
空間参照系内のすべてのポイントを表すジオメトリを返します。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
構文
ST_SpatialRefSys::ST_World(<srid>)
パラメータ
表 195:
名前
タイプ
説明
srid
INT
結果に使用する SRID。
戻り値
ST_Surface
<srid> パラメータで識別された空間参照系内のすべてのポイントを表すジオメトリを返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
ベンダー拡張
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
385
例
次の例では、結果として Polygon ((-1000000 -1000000, 1000000 -1000000, 1000000 1000000,
-1000000 1000000, -1000000 -1000000)) を返します。
SELECT ST_SpatialRefSys::ST_World(0)
4.1.16 ST_Surface タイプ
ST_Surface タイプは、2 次元のジオメトリタイプのスーパータイプです。ST_Surface タイプはインスタンス化できません。
直接のスーパータイプ
● ST_Geometry クラス [115 ページ]
直接のサブタイプ
● ST_CurvePolygon タイプ [91 ページ]
メソッド
● ST_Surface のメソッド:
表 196:
ST_Area [387 ページ]
ST_Centroid [388 ページ]
ST_IsWorld [389 ページ]
ST_Perimeter [390 ページ]
ST_PointOnSurface [391
ページ]
● ST_Geometry [115 ページ] のすべてのメソッド
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.1
386
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.16.1 ST_Area メソッド (ST_Surface タイプ)
指定した単位で面の面積を計算します。
構文
<surface-expression>.ST_Area([ <unit-name>])
パラメータ
表 197:
名前
タイプ
説明
unit-name
VARCHAR(128)
長さを計算する単位。デフォルトでは、空間
参照系の単位が使用されます。単位名は、
UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
戻り値
DOUBLE
面の面積を返します。
備考
ST_Area メソッドは、面の面積を計算します。面積を表すために使用される単位は、指定した線形測定単位に基づきま
す。たとえば、指定した線形測定単位がフィートの場合、面積に使用される単位は平方フィートです。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
標準
SQL/MM (ISO/IEC 13249-3:2006)
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
387
8.1.2
例
次の例では、結果として 12.5 を返します。
SELECT TREAT( Shape AS ST_Polygon ).ST_Area()
FROM SpatialShapes WHERE ShapeID = 22
次の例では、架空の region テーブルから、poly_geometry カラムの領域を平方マイルで返します。
SELECT name, poly_geometry.ST_Area( 'Statute Mile' )
FROM region
次の例では、単位正方形の領域として 1 を返しています。
SELECT NEW ST_Polygon('Polygon((0 0, 1 0, 1 1, 0 1, 0 0))').ST_Area()
4.1.16.2 ST_Centroid メソッド
面の値の数学的重心である ST_Point 値を返します。
構文
<surface-expression>.ST_Centroid()
戻り値
ST_Point
面が空のセットの場合は、NULL を返します。それ以外の場合は、面の数学的重心を返します。
結果の空間参照系識別子は、<surface-expression> の空間参照系と同じです。
備考
面の値の数学的重心である ST_Point 値を返します。このポイントは面上のポイントにはならない場合もあります。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
388
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.1.4
例
次の例では、結果として Point (5 4.666667) を返します。
SELECT TREAT( Shape as ST_Surface ).ST_Centroid()
FROM SpatialShapes WHERE ShapeID = 22
次の例では、結果として Point (5 4.666667) を返します。
SELECT NEW ST_Polygon('Polygon ((3 3, 8 3, 4 8, 3 3))').ST_Centroid()
4.1.16.3 ST_IsWorld メソッド
ST_Surface に空間全体が含まれているかどうかをテストします。
注記
このメソッドは、曲面の空間参照系のジオメトリでは使用できません。
構文
<surface-expression>.ST_IsWorld()
戻り値
BIT
面に空間全体が含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.1.6
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
389
例
次の例では、結果として 1 を返します。
SELECT NEW ST_Polygon( NEW ST_Point( -180, -90, 1000004326 ),
NEW ST_Point( 180, 90, 1000004326 ) ).ST_IsWorld()
4.1.16.4 ST_Perimeter メソッド
指定した単位で面の周囲の長さを計算します。
構文
<surface-expression>.ST_Perimeter([ <unit-name>])
パラメータ
表 198:
名前
タイプ
unit-name
VARCHAR(128)
説明
長さを計算する単位。デフォルトでは、空間
参照系の単位が使用されます。単位名は、
UNIT_TYPE が 'LINEAR' である
ST_UNITS_OF_MEASURE ビュー内のロ
ーの UNIT_NAME カラムと一致させてくだ
さい。
戻り値
DOUBLE
指定した測定単位で面の周囲の長さを返します。
備考
ST_Perimeter メソッドは、<unit-name> パラメータで指定された単位で面の周囲の長さを返します。面が空の場合は、
NULL が返されます。
面に Z 値が含まれている場合、それらの値はジオメトリの周囲の長さの計算時には考慮されません。
390
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
多角形の周囲の長さには、すべてのリング (外部と内部) の長さが含まれます。
注記
<surface-expression> が空のジオメトリ (ST_IsEmpty()=1) の場合、このメソッドは NULL を返します。
注記
ST_Perimeter では、デフォルトで、使用可能な場合はジオメトリの元のフォーマットが使用されます。それ以外の場合
は、内部フォーマットが使用されます。CREATE SPATIAL REFERENCE SYSTEM 文の STORAGE FORMAT 句を参
照してください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.1.3
例
次の例では、結果として 18 を返します。
SELECT TREAT( Shape as ST_Surface ).ST_Perimeter()
FROM SpatialShapes WHERE ShapeID = 3
次の例では、架空の region テーブルから、poly_geometry カラムの周囲の長さをマイルで返します。
SELECT name, poly_geometry.ST_Perimeter( 'Statute Mile' )
FROM region
4.1.16.5 ST_PointOnSurface メソッド (ST_Surface タイプ)
ST_Surface 値と空間的に交差することが保証される ST_Point 値を返します。
注記
<surface-expression> に円ストリングが含まれている場合、それらは線ストリングに補間されます。
構文
<surface-expression>.ST_PointOnSurface()
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
391
戻り値
ST_Point
面が空のセットの場合は、NULL を返します。それ以外の場合は、ST_Surface 値と空間的に交差することが保証さ
れる ST_Point 値を返します。
結果の空間参照系識別子は、<surface-expression> の空間参照系と同じです。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.1.5
例
次の例では、多角形と交差するポイントを返します。
SELECT NEW ST_Polygon( 'Polygon(( 1 0, 0 10, 1 1, 2 10, 1 0 ))' )
.ST_PointOnSurface()
4.1.17 空間互換関数
SQL/MM 標準では、空間操作を実行するために使用できる多数の関数が定義されています。
ほとんどの場合、これらの関数は空間データ型のメソッドまたはコンストラクタの機能を複製したものです。
ファンクション
表 199:
名前
説明
ST_BdMPolyFromText 関数 [395 ページ]
複数線ストリングの Well Known Text (WKT) 表現で構成された
ST_MultiPolygon 値を返します。
ST_BdMPolyFromWKB 関数 [396 ページ]
複数線ストリングの Well Known Binary (WKB) 表現で構成され
た ST_MultiPolygon 値を返します。
ST_BdPolyFromText 関数 [398 ページ]
複数線ストリングの Well Known Text (WKT) 表現で構成された
ST_Polygon 値を返します。
392
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
ST_BdPolyFromWKB 関数 [399 ページ]
説明
複数線ストリングの Well Known Binary (WKB) 表現で構成され
た ST_Polygon 値を返します。
ST_CPolyFromText 関数 [400 ページ]
ST_CurvePolygon の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_CurvePolygon 値を返
します。
ST_CPolyFromWKB 関数 [402 ページ]
ST_CurvePolygon の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_CurvePolygon 値を返し
ます。
ST_CircularFromTxt 関数 [403 ページ]
ST_CircularString の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_CircularString 値を返
します。
ST_CircularFromWKB 関数 [404 ページ]
ST_CircularString の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_CircularString 値を返し
ます。
ST_CompoundFromTxt 関数 [406 ページ]
ST_CompoundCurve の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_CompoundCurve 値を
返します。
ST_CompoundFromWKB 関数 [407 ページ]
ST_CompoundCurve の Well Known Binary (WKB) 表現を含
む LONG BINARY 値から変換された ST_CompoundCurve 値
を返します。
ST_GeomCollFromTxt 関数 [408 ページ]
ST_GeomCollection の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_GeomCollection 値を
返します。
ST_GeomCollFromWKB 関数 [410 ページ]
ST_GeomCollection の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_GeomCollection 値を返
します。
ST_GeomFromText 関数 [411 ページ]
ST_Geometry の Well Known Text (WKT) 表現を含む LONG
VARCHAR 値から変換された ST_Geometry 値を返します。
ST_GeomFromWKB 関数 [412 ページ]
ST_Geometry の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_Geometry 値を返します。
ST_LineFromText 関数 [413 ページ]
ST_LineString の Well Known Text (WKT) 表現を含む LONG
VARCHAR 値から変換された ST_LineString 値を返します。
ST_LineFromWKB 関数 [415 ページ]
ST_LineString の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_LineString 値を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
393
名前
説明
ST_MCurveFromText 関数 [416 ページ]
ST_MultiCurve の Well Known Text (WKT) 表現を含む LONG
VARCHAR 値から変換された ST_MultiCurve 値を返します。
ST_MCurveFromWKB 関数 [417 ページ]
ST_MultiCurve の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_MultiCurve 値を返しま
す。
ST_MLineFromText 関数 [418 ページ]
ST_MultiLineString の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_MultiLineString 値を
返します。
ST_MLineFromWKB 関数 [420 ページ]
ST_MultiLineString の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_MultiLineString 値を返し
ます。
ST_MPointFromText 関数 [421 ページ]
ST_MultiPoint の Well Known Text (WKT) 表現を含む LONG
VARCHAR 値から変換された ST_MultiPoint 値を返します。
ST_MPointFromWKB 関数 [422 ページ]
ST_MultiPoint の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_MultiPoint 値を返します。
ST_MPolyFromText 関数 [423 ページ]
ST_MultiPolygon の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_MultiPolygon 値を返し
ます。
ST_MPolyFromWKB 関数 [425 ページ]
ST_MultiPolygon の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_MultiPolygon 値を返しま
す。
ST_MSurfaceFromTxt 関数 [426 ページ]
ST_MultiSurface の Well Known Text (WKT) 表現を含む
LONG VARCHAR 値から変換された ST_MultiSurface 値を返し
ます。
ST_MSurfaceFromWKB 関数 [427 ページ]
ST_MultiSurface の Well Known Binary (WKB) 表現を含む
LONG BINARY 値から変換された ST_MultiSurface 値を返しま
す。
ST_OrderingEquals 関数 [428 ページ]
ST_PointFromText 関数 [429 ページ]
ジオメトリが別のジオメトリと同一であるかどうかをテストします。
ST_Point の Well Known Text (WKT) 表現を含む LONG
VARCHAR 値から変換された ST_Point 値を返します。
ST_PointFromWKB 関数 [431 ページ]
ST_Point の Well Known Binary (WKB) 表現を含む LONG
BINARY 値から変換された ST_Point 値を返します。
ST_PolyFromText 関数 [432 ページ]
ST_Polygon の Well Known Text (WKT) 表現を含む LONG
VARCHAR 値から変換された ST_Polygon 値を返します。
394
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
説明
ST_PolyFromWKB 関数 [433 ページ]
ST_Polygon の Well Known Binary (WKB) 表現を含む LONG
BINARY 値から変換された ST_Polygon 値を返します。
4.1.17.1 ST_BdMPolyFromText 関数 [空間]
複数線ストリングの Well Known Text (WKT) 表現で構成された ST_MultiPolygon 値を返します。
構文
構文
[DBO.]ST_BdMPolyFromText(<wkt>[, <srid>])
パラメータ
表 200:
名前
タイプ
説明
wkt
LONG VARCHAR
複数線ストリング値の WKT 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiPolygon
複数線ストリングの WKT 表現で構成された ST_MultiPolygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
395
備考
ST_BdMPolyFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_BdMPolyFromText( awkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_MultiPolygon
BEGIN
DECLARE mls ST_MultiLineString;
SET mls = NEW ST_MultiLineString( awkt, srid );
RETURN NEW ST_MultiPolygon( mls );
END
注記
ST_BdMPolyFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。
sa_install_feature システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6.7
4.1.17.2 ST_BdMPolyFromWKB 関数 [空間]
複数線ストリングの Well Known Binary (WKB) 表現で構成された ST_MultiPolygon 値を返します。
構文
構文
[DBO.]ST_BdMPolyFromWKB(<wkb>[, <srid>])
396
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 201:
名前
タイプ
説明
wkb
LONG BINARY
複数線ストリング値の WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiPolygon
複数線ストリングの WKB 表現で構成された ST_MultiPolygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_BdMPolyFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_BdMPolyFromWKB( awkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_MultiPolygon
BEGIN
DECLARE mls ST_MultiLineString;
SET mls = NEW ST_MultiLineString( awkb, srid );
RETURN NEW ST_MultiPolygon( mls );
END
注記
ST_BdMPolyFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。
sa_install_feature システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6.8
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
397
4.1.17.3 ST_BdPolyFromText 関数 [空間]
複数線ストリングの Well Known Text (WKT) 表現で構成された ST_Polygon 値を返します。
構文
構文
[DBO.]ST_BdPolyFromText(<wkt>[, <srid>])
パラメータ
表 202:
名前
タイプ
説明
wkt
LONG VARCHAR
複数線ストリング値の WKT 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Polygon
複数線ストリングの WKT 表現で構成された ST_Polygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_BdPolyFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_BdPolyFromText( awkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_Polygon
BEGIN
DECLARE mls ST_MultiLineString;
SET mls = NEW ST_MultiLineString( awkt, srid );
RETURN NEW ST_Polygon( mls );
END
398
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
注記
ST_BdPolyFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.9
4.1.17.4 ST_BdPolyFromWKB 関数 [空間]
複数線ストリングの Well Known Binary (WKB) 表現で構成された ST_Polygon 値を返します。
構文
構文
[DBO.]ST_BdPolyFromWKB(<wkb>[, <srid>])
パラメータ
表 203:
名前
タイプ
説明
wkb
LONG BINARY
複数線ストリング値の WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Polygon
複数線ストリングの WKB 表現で構成された ST_Polygon 値を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
399
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_BdPolyFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_BdPolyFromWKB( awkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_Polygon
BEGIN
DECLARE mls ST_MultiLineString;
SET mls = NEW ST_MultiLineString( awkb, srid );
RETURN NEW ST_Polygon( mls );
END
注記
ST_BdPolyFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.10
4.1.17.5 ST_CPolyFromText 関数 [空間]
ST_CurvePolygon の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_CurvePolygon
値を返します。
構文
構文
[DBO.]ST_CPolyFromText(<wkt>[, <srid>])
400
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 204:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_CurvePolygon
入力文字列から作成された ST_CurvePolygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_CPolyFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_CPolyFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_CurvePolygon
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_CurvePolygon);
END
注記
ST_CPolyFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.8
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
401
4.1.17.6 ST_CPolyFromWKB 関数 [空間]
ST_CurvePolygon の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_CurvePolygon
値を返します。
構文
構文
[DBO.]ST_CPolyFromWKB(<wkb>[, <srid>])
パラメータ
表 205:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_CurvePolygon
入力文字列から作成された ST_CurvePolygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_CPolyFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_CPolyFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_CurvePolygon
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_CurvePolygon);
402
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
END
注記
ST_CPolyFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.2.9
4.1.17.7 ST_CircularFromTxt 関数 [空間]
ST_CircularString の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_CircularString
値を返します。
構文
構文
[DBO.]ST_CircularFromTxt(<wkt>[, <srid>])
パラメータ
表 206:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
403
戻り値
ST_CircularString
入力文字列から作成された ST_CircularString 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_CircularFromTxt 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_CircularFromTxt( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_CircularString
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_CircularString);
END
注記
ST_CircularFromTxt 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3.9
4.1.17.8 ST_CircularFromWKB 関数 [空間]
ST_CircularString の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_CircularString
値を返します。
構文
構文
[DBO.]ST_CircularFromWKB(<wkb>[, <srid>])
404
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 207:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_CircularString
入力文字列から作成された ST_CircularString 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_CircularFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_CircularFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_CircularString
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_CircularString);
END
注記
ST_CircularFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.3.10
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
405
4.1.17.9 ST_CompoundFromTxt 関数 [空間]
ST_CompoundCurve の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された
ST_CompoundCurve 値を返します。
構文
構文
[DBO.]ST_CompoundFromTxt(<wkt>[, <srid>])
パラメータ
表 208:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_CompoundCurve
入力文字列から作成された ST_CompoundCurve 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_CompoundFromTxt 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_CompoundFromTxt( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_CompoundCurve
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_CompoundCurve);
406
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
END
注記
ST_CompoundFromTxt 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。
sa_install_feature システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4.8
4.1.17.10 ST_CompoundFromWKB 関数 [空間]
ST_CompoundCurve の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された
ST_CompoundCurve 値を返します。
構文
構文
[DBO.]ST_CompoundFromWKB(<wkb>[, <srid>])
パラメータ
表 209:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
407
戻り値
ST_CompoundCurve
入力文字列から作成された ST_CompoundCurve 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_CompoundFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_CompoundFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_CompoundCurve
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_CompoundCurve);
END
注記
ST_CompoundFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。
sa_install_feature システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.4.9
4.1.17.11 ST_GeomCollFromTxt 関数 [空間]
ST_GeomCollection の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された
ST_GeomCollection 値を返します。
構文
構文
[DBO.]ST_GeomCollFromTxt(<wkt>[, <srid>])
408
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 210:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_GeomCollection
入力文字列から作成された ST_GeomCollection 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_GeomCollFromTxt 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_GeomCollFromTxt( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_GeomCollection
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_GeomCollection);
END
注記
ST_GeomCollFromTxt 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1.6
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
409
4.1.17.12 ST_GeomCollFromWKB 関数 [空間]
ST_GeomCollection の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された
ST_GeomCollection 値を返します。
構文
構文
[DBO.]ST_GeomCollFromWKB(<wkb>[, <srid>])
パラメータ
表 211:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_GeomCollection
入力文字列から作成された ST_GeomCollection 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_GeomCollFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_GeomCollFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_GeomCollection
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_GeomCollection);
410
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
END
注記
ST_GeomCollFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。
sa_install_feature システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.1.7
4.1.17.13 ST_GeomFromText 関数 [空間]
ST_Geometry の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_Geometry 値を返し
ます。
構文
[DBO.]ST_GeomFromText(<wkt>[, <srid>])
パラメータ
表 212:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Geometry
入力文字列から作成された ST_Geometry 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
411
備考
ST_GeomFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_GeomFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_Geometry
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_Geometry);
END
注記
ST_GeomFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.40
4.1.17.14 ST_GeomFromWKB 関数 [空間]
ST_Geometry の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_Geometry 値を返し
ます。
構文
[DBO.]ST_GeomFromWKB(<wkb>[, <srid>])
パラメータ
表 213:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
412
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
戻り値
ST_Geometry
入力文字列から作成された ST_Geometry 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_GeomFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_GeomFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_Geometry
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_Geometry);
END
注記
ST_GeomFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.41
4.1.17.15 ST_LineFromText 関数 [空間]
ST_LineString の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_LineString 値を返し
ます。
構文
[DBO.]ST_LineFromText(<wkt>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
413
パラメータ
表 214:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_LineString
入力文字列から作成された ST_LineString 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_LineFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_LineFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_LineString
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_LineString);
END
注記
ST_LineFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シス
テムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.2.8
414
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.17.16 ST_LineFromWKB 関数 [空間]
ST_LineString の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_LineString 値を返し
ます。
構文
[DBO.]ST_LineFromWKB(<wkb>[, <srid>])
パラメータ
表 215:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_LineString
入力文字列から作成された ST_LineString 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_LineFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_LineFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_LineString
BEGIN
DECLARE geo ST_Geometry;
END
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_LineString);
注記
ST_LineFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
415
標準
SQL/MM (ISO/IEC 13249-3:2006)
7.2.9
4.1.17.17 ST_MCurveFromText 関数 [空間]
ST_MultiCurve の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_MultiCurve 値を返
します。
構文
[DBO.]ST_MCurveFromText(<wkt>[, <srid>])
パラメータ
表 216:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiCurve
入力文字列から作成された ST_MultiCurve 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MCurveFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MCurveFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_MultiCurve
BEGIN
DECLARE geo ST_Geometry;
416
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_MultiCurve);
END
注記
ST_MCurveFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3.6
4.1.17.18 ST_MCurveFromWKB 関数 [空間]
ST_MultiCurve の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_MultiCurve 値を返
します。
構文
[DBO.]ST_MCurveFromWKB(<wkb>[, <srid>])
パラメータ
表 217:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiCurve
入力文字列から作成された ST_MultiCurve 値を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
417
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MCurveFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MCurveFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_MultiCurve
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_MultiCurve);
END
注記
ST_MCurveFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.3.7
4.1.17.19 ST_MLineFromText 関数 [空間]
ST_MultiLineString の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された
ST_MultiLineString 値を返します。
構文
[DBO.]ST_MLineFromText(<wkt>[, <srid>])
418
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
パラメータ
表 218:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiLineString
入力文字列から作成された ST_MultiLineString 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MLineFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MLineFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_MultiLineString
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_MultiLineString);
END
注記
ST_MLineFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.4.4
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
419
4.1.17.20 ST_MLineFromWKB 関数 [空間]
ST_MultiLineString の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された
ST_MultiLineString 値を返します。
構文
[DBO.]ST_MLineFromWKB(<wkb>[, <srid>])
パラメータ
表 219:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiLineString
入力文字列から作成された ST_MultiLineString 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MLineFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MLineFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_MultiLineString
BEGIN
DECLARE geo ST_Geometry;
END
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_MultiLineString);
注記
ST_MLineFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
420
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.4.5
4.1.17.21 ST_MPointFromText 関数 [空間]
ST_MultiPoint の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_MultiPoint 値を返し
ます。
構文
[DBO.]ST_MPointFromText(<wkt>[, <srid>])
パラメータ
表 220:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiPoint
入力文字列から作成された ST_MultiPoint 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MPointFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MPointFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_MultiPoint
BEGIN
DECLARE geo ST_Geometry;
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
421
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_MultiPoint);
END
注記
ST_MPointFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.2.4
4.1.17.22 ST_MPointFromWKB 関数 [空間]
ST_MultiPoint の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_MultiPoint 値を返し
ます。
構文
[DBO.]ST_MPointFromWKB(<wkb>[, <srid>])
パラメータ
表 221:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiPoint
入力文字列から作成された ST_MultiPoint 値を返します。
422
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MPointFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MPointFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_MultiPoint
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_MultiPoint);
END
注記
ST_MPointFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.2.5
4.1.17.23 ST_MPolyFromText 関数 [空間]
ST_MultiPolygon の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_MultiPolygon 値
を返します。
構文
[DBO.]ST_MPolyFromText(<wkt>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
423
パラメータ
表 222:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiPolygon
入力文字列から作成された ST_MultiPolygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MPolyFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MPolyFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_MultiPolygon
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_MultiPolygon);
END
注記
ST_MPolyFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6.4
424
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.17.24 ST_MPolyFromWKB 関数 [空間]
ST_MultiPolygon の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_MultiPolygon 値
を返します。
構文
[DBO.]ST_MPolyFromWKB(<wkb>[, <srid>])
パラメータ
表 223:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiPolygon
入力文字列から作成された ST_MultiPolygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MPolyFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MPolyFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_MultiPolygon
BEGIN
DECLARE geo ST_Geometry;
END
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_MultiPolygon);
注記
ST_MPolyFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
425
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.6.5
4.1.17.25 ST_MSurfaceFromTxt 関数 [空間]
ST_MultiSurface の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_MultiSurface 値
を返します。
構文
[DBO.]ST_MSurfaceFromTxt(<wkt>[, <srid>])
パラメータ
表 224:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiSurface
入力文字列から作成された ST_MultiSurface 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MSurfaceFromTxt 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MSurfaceFromTxt( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_MultiSurface
BEGIN
DECLARE geo ST_Geometry;
426
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_MultiSurface);
END
注記
ST_MSurfaceFromTxt 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature
システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.8
4.1.17.26 ST_MSurfaceFromWKB 関数 [空間]
ST_MultiSurface の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_MultiSurface 値
を返します。
構文
[DBO.]ST_MSurfaceFromWKB(<wkb>[, <srid>])
パラメータ
表 225:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_MultiSurface
入力文字列から作成された ST_MultiSurface 値を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
427
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_MSurfaceFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_MSurfaceFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_MultiSurface
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_MultiSurface);
END
注記
ST_MSurfaceFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。
sa_install_feature システムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
9.5.9
4.1.17.27 ST_OrderingEquals 関数 [空間]
ジオメトリが別のジオメトリと同一であるかどうかをテストします。
構文
[DBO.]ST_OrderingEquals(<geo1>,<geo2>)
パラメータ
表 226:
名前
タイプ
説明
geo1
ST_Geometry
順序付ける最初のジオメトリ値。
428
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
名前
タイプ
説明
geo2
ST_Geometry
順序付ける 2 番目のジオメトリ値。
戻り値
INT
<geo1> が <geo2> と完全に等しい場合は 1 を返し、それ以外の場合は 0 を返します。
備考
ST_OrderingEquals 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_OrderingEquals( geo1 ST_Geometry, geo2 ST_Geometry )
RETURNS INT
BEGIN
RETURN geo1.ST_OrderingEquals( geo2 );
END
注記
ST_OrderingEquals 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
5.1.43
4.1.17.28 ST_PointFromText 関数 [空間]
ST_Point の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_Point 値を返します。
構文
[DBO.]ST_PointFromText(<wkt>[, <srid>])
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
429
パラメータ
表 227:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Point
入力文字列から作成された ST_Point 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_PointFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_PointFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_Point
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_Point);
END
注記
ST_PointFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.8
430
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
4.1.17.29 ST_PointFromWKB 関数 [空間]
ST_Point の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_Point 値を返します。
構文
[DBO.]ST_PointFromWKB(<wkb>[, <srid>])
パラメータ
表 228:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Point
入力文字列から作成された ST_Point 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_PointFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_PointFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_Point
BEGIN
DECLARE geo ST_Geometry;
END
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_Point);
注記
ST_PointFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
431
標準
SQL/MM (ISO/IEC 13249-3:2006)
6.1.9
4.1.17.30 ST_PolyFromText 関数 [空間]
ST_Polygon の Well Known Text (WKT) 表現を含む LONG VARCHAR 値から変換された ST_Polygon 値を返しま
す。
構文
[DBO.]ST_PolyFromText(<wkt>[, <srid>])
パラメータ
表 229:
名前
タイプ
説明
wkt
LONG VARCHAR
WKT 表現
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Polygon
入力文字列から作成された ST_Polygon 値を返します。
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_PolyFromText 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_PolyFromText( wkt LONG VARCHAR, srid INT DEFAULT 0 )
RETURNS ST_Polygon
BEGIN
DECLARE geo ST_Geometry;
432
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
set geo = ST_Geometry::ST_GeomFromText( wkt, srid );
RETURN CAST( geo AS ST_Polygon);
END
注記
ST_PolyFromText 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シス
テムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.6
4.1.17.31 ST_PolyFromWKB 関数 [空間]
ST_Polygon の Well Known Binary (WKB) 表現を含む LONG BINARY 値から変換された ST_Polygon 値を返しま
す。
構文
[DBO.]ST_PolyFromWKB(<wkb>[, <srid>])
パラメータ
表 230:
名前
タイプ
説明
wkb
LONG BINARY
WKB 表現。
srid
INT
結果の SRID。指定しない場合、デフォルト
は 0 です。
戻り値
ST_Polygon
入力文字列から作成された ST_Polygon 値を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
433
結果の空間参照系識別子は、パラメータ <srid> で指定します。
備考
ST_PolyFromWKB 関数は次のものと同等です。
CREATE FUNCTION DBO.ST_PolyFromWKB( wkb LONG BINARY, srid INT DEFAULT 0 )
RETURNS ST_Polygon
BEGIN
DECLARE geo ST_Geometry;
set geo = ST_Geometry::ST_GeomFromWKB( wkb, srid );
RETURN CAST( geo AS ST_Polygon);
END
注記
ST_PolyFromWKB 関数は、新しく作成されたデータベースにはデフォルトでは存在しません。sa_install_feature シ
ステムプロシージャを使用して、空間 SQL 互換関数をインストールしてください。
標準
SQL/MM (ISO/IEC 13249-3:2006)
8.3.7
4.1.18 サポートされているすべてのメソッドのリスト
サポートされている空間メソッドは多数あります。
「曲面」の項の X は、空間参照系でもメソッドがサポートされていることを示しています。SQL/MM カラムには、SQL/MM
標準 (ISO/IEC 13249-3:2006) への準拠が反映されています。
表 231:
メソッド
タイプ
説明
ST_Affine [118 ページ]
ST_Geometry [115 ペ
回転、平行移動、スケー
ージ]
曲面
SQL/MM
ベンダー拡張
リングを 1 回の呼び出し
で実行するアフィン変換
を実行します。
ST_Area [336 ページ]
ST_MultiSurface [330
ページ]
434
指定した単位で複数面
9.5.3
の面積を計算します。
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
ST_Area [387 ページ]
ST_Surface [386 ペー
指定した単位で面の面
ジ]
ST_AsBinary [120 ペー ST_Geometry [115 ペ
ジ]
ージ]
ST_AsGML [124 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_AsGeoJSON [128
ST_Geometry [115 ペ
ページ]
ージ]
曲面
SQL/MM
8.1.2
積を計算します。
ST_Geometry 値の
X
5.1.37
X
5.1.39
X
ベンダー拡張
X
5.1.39
X
ベンダー拡張
X
5.1.35
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
WKB 表現を返します。
ST_Geometry 値の
GML 表現を返します。
ジオメトリを JSON フォー
マットで表す文字列を返
します。
ST_AsKML [130 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_AsSVG [134 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_AsText [142 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_AsWKB [151 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_AsWKT [154 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_AsXML [157 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_Boundary [165 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ST_Centroid [338 ペー
ST_MultiSurface [330
ジ]
ページ]
ST_Geometry 値の
KML 表現を返します。
ジオメトリ値を表す SVG
図形を返します。
ST_Geometry 値のテキ
スト表現を返します。
ST_Geometry 値の
WKB 表現を返します。
ST_Geometry 値の
WKT 表現を返します。
ST_Geometry 値の
XML 表現を返します。
ジオメトリ値の境界を返
5.1.14
します。
複数面の数学的重心で
9.5.5
ある ST_Point を計算し
ます。
ST_Centroid [388 ペー
ST_Surface [386 ペー
ジ]
ジ]
面の値の数学的重心で
8.1.4
ある ST_Point 値を返し
ます。
ST_Contains [166 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値に別のジオメ
5.1.31
トリ値が空間的に含まれ
ているかどうかをテストし
ます。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
435
メソッド
タイプ
ST_ContainsFilter [168 ST_Geometry [115 ペ
ページ]
ージ]
説明
曲面
SQL/MM
ベンダー拡張
ジオメトリに別のジオメト
リが含まれているかどう
かの低コストのテスト。
ST_ConvexHull [169 ペ ST_Geometry [115 ペ
ージ]
ージ]
ST_CoordDim [173 ペ
ST_Geometry [115 ペ
ージ]
ージ]
5.1.16
ジオメトリ値の凸包を返
します。
ST_Geometry 値の各
X
5.1.3
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
ポイントで格納されてい
る座標次元の数を返しま
す。
ST_CoveredBy [175 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ジオメトリ値が別のジオメ
トリ値に空間的に含まれ
ているかどうかをテストし
ます。
ST_CoveredByFilter
ST_Geometry [115 ペ
[176 ページ]
ージ]
ジオメトリが別のジオメト
リに含まれているかどう
かの低コストのテスト。
ST_Covers [178 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値に別のジオメ
トリ値が空間的に含まれ
ているかどうかをテストし
ます。
ST_CoversFilter [179
ST_Geometry [115 ペ
ページ]
ージ]
ジオメトリに別のジオメト
リが含まれているかどう
かの低コストのテスト。
ST_Crosses [181 ペー
ST_Geometry [115 ペ
ジ]
ージ]
5.1.29
ジオメトリ値が別のジオメ
トリ値と交差しているかど
うかをテストします。
ST_CurveN [80 ペー
ST_CompoundCurve
ジ]
[74 ページ]
ST_CurvePolyToPoly
ST_CurvePolygon [91
[99 ページ]
ページ]
複合曲線の <n> 番目の
X
7.4.5
X
8.2.7
X
7.1.7
X
5.1.20
曲線を返します。
曲線多角形の補間近似
値を多角形として返しま
す。
ST_CurveToLine [84
ST_Curve [82 ページ]
ページ]
ST_Curve 値の
ST_LineString 補間近
似値を返します。
ST_Difference [183 ペ
ST_Geometry [115 ペ
ージ]
ージ]
2 つのジオメトリの差集
合を表すジオメトリ値を
返します。
436
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
ST_Dimension [184 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ST_Geometry 値の次
曲面
SQL/MM
X
5.1.2
X
5.1.26
X
5.1.23
X
7.1.4
元を返します。ポイントの
次元は 0、線の次元は
1、面の次元は 2 です。
空のジオメトリの次元は
-1 です。
ST_Disjoint [186 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値が別のジオメ
トリ値から空間的に分断
されているかどうかをテ
ストします。
ST_Distance [187 ペー
ST_Geometry [115 ペ
ジ]
ージ]
${selfexpr} と指定した
ジオメトリ値間の最短距
離を返します。
ST_EndPoint [85 ペー
ST_Curve [82 ページ]
ジ]
終了ポイントである
ST_Point 値を返しま
す。
ST_Envelope [190 ペー ST_Geometry [115 ペ
ジ]
ージ]
ST_Equals [192 ページ] ST_Geometry [115 ペ
ージ]
5.1.15
ジオメトリ値の外接矩形
を返します。
ST_Geometry 値が別
X
5.1.24
X
ベンダー拡張
X
8.2.3
X
8.3.3
X
9.1.5
X
5.1.4
X
8.2.6
の ST_Geometry 値と
空間的に等しいかどうか
をテストします。
ST_EqualsFilter [194
ST_Geometry [115 ペ
ページ]
ージ]
ジオメトリが別のジオメト
リと等しいかどうかの低
コストのテスト。
ST_ExteriorRing [101
ST_CurvePolygon [91
ページ]
ページ]
ST_ExteriorRing [372
ST_Polygon [364 ペー
ページ]
ジ]
ST_GeometryN [113 ペ ST_GeomCollection
[105 ページ]
ージ]
外部リングを取り出した
り、変更したりします。
外部リングを取り出した
り、変更したりします。
ジオメトリコレクションの
<n> 番目のジオメトリを
返します。
ST_GeometryType
ST_Geometry [115 ペ
[201 ページ]
ージ]
ST_InteriorRingN [103
ST_CurvePolygon [91
ページ]
ページ]
ST_Geometry 値のタイ
プの名前を返します。
曲線多角形の <n> 番目
の内部リングを返しま
す。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
437
曲面
SQL/MM
X
8.3.5
X
5.1.18
X
5.1.27
X
ベンダー拡張
X
ベンダー拡張
X
5.1.10
X
7.1.5
ST_MultiCurve [298 ペ 値が閉じているかどうか X
ージ]
をテストします。開始ポイ
9.3.3
メソッド
タイプ
ST_InteriorRingN [374
ST_Polygon [364 ペー
ページ]
ジ]
ST_Intersection [204
ST_Geometry [115 ペ
ページ]
ージ]
説明
多角形の <n> 番目の内
部リングを返します。
2 つのジオメトリの積集
合を表すジオメトリ値を
返します。
ST_Intersects [207 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ジオメトリ値が別の値と
空間的に交差しているか
どうかをテストします。
ST_IntersectsFilter
ST_Geometry [115 ペ
[209 ページ]
ージ]
2 つのジオメトリが交差し
ているかどうかの低コス
トのテスト。
ST_IntersectsRect
ST_Geometry [115 ペ
[210 ページ]
ージ]
ジオメトリが長方形と交
差しているかどうかをテ
ストします。
ST_Is3D [212 ページ]
ST_Geometry [115 ペ
ージ]
ジオメトリ値に Z 座標値
が含まれているかどうか
を調べます。
ST_IsClosed [86 ペー
ST_Curve [82 ページ]
ジ]
曲線が閉じているかどう
かをテストします。開始
ポイントと終了ポイントが
一致する場合、曲線は閉
じています。
ST_IsClosed [304 ペー
ジ]
ントと終了ポイントが一
致する場合、曲線は閉じ
ています。空ではなく、空
の境界を持つ複数曲線
は閉じています。
ST_IsEmpty [213 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値が空のセット
X
5.1.7
X
5.1.11
を表すかどうかを調べま
す。
ST_IsMeasured [214
ST_Geometry [115 ペ
ページ]
ージ]
ジオメトリ値に測定値が
関連付けられているかど
うかを調べます。
438
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
曲面
SQL/MM
ST_IsRing [87 ページ]
ST_Curve [82 ページ]
曲線がリングかどうかを
X
7.1.6
X
5.1.8
X
5.1.9
テストします。曲線が閉じ
ていて単純な場合 (それ
自体と交差しない場合)、
その曲線はリングです。
ST_IsSimple [215 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値が単純かど
うかを調べます (それ自
体と交差しないことや他
の不規則性など)。
ST_IsValid [216 ページ] ST_Geometry [115 ペ
ージ]
ジオメトリが有効な空間
オブジェクトであるかどう
かを調べます。
ST_IsWorld [389 ペー
ST_Surface [386 ペー
ジ]
ジ]
8.1.6
ST_Surface に空間全体
が含まれているかどうか
をテストします。
ST_Lat [350 ページ]
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
7.1.2
ST_MultiCurve [298 ペ 複数曲線のすべての曲 X
ージ]
線の長さの測定値を返し
9.3.4
ST_Point [343 ページ]
ST_Point 値の緯度座標
を返します。
ST_LatNorth [217 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_LatSouth [218 ペー ST_Geometry [115 ペ
ジ]
ージ]
ST_Length [88 ページ]
ST_Curve [82 ページ]
ジオメトリの最北の緯度
を取り出します。
ジオメトリの最南の緯度
を取り出します。
長さの測定値を取り出し
ます。
ST_Length [305 ペー
ジ]
ます。
ST_LinearHash [219 ペ ST_Geometry [115 ペ
ージ]
ージ]
ジオメトリの線形ハッシュ
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
であるバイナリ文字列を
返します。
ST_Long [352 ページ]
ST_Point [343 ページ]
ST_Point 値の経度座標
を返します。
ST_LongEast [223 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ST_LongWest [224 ペ
ST_Geometry [115 ペ
ージ]
ージ]
管理: 空間データ
空間データへのアクセスとそのデータの操作
ジオメトリの東の境界の
経度を取り出します。
ジオメトリの西の境界の
経度を取り出します。
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
439
メソッド
タイプ
説明
曲面
SQL/MM
ST_M [354 ページ]
ST_Point [343 ページ]
ポイントの測定値を取り
X
6.1.6
X
ベンダー拡張
X
ベンダー拡張
X
7.4.4
X
9.1.4
X
8.2.5
X
7.3.4
X
7.2.4
X
5.1.43
出したり、変更したりしま
す。
ST_MMax [225 ページ] ST_Geometry [115 ペ
ージ]
ST_MMin [226 ページ]
ST_Geometry [115 ペ
ージ]
ST_NumCurves [81 ペ
ST_CompoundCurve
ージ]
[74 ページ]
ST_NumGeometries
ST_GeomCollection
[114 ページ]
[105 ページ]
ジオメトリの最大 M 座標
値を取り出します。
ジオメトリの最小 M 座標
値を取り出します。
複合曲線を定義している
曲線数を返します。
ジオメトリコレクションに
含まれているジオメトリ
数を返します。
ST_NumInteriorRing
ST_CurvePolygon [91
[104 ページ]
ページ]
ST_NumPoints [71 ペ
ST_CircularString [64
ージ]
ページ]
曲線多角形の内部リン
グ数を返します。
円ストリングを定義して
いるポイント数を返しま
す。
ST_NumPoints [296 ペ ST_LineString [289 ペ
ージ]
ージ]
線ストリングを定義して
いるポイント数を返しま
す。
ST_OrderingEquals
ST_Geometry [115 ペ
[227 ページ]
ージ]
ジオメトリが別のジオメト
リと同一であるかどうか
をテストします。
ST_Overlaps [229 ペー ST_Geometry [115 ペ
ジ]
ージ]
5.1.32
ジオメトリ値が別のジオメ
トリ値と重なり合うかどう
かをテストします。
ST_Perimeter [340 ペ
ST_MultiSurface [330
ージ]
ページ]
指定した単位で複数面
X
9.5.4
X
8.1.3
X
7.3.5
X
7.2.5
の周囲の長さを計算しま
す。
ST_Perimeter [390 ペ
ST_Surface [386 ペー
ージ]
ジ]
ST_PointN [72 ページ]
ST_CircularString [64
ページ]
ST_PointN [297 ペー
ST_LineString [289 ペ
ジ]
ージ]
440
指定した単位で面の周
囲の長さを計算します。
円ストリングの <n> 番目
のポイントを返します。
線ストリングの <n> 番目
のポイントを返します。
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
曲面
SQL/MM
ST_PointOnSurface
ST_MultiSurface [330
9.5.6
ページ]
複数面内の面上にある
X
[342 ページ]
X
8.1.5
ことが保証されるポイント
を返します。
ST_PointOnSurface
ST_Surface [386 ペー
[391 ページ]
ジ]
ST_Surface 値と空間的
に交差することが保証さ
れる ST_Point 値を返し
ます。
ST_Relate [231 ページ]
ST_Geometry [115 ペ
ージ]
5.1.25, ベンダー拡張
あるジオメトリ値と別のジ
オメトリ値との空間的な
関係が、交点マトリックス
で指定されているとおり
かどうかをテストします。
ST_Relate メソッドは、
Dimensionally
Extended 9
Intersection Model
(DE-9IM) からの 9 文字
の文字列を使用して、2
つの空間データ項目間
のペアワイズの関係を示
します。たとえば、
ST_Relate メソッドは、ジ
オメトリ間に共通部分が
存在するかどうかを確認
し、存在する場合は結果
の共通部分のジオメトリ
を調べます。参
照:ST_Relate メソッドを
使用したカスタム関係の
テスト。
ST_Reverse [236 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_SRID [237 ページ]
ST_Geometry [115 ペ
ージ]
要素の順序を逆にしたジ
X
ベンダー拡張
X
5.1.5
X
ベンダー拡張
オメトリを返します。
ジオメトリ値に関連付け
られている空間参照系を
取り出したり、変更したり
します。
ST_SnapToGrid [241
ST_Geometry [115 ペ
ページ]
ージ]
指定したグリッドにすべ
てのポイントがスナップさ
れたジオメトリのコピーを
返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
441
メソッド
タイプ
ST_StartPoint [90 ペー ST_Curve [82 ページ]
ジ]
説明
曲面
SQL/MM
開始ポイントである
X
7.1.3
X
5.1.21
X
5.1.33
X
5.1.33
X
ベンダー拡張
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
5.1.33
X
ベンダー拡張
ST_Point 値を返しま
す。
ST_SymDifference
ST_Geometry [115 ペ
[245 ページ]
ージ]
2 つのジオメトリの対称
差を表すジオメトリ値を
返します。
ST_ToCircular [247 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ジオメトリを円ストリング
に変換します。
ST_ToCompound [248 ST_Geometry [115 ペ
ページ]
ージ]
ジオメトリを複合曲線に
ジオメトリを曲線に変換し
ST_ToCurve [249 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_ToCurvePoly [251
ST_Geometry [115 ペ
ページ]
ージ]
ST_ToGeomColl [252
ST_Geometry [115 ペ
ページ]
ージ]
ST_ToLineString [253
ST_Geometry [115 ペ
ページ]
ージ]
ST_ToMultiCurve [255 ST_Geometry [115 ペ
ページ]
ージ]
ST_ToMultiLine [256
ST_Geometry [115 ペ
ページ]
ージ]
ST_ToMultiPoint [258
ST_Geometry [115 ペ
ページ]
ージ]
ST_ToMultiPolygon
ST_Geometry [115 ペ
[259 ページ]
ージ]
ST_ToMultiSurface
ST_Geometry [115 ペ
[261 ページ]
ージ]
ST_ToPoint [262 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ST_ToPolygon [263 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ST_ToSurface [265 ペ
ST_Geometry [115 ペ
ージ]
ージ]
442
変換します。
ます。
ジオメトリを曲線多角形
に変換します。
ジオメトリをジオメトリコレ
クションに変換します。
ジオメトリを線ストリング
に変換します。
ジオメトリを複数曲線値
に変換します。
ジオメトリを複数線ストリ
ング値に変換します。
ジオメトリを複数ポイント
値に変換します。
ジオメトリを複数多角形
値に変換します。
ジオメトリを複数面値に
変換します。
ジオメトリをポイントに変
換します。
ジオメトリを多角形に変
換します。
ジオメトリを面に変換しま
す。
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
曲面
ST_Touches [266 ペー
ST_Geometry [115 ペ
ジオメトリ値が別のジオメ
ジ]
ージ]
SQL/MM
5.1.28
トリ値と空間的に接触し
ているかどうかをテストし
ます。
ST_Transform [268 ペ
ST_Geometry [115 ペ
ージ]
ージ]
指定した空間参照系に
X
5.1.6
X
5.1.19
変換されたジオメトリ値
のコピーを作成します。
ST_Union [269 ページ]
ST_Geometry [115 ペ
ージ]
2 つのジオメトリの和集
合を表すジオメトリ値を
返します。
ST_Within [272 ページ] ST_Geometry [115 ペ
ージ]
5.1.30
ジオメトリ値が別のジオメ
トリ値内に空間的に含ま
れているかどうかをテス
トします。
ST_WithinDistance
ST_Geometry [115 ペ
[274 ページ]
ージ]
2 つのジオメトリが指定
X
ベンダー拡張
X
ベンダー拡張
の相互距離内にあるか
どうかをテストします。
ST_WithinDistanceFilt
ST_Geometry [115 ペ
er [277 ページ]
ージ]
2 つのジオメトリが指定
距離内にあるかどうかを
判定するための負荷の
低い方法。
ST_WithinFilter [279
ST_Geometry [115 ペ
ページ]
ージ]
ベンダー拡張
ジオメトリが別のジオメト
リ内にあるかどうかの低
コストのテスト。
ST_X [357 ページ]
ST_Point [343 ページ]
ポイントの X 座標値を取
X
6.1.3
X
ベンダー拡張
X
ベンダー拡張
X
6.1.4
X
ベンダー拡張
り出したり、変更したりし
ます。
ST_XMax [281 ページ]
ST_Geometry [115 ペ
ージ]
ST_XMin [282 ページ]
ST_Geometry [115 ペ
ージ]
ST_Y [359 ページ]
ST_Point [343 ページ]
ジオメトリの最大 X 座標
値を取り出します。
ジオメトリの最小 X 座標
値を取り出します。
ポイントの Y 座標値を取
り出したり、変更したりし
ます。
ST_YMax [284 ページ]
ST_Geometry [115 ペ
ージ]
管理: 空間データ
空間データへのアクセスとそのデータの操作
ジオメトリの最大 Y 座標
値を取り出します。
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
443
メソッド
タイプ
説明
ST_YMin [285 ページ]
ST_Geometry [115 ペ
ジオメトリの最小 Y 座標
ージ]
ST_Z [362 ページ]
ST_Point [343 ページ]
曲面
SQL/MM
X
ベンダー拡張
X
6.1.4, 6.1.5
X
ベンダー拡張
X
ベンダー拡張
値を取り出します。
ポイントの Z 座標値を取
り出したり、変更したりし
ます。
ST_ZMax [286 ページ]
ST_Geometry [115 ペ
ージ]
ST_ZMin [288 ページ]
ST_Geometry [115 ペ
ージ]
ジオメトリの最大 Z 座標
値を取り出します。
ジオメトリの最小 Z 座標
値を取り出します。
4.1.19 サポートされているすべてのコンストラクタのリスト
サポートされている空間コンストラクタは多数あります。
「曲面」の項の X は、空間参照系でもメソッドがサポートされていることを示しています。SQL/MM カラムには、SQL/MM
標準 (ISO/IEC 13249-3:2006) への準拠が反映されています。
表 232:
Constructor
Description
Round-Earth
SQL/MM
ST_CircularString [66
Constructs a
X
7.3.2, Vendor
extension
X
7.4.2, Vendor
extension
X
8.2.2, Vendor
extension
X
9.1.2, Vendor
extension
X
7.2.2, Vendor
extension
ST_MultiCurve [299 ペ Constructs a multi
ージ]
curve.
X
9.3.2, Vendor
extension
ST_MultiLineString
X
9.4.2, Vendor
extension
X
9.2.2, Vendor
extension
ページ]
ST_CompoundCurve
[75 ページ]
ST_CurvePolygon [92
ページ]
ST_GeomCollection
[107 ページ]
circularstring.
Constructs a
compound curve.
Constructs a curve
polygon.
Constructs a
geometry collection.
ST_LineString [290 ペ
Constructs a
ージ]
linestring.
[309 ページ]
Constructs a multi
linestring.
ST_MultiPoint [316 ペ
Constructs a multi
ージ]
point.
444
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
Constructor
Description
Round-Earth
SQL/MM
ST_MultiPolygon [322
Constructs a multi
X
9.6.2, Vendor
extension
X
9.5.2, Vendor
extension
ページ]
ST_MultiSurface [331
ページ]
polygon.
Constructs a multi
surface.
ST_Point [343 ページ]
Constructs a point.
X
6.1.2
ST_Polygon [365 ペー
Constructs a polygon.
X
8.3.2, Vendor
extension
ジ]
4.1.20 静的メソッドのリスト
空間データで使用できる静的メソッドは多数あります。
「曲面」の項の X は、空間参照系でもメソッドがサポートされていることを示しています。SQL/MM カラムには、SQL/MM
標準 (ISO/IEC 13249-3:2006) への準拠が反映されています。
表 233:
メソッド
タイプ
説明
曲面
SQL/MM
ST_AsSVGAggr [138
ST_Geometry [115 ペ
グループ内のジオメトリ
X
ベンダー拡張
ページ]
ージ]
X
ベンダー拡張
をレンダリングした完全
または部分的な SVG ド
キュメントを返します。
ST_CompareWKT
ST_SpatialRefSys
[376 ページ]
[376 ページ]
ST_ConvexHullAggr
ST_Geometry [115 ペ
[171 ページ]
ージ]
2 つの空間参照系定義
を比較します。
ベンダー拡張
グループ内のすべての
ジオメトリの凸包を返しま
す。
ST_EnvelopeAggr [191
ST_Geometry [115 ペ
ページ]
ージ]
ベンダー拡張
グループ内のすべての
ジオメトリの外接矩形を
返します。
ST_FormatTransform
ST_SpatialRefSys
Definition [378 ページ]
[376 ページ]
ST_FormatWKT [379
ST_SpatialRefSys
ページ]
[376 ページ]
変換定義のフォーマット
X
ベンダー拡張
X
ベンダー拡張
済みコピーを返します。
Well Known Text
(WKT) 定義のフォーマッ
ト済みコピーを返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
445
メソッド
タイプ
ST_GeomCollectionAg ST_GeomCollection
gr [112 ページ]
[105 ページ]
説明
曲面
SQL/MM
グループ内のすべての
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
5.1.40
X
5.1.41
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
ジオメトリを含むジオメト
リコレクションを返しま
す。
ST_GeomFromBinary
ST_Geometry [115 ペ
[195 ページ]
ージ]
ST_GeomFromShape
ST_Geometry [115 ペ
[197 ページ]
ージ]
バイナリ文字列表現から
ジオメトリを構成します。
ESRI シェイプレコードを
含む文字列を解析し、適
切なタイプのジオメトリ値
を作成します。
ST_GeomFromText
ST_Geometry [115 ペ
[198 ページ]
ージ]
ST_GeomFromWKB
ST_Geometry [115 ペ
[199 ページ]
ージ]
文字列表現からジオメト
リを構成します。
ジオメトリの WKB また
は EWKB 表現を含む文
字列を解析し、適切なタ
イプのジオメトリ値を作成
します。
ST_GeomFromWKT
ST_Geometry [115 ペ
[200 ページ]
ージ]
ジオメトリの WKT または
EWKT 表現を含む文字
列を解析し、適切なタイ
プのジオメトリ値を作成し
ます。
ST_GeometryTypeFro
ST_Geometry [115 ペ
mBaseType [203 ペー
ージ]
ジ]
タイプ文字列を定義して
いる文字列を解析しま
す。
ST_GetUnProjectedTr
ansformDefinition
ST_SpatialRefSys
[376 ページ]
[380 ページ]
投影のソースとなってい
る空間参照系の変換定
義を返します。
ST_IntersectionAggr
ST_Geometry [115 ペ
[206 ページ]
ージ]
グループ内のすべての
ジオメトリの空間的共通
部分を返します。
ST_LineStringAggr
ST_LineString [289 ペ
[294 ページ]
ージ]
グループ内の順序付けさ
れたポイントから構成さ
れた線ストリングを返し
ます。
ST_LinearUnHash
ST_Geometry [115 ペ
[220 ページ]
ージ]
446
インデックスハッシュを表
すジオメトリを返します。
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
曲面
SQL/MM
ST_LoadConfiguration
ST_Geometry [115 ペ
バイナリ設定データを返
X
ベンダー拡張
Data [222 ページ]
ージ]
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
します。内部でのみ使用
されます。
ST_MultiCurveAggr
[306 ページ]
ST_MultiCurve [298 ペ グループ内のすべての
ージ]
曲線を含む複数曲線を
返します。
ST_MultiLineStringAg
ST_MultiLineString
gr [313 ページ]
[308 ページ]
グループ内のすべての
線ストリングを含む複数
線ストリングを返します。
ST_MultiPointAggr
ST_MultiPoint [315 ペ
[320 ページ]
ージ]
グループ内のすべての
ポイントを含む複数ポイ
ントを返します。
ST_MultiPolygonAggr
ST_MultiPolygon [321
[328 ページ]
ページ]
グループ内のすべての
多角形を含む複数多角
形を返します。
ST_MultiSurfaceAggr
ST_MultiSurface [330
[339 ページ]
ページ]
グループ内のすべての
面を含む複数面を返しま
す。
ST_ParseWKT [381 ペ
ST_SpatialRefSys
ージ]
[376 ページ]
名前付き要素を空間参
照系の Well Known
Text (WKT) 定義から取
り出します。
ST_SRIDFromBaseTy
ST_Geometry [115 ペ
pe [240 ページ]
ージ]
タイプ文字列を定義して
いる文字列を解析しま
す。
ST_TransformGeom
ST_SpatialRefSys
[383 ページ]
[376 ページ]
指定した変換定義を使
用して変換されたジオメ
トリを返します。
ST_UnionAggr [271 ペ
ST_Geometry [115 ペ
ージ]
ージ]
グループ内のすべての
ジオメトリの空間的論理
和を返します。
ST_World [385 ページ]
ST_SpatialRefSys
[376 ページ]
空間参照系内のすべて
ベンダー拡張
のポイントを表すジオメト
リを返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
447
4.1.21 集約メソッドのリスト
空間データで使用できる集約メソッドは多数あります。
「曲面」の項の X は、空間参照系でもメソッドがサポートされていることを示しています。SQL/MM カラムには、SQL/MM
標準 (ISO/IEC 13249-3:2006) への準拠が反映されています。
表 234:
メソッド
タイプ
説明
曲面
SQL/MM
ST_AsSVGAggr [138
ST_Geometry [115 ペ
グループ内のジオメトリ
X
ベンダー拡張
ページ]
ージ]
をレンダリングした完全
または部分的な SVG ド
キュメントを返します。
ST_ConvexHullAggr
ST_Geometry [115 ペ
[171 ページ]
ージ]
ベンダー拡張
グループ内のすべての
ジオメトリの凸包を返しま
す。
ST_EnvelopeAggr [191
ST_Geometry [115 ペ
ページ]
ージ]
ベンダー拡張
グループ内のすべての
ジオメトリの外接矩形を
返します。
ST_GeomCollectionAg ST_GeomCollection
gr [112 ページ]
[105 ページ]
グループ内のすべての
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
ジオメトリを含むジオメト
リコレクションを返しま
す。
ST_IntersectionAggr
ST_Geometry [115 ペ
[206 ページ]
ージ]
グループ内のすべての
ジオメトリの空間的共通
部分を返します。
ST_LineStringAggr
ST_LineString [289 ペ
[294 ページ]
ージ]
グループ内の順序付けさ
れたポイントから構成さ
れた線ストリングを返し
ます。
ST_MultiCurveAggr
[306 ページ]
ST_MultiCurve [298 ペ グループ内のすべての
ージ]
曲線を含む複数曲線を
返します。
ST_MultiLineStringAg
ST_MultiLineString
gr [313 ページ]
[308 ページ]
グループ内のすべての
線ストリングを含む複数
線ストリングを返します。
ST_MultiPointAggr
ST_MultiPoint [315 ペ
[320 ページ]
ージ]
グループ内のすべての
ポイントを含む複数ポイ
ントを返します。
448
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
曲面
SQL/MM
ST_MultiPolygonAggr
ST_MultiPolygon [321
ベンダー拡張
ページ]
グループ内のすべての
X
[328 ページ]
X
ベンダー拡張
X
ベンダー拡張
多角形を含む複数多角
形を返します。
ST_MultiSurfaceAggr
ST_MultiSurface [330
[339 ページ]
ページ]
グループ内のすべての
面を含む複数面を返しま
す。
ST_UnionAggr [271 ペ
ST_Geometry [115 ペ
ージ]
ージ]
グループ内のすべての
ジオメトリの空間的論理
和を返します。
4.1.22 集合操作メソッドのリスト
空間データで使用できる集合操作メソッドはいくつかあります。
「曲面」の項の X は、空間参照系でもメソッドがサポートされていることを示しています。SQL/MM カラムには、SQL/MM
標準 (ISO/IEC 13249-3:2006) への準拠が反映されています。
表 235:
メソッド
タイプ
説明
ST_Difference [183 ペ
ST_Geometry [115 ペ
ージ]
ージ]
2 つのジオメトリの差集
曲面
SQL/MM
X
5.1.20
X
5.1.18
X
ベンダー拡張
X
5.1.21
X
5.1.19
X
ベンダー拡張
合を表すジオメトリ値を
返します。
ST_Intersection [204
ST_Geometry [115 ペ
ページ]
ージ]
2 つのジオメトリの積集
合を表すジオメトリ値を
返します。
ST_IntersectionAggr
ST_Geometry [115 ペ
[206 ページ]
ージ]
グループ内のすべての
ジオメトリの空間的共通
部分を返します。
ST_SymDifference
ST_Geometry [115 ペ
[245 ページ]
ージ]
2 つのジオメトリの対称
差を表すジオメトリ値を
返します。
ST_Union [269 ページ]
ST_Geometry [115 ペ
ージ]
2 つのジオメトリの和集
合を表すジオメトリ値を
返します。
ST_UnionAggr [271 ペ
ST_Geometry [115 ペ
ージ]
ージ]
グループ内のすべての
ジオメトリの空間的論理
和を返します。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
449
4.1.23 空間述部のリスト
空間データで使用できる述部メソッドは多数あります。
「曲面」の項の X は、空間参照系でもメソッドがサポートされていることを示しています。SQL/MM カラムには、SQL/MM
標準 (ISO/IEC 13249-3:2006) への準拠が反映されています。
表 236:
メソッド
タイプ
説明
ST_Contains [166 ペー
ST_Geometry [115 ペ
ジオメトリ値に別のジオメ
ジ]
ージ]
曲面
SQL/MM
5.1.31
トリ値が空間的に含まれ
ているかどうかをテストし
ます。
ST_ContainsFilter [168 ST_Geometry [115 ペ
ページ]
ージ]
ベンダー拡張
ジオメトリに別のジオメト
リが含まれているかどう
かの低コストのテスト。
ST_CoveredBy [175 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ジオメトリ値が別のジオメ
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
X
ベンダー拡張
トリ値に空間的に含まれ
ているかどうかをテストし
ます。
ST_CoveredByFilter
ST_Geometry [115 ペ
[176 ページ]
ージ]
ジオメトリが別のジオメト
リに含まれているかどう
かの低コストのテスト。
ST_Covers [178 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値に別のジオメ
トリ値が空間的に含まれ
ているかどうかをテストし
ます。
ST_CoversFilter [179
ST_Geometry [115 ペ
ページ]
ージ]
ジオメトリに別のジオメト
リが含まれているかどう
かの低コストのテスト。
ST_Crosses [181 ペー
ST_Geometry [115 ペ
ジ]
ージ]
5.1.29
ジオメトリ値が別のジオメ
トリ値と交差しているかど
うかをテストします。
ST_Disjoint [186 ペー
ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値が別のジオメ
X
5.1.26
X
5.1.24
トリ値から空間的に分断
されているかどうかをテ
ストします。
ST_Equals [192 ページ] ST_Geometry [115 ペ
ージ]
ST_Geometry 値が別
の ST_Geometry 値と
空間的に等しいかどうか
をテストします。
450
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
メソッド
タイプ
説明
曲面
SQL/MM
ST_EqualsFilter [194
ST_Geometry [115 ペ
ジオメトリが別のジオメト
X
ベンダー拡張
ページ]
ージ]
X
5.1.27
X
ベンダー拡張
X
ベンダー拡張
X
5.1.43
リと等しいかどうかの低
コストのテスト。
ST_Intersects [207 ペ
ST_Geometry [115 ペ
ージ]
ージ]
ジオメトリ値が別の値と
空間的に交差しているか
どうかをテストします。
ST_IntersectsFilter
ST_Geometry [115 ペ
[209 ページ]
ージ]
2 つのジオメトリが交差し
ているかどうかの低コス
トのテスト。
ST_IntersectsRect
ST_Geometry [115 ペ
[210 ページ]
ージ]
ジオメトリが長方形と交
差しているかどうかをテ
ストします。
ST_OrderingEquals
ST_Geometry [115 ペ
[227 ページ]
ージ]
ジオメトリが別のジオメト
リと同一であるかどうか
をテストします。
ST_Overlaps [229 ペー ST_Geometry [115 ペ
ジ]
ージ]
ジオメトリ値が別のジオメ
5.1.32
トリ値と重なり合うかどう
かをテストします。
ST_Relate [231 ページ]
ST_Geometry [115 ペ
ージ]
あるジオメトリ値と別のジ
5.1.25, ベンダー拡張
オメトリ値との空間的な
関係が、交点マトリックス
で指定されているとおり
かどうかをテストします。
ST_Relate メソッドは、
Dimensionally
Extended 9
Intersection Model
(DE-9IM) からの 9 文字
の文字列を使用して、2
つの空間データ項目間
のペアワイズの関係を示
します。たとえば、
ST_Relate メソッドは、ジ
オメトリ間に共通部分が
存在するかどうかを確認
し、存在する場合は結果
の共通部分のジオメトリ
を調べます。参
照:ST_Relate メソッドを
使用したカスタム関係の
テスト。
管理: 空間データ
空間データへのアクセスとそのデータの操作
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
451
メソッド
タイプ
説明
ST_Touches [266 ペー
ST_Geometry [115 ペ
ジオメトリ値が別のジオメ
ジ]
ージ]
曲面
SQL/MM
5.1.28
トリ値と空間的に接触し
ているかどうかをテストし
ます。
ST_Within [272 ページ] ST_Geometry [115 ペ
ージ]
5.1.30
ジオメトリ値が別のジオメ
トリ値内に空間的に含ま
れているかどうかをテス
トします。
ST_WithinDistance
ST_Geometry [115 ペ
[274 ページ]
ージ]
2 つのジオメトリが指定
X
ベンダー拡張
X
ベンダー拡張
の相互距離内にあるか
どうかをテストします。
ST_WithinDistanceFilt
ST_Geometry [115 ペ
er [277 ページ]
ージ]
2 つのジオメトリが指定
距離内にあるかどうかを
判定するための負荷の
低い方法。
ST_WithinFilter [279
ST_Geometry [115 ペ
ページ]
ージ]
ジオメトリが別のジオメト
ベンダー拡張
リ内にあるかどうかの低
コストのテスト。
452
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
空間データへのアクセスとそのデータの操作
5
付録: SQL 文
このマニュアルで使用されている SQL 文の参考資料です。
5.1
CREATE SPATIAL REFERENCE SYSTEM 文
空間参照系を作成するか、置き換えます。
クイックリンク:
"パラメータ" に移動 [454 ページ]
"例" に移動 [457 ページ]
"使用法" に移動 [458 ページ]
"標準" に移動 [458 ページ]
"パーミッション" に移動 [458 ページ]
構文
{ CREATE [ OR REPLACE ] SPATIAL REFERENCE SYSTEM
| CREATE SPATIAL REFERENCE SYSTEM IF NOT EXISTS }
<srs-name>
[ srs-attribute [453 ページ] ] [ srs-attribute [453 ページ] ... ]
srs-attribute - (back to Syntax) [453 ページ]
SRID <srs-id>
| DEFINITION { <definition-string> | NULL }
| ORGANIZATION { <organization-name> IDENTIFIED BY <organization-srs-id> |
NULL }
| TRANSFORM DEFINITION { <transform-definition-string> | NULL }
| LINEAR UNIT OF MEASURE <linear-unit-name>
| ANGULAR UNIT OF MEASURE { <angular-unit-name> | NULL }
| TYPE { ROUND EARTH | PLANAR }
| COORDINATE <coordinate-name> { UNBOUNDED | BETWEEN <low-number> AND <highnumber> }
| ELLIPSOID SEMI MAJOR AXIS <semi-major-axis-length> { SEMI MINOR AXIS <semiminor-axis-length>
| INVERSE FLATTENING <inverse-flattening-ratio> }
| TOLERANCE { <tolerance-distance> | DEFAULT }
| SNAP TO GRID { grid-size [453 ページ] | DEFAULT }
| AXIS ORDER axis-order [453 ページ]
| POLYGON FORMAT polygon-format [454 ページ]
| STORAGE FORMAT storage-format [454 ページ]
grid-size - (back to srs-attribute) [453 ページ]
DOUBLE : usually between 0 and 1
axis-order - (back to srs-attribute) [453 ページ]
{ 'x/y/z/m' | 'long/lat/z/m' | 'lat/long/z/m' }
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
453
polygon-format - (back to srs-attribute) [453 ページ]
{ 'CounterClockWise' | 'Clockwise' | 'EvenOdd' }
storage-format - (back to srs-attribute) [453 ページ]
{ 'Internal' | 'Original' | 'Mixed' }
パラメータ
(先頭に戻る) [453 ページ]
● OR REPLACE OR REPLACE を指定すると、空間参照系がデータベースにまだ存在しない場合は空間参照系が作
成され、存在する場合は置き換えられます。使用中の空間参照系を置き換えようとすると、エラーが返されます。OR
REPLACE 句を指定しないでデータベースにすでに存在する空間参照系を置き換えようとしても、エラーが返されま
す。
● IF NOT EXISTS CREATE SPATIAL REFERENCE IF NOT EXISTS を指定すると、指定された名前の空間参照系
がデータベースにすでに存在するかどうかがチェックされます。存在しない場合は、データベースサーバによって空間
参照系が作成されます。存在する場合は、追加のアクションは行われず、エラーも返されません。
● IDENTIFIED BY 空間参照系の SRID (<srs-id>)。組織で <organization-srs-id> を指定して空間参照系
を定義した場合は、<srs-id> をその値に設定してください。 IDENTIFIED BY 句が指定されていない場合は、デフ
ォルトにより、ORGANIZATION 句または DEFINITION 句で定義された <organization-srs-id> に SRID が
設定されます。デフォルトの SRID として使用できる <organization-srs-id> がどちらの句にも指定されていな
い場合は、エラーが返されます。
空間参照系が周知の座標系に基づいておらず、異なる測地線解釈がされている場合は、1000000000 (10 億) に
周知の値を加えた値に srs-id 値を設定します。たとえば、測地線の空間参照系 WGS 84 (ID 4326) の平面解釈の
SRID は、1000004326 になります。
SAP IQ で提供される周知の座標系に基づいていない空間参照系には、SRID 0 を除き 2000000000 (20 億) 以
上の SRID が付与されます。2000000000 ~ 2147483647 の範囲の SRID 値は SAP IQ で予約されているた
め、この範囲の SRID は作成しないでください。
OGC などの定義機関または他のベンダで予約されている SRID を選択する可能性を低減するため、0 ~ 32767
(EPSG で予約済み) または 2147483547 ~ 2147483647 の範囲の SRID は選択しないでください。
また、SRID は 32 ビットの符号付き整数として格納されるため、231-1 または 2147483647 を超える数値は指定でき
ません。
● DEFINITION 座標系のデフォルトを設定または上書きします。DEFINITION 句以外の句で属性が設定されている場
合は、DEFINITION 句の設定内容に関係なく、他の句で指定された値が優先されます。 <definition-string>
は、SQL/MM と OGC で定義されるような、空間参照系の Well Known Text 構文の文字列です。たとえば、次のク
エリは WGS 84 の定義を返します。
SELECT ST_SpatialRefSys::ST_FormatWKT( definition )
FROM ST_SPATIAL_REFERENCE_SYSTEMS
WHERE srs_id=4326;
Interactive SQL で戻り値をダブルクリックすると、読みやすい形で値が表示されます。
DEFINITION 句が指定されている場合は、definition-string が解析され、属性のデフォルト値の選択に使用されま
す。たとえば、definition-string に、organization-name と <organization-srs-id> を定義する AUTHORITY
要素が含められる場合があります。
454
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
definition-string のパラメータ値は、SQL 文の句で明示的に設定した値で上書きされます。たとえば、
ORGANIZATION 句が指定されていると、definition-string の ORGANIZATION の値が上書きされます。
● ORGANIZATION 新しい空間参照系の基となる空間参照系を作成した組織に関する情報。
● TRANSFORM DEFINITION 空間参照系に使用する変換の説明。現時点では、PROJ.4 変換のみがサポートされ
ています。変換定義は、空間参照系間でデータを変換するときに ST_Transform メソッドで使用されます。一部の変
換には、transform-definition-string が定義されていなくてもかまいません。
● LINEAR UNIT OF MEASURE 空間参照系の線形測定単位。指定する値は、ST_UNITS_OF_MEASURE システム
ビューで定義された線形測定単位と一致している必要があります。 この句が指定されておらず、DEFINITION 句で定
義されていない場合、デフォルトは METRE です。事前に定義された測定単位をデータベースに追加するには、
sa_install_feature system プロシージャを使用します。
カスタム測定単位をデータベースに追加するには、CREATE SPATIAL UNIT OF MEASURE 文を使用します。
注記
METRE と METER はいすれも有効なスペルですが、SQL/MM 標準に準拠している METRE を使用することをお
すすめします。
● ANGULAR UNIT OF MEASURE 空間参照系の角度測定単位。指定する値は、ST_UNITS_OF_MEASURE システ
ムテーブルで定義された角度測定単位と一致している必要があります。 この句が指定されておらず、DEFINITION
句で定義されていない場合、デフォルトは、地理的空間参照系の場合は DEGREE、非地理的空間参照系の場合は
NULL です。
角度測定単位は、地理的空間参照系の場合は NULL 以外、非地理的空間参照系の場合は NULL にしてください。
角度測定単位は、地理的空間参照系の場合は NULL 以外、非地理的空間参照系の場合は NULL にしてください。
事前に定義された測定単位をデータベースに追加するには、sa_install_feature system プロシージャを使用しま
す。
カスタム測定単位をデータベースに追加するには、CREATE SPATIAL UNIT OF MEASURE 文を使用します。
● TYPE SRS で点と点を結ぶ線を解釈する方法を制御します。地理的空間参照系では、TYPE 句で ROUND EARTH
(デフォルト) または PLANAR のいずれかを指定できます。ROUND EARTH モデルでは、点と点を結ぶ線が大楕円
弧として解釈されます。地表面の 2 点を指定し、この 2 点および地球の中心と交差するように平面を選択したとしま
す。この平面は地球と交差し、2 点を結ぶ線はこの交差に沿った最短距離になります。 2 点がまったく反対側にある
場合、2 点および地球の中心と交差する単一でユニークな平面は存在しません。このような正反対の点を結ぶ線セ
グメントは無効であり、ROUND EARTH モデルでエラーになります。
ROUND EARTH モデルでは、地球が回転楕円体と見なされ、地球の湾曲に沿った線が選択されます。場合によって
は、2 点間の線が x= 経度、y= 緯度の正距円筒図法における直線として解釈される平面モデルの使用が必要となる
ことがあります。
次の例では、青い線は ROUND EARTH モデルで使用される線の解釈を示し、赤い線は対応する PLANAR モデル
を示します。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
455
PLANAR モデルは、他の製品で使用される解釈と一致させるために使用できます。また、ROUND EARTH モデルで
サポートされていないメソッド (ST_Area、ST_ConvexHull など) には制限があり、一部のメソッドは部分的にのみサ
ポートされている (ST_Distance はポイントジオメトリでのみサポートされる) ため、PLANAR モデルも便利です。円
ストリングに基づいたジオメトリは、ROUND EARTH 空間参照系ではサポートされていません。
非地理的 SRS の場合には、タイプを PLANAR にしてください (これが、TYPE 句が指定されておらず、DEFINITION
句が指定されていないか非地理的定義を使用している場合のデフォルトです)。
● COORDINATE 空間参照系の次元の境界。coordinate-name は、空間参照系で使用される座標系の名前です。非
地理的座標系の場合は、coordinate-name に x、y、または m を使用できます。地理的座標系の場合は、
coordinate-name に LATITUDE、LONGITUDE、z、または m を使用できます。 次元で境界を配置しない場合は、
UNBOUNDED を指定します。境界の上限と下限を設定するには、BETWEEN 句を使用します。
X 座標と Y 座標には、関連する境界が必要です。地理的座標系の場合は、これらの設定を COORDINATE 句で上
書きしないかぎり、デフォルトにより経度座標は -180 ~ 180 度の間、緯度座標は -90 ~ 90 の間になります。非地
理的座標系の場合は、X 座標と Y 座標の両方について CREATE 文で境界を指定してください。
LATITUDE と LONGITUDE は、地理的座標系に使用されます。LATITUDE と LONGITUDE の境界は、指定がなけ
ればデフォルトにより地球全体になります。
● ELLIPSOID タイプ ROUND EARTH の空間参照系の楕円として、地球を表現するときに使用する値。DEFINITION
句が指定されている場合は、この句で楕円定義を指定できます。ELLIPSOID 句が指定されていると、このデフォルト
の楕円が上書きされます。 地球の自転が引き起こす扁平化により地球の中心から北極または南極までの距離が赤
道までの距離より短くなるため、地球は完全な球体ではありません。このため、地球は、半長径 (中心から赤道まで
の距離) と半短径 (中心から極までの距離) に異なる値を使用する楕円としてモデル化されます。半長径と逆扁平率
を使用して楕円を定義するのが最も一般的ですが、代わりに半短径を使用して指定することもできます (たとえば、完
全な球形を使用して地球を近似させる場合には、この方法を使用します)。半長径と半短径は空間参照系の線形単
位で定義され、逆扁平率 (1/f) は次の式で求められる比率です。
1/f = (semi-major-axis) / (semi-major-axis - semi-minor-axis)
SAP IQ では、地理的空間参照系で距離を計算するときに楕円定義が使用されます。
● SNAP TO GRID 平らな地球 (平面) の空間参照系では、SNAP TO GRID 句を使用して、SAP IQ で計算に使用され
るグリッドサイズを定義します。デフォルトでは、X と Y の空間の境界におけるすべての点で 12 有効桁数を格納でき
456
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
るように SAP IQ でグリッドサイズが選択されます。たとえば、空間参照系の境界が X は -180 ~ 180 の間、Y は
-90 ~ 90 の間の場合、グリッドサイズ 0.000000001 (1E-9) が選択されます。
● TOLERANCE 平らな地球 (平面) の空間参照系では、TOLERANCE 句を使用して、点を比較するときに使用する精
度を指定します。2 点間の距離が tolerance-distance より小さい場合、その 2 点は同じと見なされます。tolerancedistance を指定することにより、入力データまたは制限された内部精度の不正確さに対する許容度を制御できます。
デフォルトでは、tolerance-distance は grid-size と等しくなるように設定されます。 0 に設定すると、2 点が完全に
等しい場合にのみ同じであると見なされます。
曲面の空間参照系では、TOLERANCE を 0 に設定してください。
● POLYGON FORMAT SAP IQ では、多角形を構成するリングの方向によって多角形が内部的に解釈されます。定
義された点の順序でリングを移動した場合、多角形の内側がリングの左側になります。PLANAR と ROUND EARTH
の空間参照系では、同じルールが適用されます。
SAP IQ で使用される解釈は一般的ですが、汎用的な解釈ではありません。正反対の方向を使用する製品もあれ
ば、多角形の解釈にリングの方向を使用しない製品もあります。POLYGON FORMAT 句を使用して、必要に応じて
入力データと一致する多角形の解釈を選択できます。次の値がサポートされます。
CounterClockwise 入力は SAP IQ の内部解釈に従います。リングの方向に従って、多角形の内側が左側に
なります。
時計回り 入力は SAP IQ の内部解釈と反対になります。リングの方向に従って、多角形の内側が右側になりま
す。
奇偶 (デフォルト) リングの方向は無視され、多角形の内部は代わりにリングのネストによって決定されます。外
部のリングは最大のリングとなり、内部のリングはこのリングの内側の小さなリングとなります。斜線は、リング内
の点から、すべてのリングを交差して外側に向かってトレースされます。交差するリングの数が偶数の場合は、
外部リングです。奇数の場合は、内部リングです。
● STORAGE FORMAT 空間データをデータベースにロードするときの格納内容を制御します。使用可能な値は、次の
とおりです。
Internal SAP IQ は正規化された表現のみを格納します。元の入力特性を再現する必要がない場合に指定しま
す。これは、平面 (TYPE PLANAR) の空間参照系のデフォルトです。
Original SAP IQ は元の表現のみを格納します。元の入力特性を再現できますが、格納された値のすべての操
作に対して正規化の手順を繰り返す必要があり、データの操作が遅くなる可能性があります。
Mixed SAP IQ で内部バージョンが格納されます。元のバージョンと異なる場合は、SAP® SQL Anywhere® で
元のバージョンも格納されます。両方のバージョンを格納すると、元の表現特性を再現でき、格納された値の操
作に対して正規化の手順を繰り返す必要はありません。ただし、ジオメトリごとに 2 つの表現が格納される可能
性があるため、記憶領域の要件が大幅に増加します。Mixed は、曲面の空間参照系 (TYPE ROUND EARTH)
のデフォルトフォーマットです。
例
(先頭に戻る) [453 ページ]
例1
空間参照系 mySpatialRS を作成します。
CREATE SPATIAL REFERENCE SYSTEM "mySpatialRS"
IDENTIFIED BY 1000026980
LINEAR UNIT OF MEASURE "metre"
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
457
TYPE PLANAR
COORDINATE X BETWEEN 171266.736269555 AND 831044.757769222
COORDINATE Y BETWEEN 524881.608973277 AND 691571.125115319
DEFINITION 'PROJCS["NAD83 / Kentucky South",
GEOGCS["NAD83",
DATUM["North_American_Datum_1983",
SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],
AUTHORITY["EPSG","6269"]],
PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4269"]],
UNIT["metre",1,AUTHORITY["EPSG","9001"]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",37.93333333333333],
PARAMETER["standard_parallel_2",36.73333333333333],
PARAMETER["latitude_of_origin",36.33333333333334],
PARAMETER["central_meridian",-85.75],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",500000],
AUTHORITY["EPSG","26980"],
AXIS["X",EAST],
AXIS["Y",NORTH]]'
TRANSFORM DEFINITION '+proj=lcc +lat_1=37.93333333333333+
lat_2=36.73333333333333+
lat_0=36.33333333333334+
lon_0=-85.75+x_0=500000+
y_0=500000+ellps=GRS80+datum=NAD83
+units=m+no_defs';
使用法
(先頭に戻る) [453 ページ]
地理空間参照系では、LINEAR と ANGULAR の両方の測定単位を指定できます。非地理空間参照系では、LINEAR 測
定単位のみを指定できます。LINEAR 測定単位は、点と領域間の距離を計算するために使用されます。ANGULAR 測定
単位は、角度の緯度と経度を解釈する方法を示し、投影座標系の場合は NULL、地理的座標系の場合は NULL 以外に
なります。
操作から返される派生ジオメトリはすべて正規化されます。
SQL Anywhere 以外のデータベースで同期されるデータを操作する場合は、データの元の特性を保持できるようにする
ため、STORAGE FORMAT を 'Original' または 'Mixed' のいずれかに設定してください。
標準
(先頭に戻る) [453 ページ]
ANSI SQL - 準拠レベル: Transact-SQL® 拡張。
パーミッション
(先頭に戻る) [453 ページ]
458
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
次のいずれかが必要です。
● MANAGE ANY SPATIAL OBJECT システム権限
● CREATE ANY OBJECT システム権限
5.2
CREATE SPATIAL UNIT OF MEASURE 文
空間測定単位を作成するか、置き換えます。
クイックリンク:
「パラメータ」 [459 ページ]
「例」 [459 ページ]
「使用法」 [460 ページ]
「標準」 [460 ページ]
「パーミッション」 [460 ページ]
構文
CREATE [ OR REPLACE ] SPATIAL UNIT OF MEASURE <identifier>
TYPE { LINEAR | ANGULAR }
[ CONVERT USING <number> ]
パラメータ
(先頭に戻る) [459 ページ]
● OR REPLACE OR REPLACE の指定は、空間測定単位を作成するか、既存の空間測定単位を同じ名前で置き換え
ます。この句は、現在の権限を保持します。使用中の空間単位を置き換えようとすると、エラーが返されます。
● TYPE 角度 (ANGULAR) または距離 (LINEAR) のどちらに測定単位を使用するかを定義します。
● CONVERT USING ベース単位に関係する空間単位の換算係数。線形単位の場合、ベース単位は METRE です。
角度単位の場合、ベース単位は RADIAN です。
例
(先頭に戻る) [459 ページ]
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
459
例1
Test という空間測定単位を作成します。
CREATE SPATIAL UNIT OF MEASURE Test
TYPE LINEAR
CONVERT USING 15;
使用法
(先頭に戻る) [459 ページ]
CONVERT USING 句は、定義された測定単位の値をベース測定単位 (ラジアンまたはメートル) に換算する方法を定義
するために使用します。指定された換算係数を測定値に乗算して、ベース測定単位の値を取得します。たとえば、測定値
512 ミリメートルに換算係数 0.001 を乗算して、測定値 0.512 メートルを取得します。
距離 (ST_Distance または ST_Length) または領域を計算する場合、空間参照系では常に線形測定単位が使用されま
す。たとえば、空間参照系の線形測定単位がマイルの場合、使用する領域単位は平方マイルになります。場合によって
は、線形測定単位を使用するよう指定するオプションパラメータが空間メソッドで受け入れられることがあります。たとえ
ば、空間参照系の線形測定単位がマイルの場合、オプションパラメータ 'metre' を使用すると、2 つのジオメトリ間の距離
をメートルで取得できます。
投影座標系の場合は、空間参照系の線形単位で X 座標と Y 座標が指定されます。地理的座標系の場合は、空間参照
系に関連する角度測定単位で緯度と経度が指定されます。多くの場合、この角度測定単位は度ですが、有効な任意の角
度測定単位を使用できます。
sa_install_feature システムプロシージャを使用して、事前に定義された測定単位をデータベースに追加できます。
標準
(先頭に戻る) [459 ページ]
ANSI SQL – 準拠レベル: Transact-SQL 拡張。
パーミッション
(先頭に戻る) [459 ページ]
次のいずれかが必要です。
● MANAGE ANY SPATIAL OBJECT システム権限
● CREATE ANY OBJECT システム権限
460
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
5.3
DROP SPATIAL UNIT OF MEASURE 文
空間測定単位を削除します。
クイックリンク:
「パラメータ」 [461 ページ]
「例」 [461 ページ]
「標準」 [461 ページ]
「パーミッション」 [462 ページ]
構文
DROP SPATIAL UNIT OF MEASURE [ IF EXISTS ] <identifier>
パラメータ
(先頭に戻る) [461 ページ]
● IF EXISTS 存在しない空間測定単位を DROP SPATIAL UNIT OF MEASURE 文が削除しようとしたときにエラー
を返さないようにします。
例
(先頭に戻る) [461 ページ]
例
次の例は、Test という名前の架空の空間測定単位を削除します。
DROP SPATIAL UNIT OF MEASURE Test;
標準
(先頭に戻る) [461 ページ]
ANSI SQL – 準拠レベル: Transact-SQL 拡張。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
461
パーミッション
(先頭に戻る) [461 ページ]
次のいずれかが必要です。
● MANAGE ANY SPATIAL OBJECT システム権限
● DROP ANY OBJECT システム権限
● 空間測定単位を所有していること
5.4
DROP SPATIAL REFERENCE SYSTEM 文
空間参照系を削除します。
クイックリンク:
「パラメータ」 [462 ページ]
「標準」 [462 ページ]
「パーミッション」 [463 ページ]
構文
DROP SPATIAL REFERENCE SYSTEM [ IF EXISTS ] <name>
パラメータ
(先頭に戻る) [462 ページ]
● IF EXISTS 存在しない空間参照系を DROP SPATIAL REFERENCE SYSTEM 文が削除しようとしたときにエラーを
返さないようにします。
標準
(先頭に戻る) [462 ページ]
ANSI SQL – 準拠レベル: Transact-SQL 拡張。
462
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
パーミッション
(先頭に戻る) [462 ページ]
次のいずれかが必要です。
● MANAGE ANY SPATIAL OBJECT システム権限
● DROP ANY OBJECT システム権限
● 空間参照系を所有していること
5.5
ALTER SPATIAL REFERENCE SYSTEM 文
既存の空間参照系の設定を変更します。
クイックリンク:
「パラメータ」 [464 ページ]
「例」 [467 ページ]
「使用法」 [467 ページ]
「標準」 [467 ページ]
「パーミッション」 [467 ページ]
構文
ALTER SPATIAL REFERENCE SYSTEM
<srs-name>
[ srs-attribute [463 ページ] [ srs-attribute [463 ページ] ... ] ]
srs-attribute - (構文に戻る) [463 ページ]
SRID <srs-id>
| DEFINITION { <definition-string> | NULL }
| ORGANIZATION { <organization-name> IDENTIFIED BY <organization-srs-id> |
NULL }
| TRANSFORM DEFINITION { <transform-definition-string> | NULL }
| LINEAR UNIT OF MEASURE <linear-unit-name>
| ANGULAR UNIT OF MEASURE { <angular-unit-name> | NULL }
| TYPE { ROUND EARTH | PLANAR }
| COORDINATE <coordinate-name> { UNBOUNDED | BETWEEN <low-number> AND <highnumber> }
| ELLIPSOID SEMI MAJOR AXIS <semi-major-axis-length> { SEMI MINOR AXIS <semiminor-axis-length>
| INVERSE FLATTENING <inverse-flattening-ratio> }
| TOLERANCE { <tolerance-distance> | DEFAULT }
| SNAP TO GRID { grid-size [463 ページ] | DEFAULT }
| AXIS ORDER axis-order [463 ページ]
| POLYGON FORMAT polygon-format [464 ページ]
| STORAGE FORMAT storage-format [464 ページ]
grid-size - (back to srs-attribute) [463 ページ]
DOUBLE : usually between 0 and 1
axis-order - (back to srs-attribute) [463 ページ]
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
463
{ 'x/y/z/m' | 'long/lat/z/m' | 'lat/long/z/m' }
polygon-format - (back to srs-attribute) [463 ページ]
{ 'CounterClockWise' | 'Clockwise' | 'EvenOdd' }
storage-format - (back to srs-attribute) [463 ページ]
{ 'Internal' | 'Original' | 'Mixed' }
パラメータ
(先頭に戻る) [463 ページ]
● IDENTIFIED BY 空間参照系の SRID (<srs-id>)。組織で <organization-srs-id> を指定して空間参照系
を定義した場合は、<srs-id> をその値に設定してください。
● DEFINITION 座標系のデフォルトを設定または上書きします。DEFINITION 句以外の句で属性が設定されている場
合は、DEFINITION 句の設定内容に関係なく、他の句で指定された値が優先されます。 <definition-string>
は、SQL/MM と OGC で定義されるような、空間参照系の Well Known Text 構文の文字列です。たとえば、次のク
エリは WGS 84 の定義を返します。
SELECT ST_SpatialRefSys::ST_FormatWKT( definition )
FROM ST_SPATIAL_REFERENCE_SYSTEMS
WHERE srs_id=4326;
Interactive SQL で戻り値をダブルクリックすると、読みやすい形で値が表示されます。
DEFINITION 句が指定されている場合は、definition-string が解析され、属性のデフォルト値の選択に使用されま
す。たとえば、definition-string に、organization-name と <organization-srs-id> を定義する AUTHORITY
要素が含められる場合があります。
definition-string のパラメータ値は、SQL 文の句で明示的に設定した値で上書きされます。たとえば、
ORGANIZATION 句が指定されていると、definition-string の ORGANIZATION の値が上書きされます。
● ORGANIZATION 新しい空間参照系の基となる空間参照系を作成した組織に関する情報。
● TRANSFORM DEFINITION 空間参照系に使用する変換の説明。現時点では、PROJ.4 変換のみがサポートされ
ています。変換定義は、空間参照系間でデータを変換するときに ST_Transform メソッドで使用されます。一部の変
換には、transform-definition-string が定義されていなくてもかまいません。
● LINEAR UNIT OF MEASURE 空間参照系の線形測定単位。指定する値は、ST_UNITS_OF_MEASURE システム
ビューで定義された線形測定単位と一致している必要があります。 この句が指定されておらず、DEFINITION 句で定
義されていない場合、デフォルトは METRE です。事前に定義された測定単位をデータベースに追加するには、
sa_install_feature system プロシージャを使用します。
カスタム測定単位をデータベースに追加するには、CREATE SPATIAL UNIT OF MEASURE 文を使用します。
注記
METRE と METER はいすれも有効なスペルですが、SQL/MM 標準に準拠している METRE を使用することをお
すすめします。
● ANGULAR UNIT OF MEASURE 空間参照系の角度測定単位。指定する値は、ST_UNITS_OF_MEASURE システ
ムテーブルで定義された角度測定単位と一致している必要があります。 この句が指定されておらず、DEFINITION
句で定義されていない場合、デフォルトは、地理的空間参照系の場合は DEGREE、非地理的空間参照系の場合は
NULL です。
464
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
角度測定単位は、地理的空間参照系の場合は NULL 以外、非地理的空間参照系の場合は NULL にしてください。
角度測定単位は、地理的空間参照系の場合は NULL 以外、非地理的空間参照系の場合は NULL にしてください。
事前に定義された測定単位をデータベースに追加するには、sa_install_feature system プロシージャを使用しま
す。
カスタム測定単位をデータベースに追加するには、CREATE SPATIAL UNIT OF MEASURE 文を使用します。
● TYPE SRS で点と点を結ぶ線を解釈する方法を制御します。地理的空間参照系では、TYPE 句で ROUND EARTH
(デフォルト) または PLANAR のいずれかを指定できます。ROUND EARTH モデルでは、点と点を結ぶ線が大楕円
弧として解釈されます。地表面の 2 点を指定し、この 2 点および地球の中心と交差するように平面を選択したとしま
す。この平面は地球と交差し、2 点を結ぶ線はこの交差に沿った最短距離になります。 2 点がまったく反対側にある
場合、2 点および地球の中心と交差する単一でユニークな平面は存在しません。このような正反対の点を結ぶ線セ
グメントは無効であり、ROUND EARTH モデルでエラーになります。
ROUND EARTH モデルでは、地球が回転楕円体と見なされ、地球の湾曲に沿った線が選択されます。場合によって
は、2 点間の線が x= 経度、y= 緯度の正距円筒図法における直線として解釈される平面モデルの使用が必要となる
ことがあります。
次の例では、青い線は ROUND EARTH モデルで使用される線の解釈を示し、赤い線は対応する PLANAR モデル
を示します。
PLANAR モデルは、他の製品で使用される解釈と一致させるために使用できます。また、ROUND EARTH モデルで
サポートされていないメソッド (ST_Area、ST_ConvexHull など) には制限があり、一部のメソッドは部分的にのみサ
ポートされている (ST_Distance はポイントジオメトリでのみサポートされる) ため、PLANAR モデルも便利です。円
ストリングに基づいたジオメトリは、ROUND EARTH 空間参照系ではサポートされていません。
非地理的 SRS の場合には、タイプを PLANAR にしてください (これが、TYPE 句が指定されておらず、DEFINITION
句が指定されていないか非地理的定義を使用している場合のデフォルトです)。
● COORDINATE 空間参照系の次元の境界。coordinate-name は、空間参照系で使用される座標系の名前です。非
地理的座標系の場合は、coordinate-name に x、y、または m を使用できます。地理的座標系の場合は、
coordinate-name に LATITUDE、LONGITUDE、z、または m を使用できます。 次元で境界を配置しない場合は、
UNBOUNDED を指定します。境界の上限と下限を設定するには、BETWEEN 句を使用します。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
465
X 座標と Y 座標には、関連する境界が必要です。地理的座標系の場合は、これらの設定を COORDINATE 句で上
書きしないかぎり、デフォルトにより経度座標は -180 ~ 180 度の間、緯度座標は -90 ~ 90 の間になります。非地
理的座標系の場合は、X 座標と Y 座標の両方について CREATE 文で境界を指定してください。
LATITUDE と LONGITUDE は、地理的座標系に使用されます。LATITUDE と LONGITUDE の境界は、指定がなけ
ればデフォルトにより地球全体になります。
● ELLIPSOID タイプ ROUND EARTH の空間参照系の楕円として、地球を表現するときに使用する値。DEFINITION
句が指定されている場合は、この句で楕円定義を指定できます。ELLIPSOID 句が指定されていると、このデフォルト
の楕円が上書きされます。 地球の自転が引き起こす扁平化により地球の中心から北極または南極までの距離が赤
道までの距離より短くなるため、地球は完全な球体ではありません。このため、地球は、半長径 (中心から赤道まで
の距離) と半短径 (中心から極までの距離) に異なる値を使用する楕円としてモデル化されます。半長径と逆扁平率
を使用して楕円を定義するのが最も一般的ですが、代わりに半短径を使用して指定することもできます (たとえば、完
全な球形を使用して地球を近似させる場合には、この方法を使用します)。半長径と半短径は空間参照系の線形単
位で定義され、逆扁平率 (1/f) は次の式で求められる比率です。
1/f = (semi-major-axis) / (semi-major-axis - semi-minor-axis)
SAP IQ では、地理的空間参照系で距離を計算するときに楕円定義が使用されます。
● SNAP TO GRID 平らな地球 (平面) の空間参照系では、SNAP TO GRID 句を使用して、SAP IQ で計算に使用され
るグリッドサイズを定義します。デフォルトでは、X と Y の空間の境界におけるすべての点で 12 有効桁数を格納でき
るように SAP IQ でグリッドサイズが選択されます。たとえば、空間参照系の境界が X は -180 ~ 180 の間、Y は
-90 ~ 90 の間の場合、グリッドサイズ 0.000000001 (1E-9) が選択されます。
● TOLERANCE 平らな地球 (平面) の空間参照系では、TOLERANCE 句を使用して、点を比較するときに使用する精
度を指定します。2 点間の距離が tolerance-distance より小さい場合、その 2 点は同じと見なされます。tolerancedistance を指定することにより、入力データまたは制限された内部精度の不正確さに対する許容度を制御できます。
デフォルトでは、tolerance-distance は grid-size と等しくなるように設定されます。 0 に設定すると、2 点が完全に
等しい場合にのみ同じであると見なされます。
曲面の空間参照系では、TOLERANCE を 0 に設定してください。
● POLYGON FORMAT SAP IQ では、多角形を構成するリングの方向によって多角形が内部的に解釈されます。定
義された点の順序でリングを移動した場合、多角形の内側がリングの左側になります。PLANAR と ROUND EARTH
の空間参照系では、同じルールが適用されます。
SAP IQ で使用される解釈は一般的ですが、汎用的な解釈ではありません。正反対の方向を使用する製品もあれ
ば、多角形の解釈にリングの方向を使用しない製品もあります。POLYGON FORMAT 句を使用して、必要に応じて
入力データと一致する多角形の解釈を選択できます。次の値がサポートされます。
CounterClockwise 入力は SAP IQ の内部解釈に従います。リングの方向に従って、多角形の内側が左側に
なります。
時計回り 入力は SAP IQ の内部解釈と反対になります。リングの方向に従って、多角形の内側が右側になりま
す。
奇偶 (デフォルト) リングの方向は無視され、多角形の内部は代わりにリングのネストによって決定されます。外
部のリングは最大のリングとなり、内部のリングはこのリングの内側の小さなリングとなります。斜線は、リング内
の点から、すべてのリングを交差して外側に向かってトレースされます。交差するリングの数が偶数の場合は、
外部リングです。奇数の場合は、内部リングです。
● STORAGE FORMAT 空間データをデータベースにロードするときの格納内容を制御します。使用可能な値は、次の
とおりです。
466
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
Internal SAP IQ は正規化された表現のみを格納します。元の入力特性を再現する必要がない場合に指定しま
す。これは、平面 (TYPE PLANAR) の空間参照系のデフォルトです。
Original SAP IQ は元の表現のみを格納します。元の入力特性を再現できますが、格納された値のすべての操
作に対して正規化の手順を繰り返す必要があり、データの操作が遅くなる可能性があります。
Mixed SAP IQ で内部バージョンが格納されます。元のバージョンと異なる場合は、SAP® SQL Anywhere® で
元のバージョンも格納されます。両方のバージョンを格納すると、元の表現特性を再現でき、格納された値の操
作に対して正規化の手順を繰り返す必要はありません。ただし、ジオメトリごとに 2 つの表現が格納される可能
性があるため、記憶領域の要件が大幅に増加します。Mixed は、曲面の空間参照系 (TYPE ROUND EARTH)
のデフォルトフォーマットです。
例
(先頭に戻る) [463 ページ]
例
mySpatialRef という架空の空間参照系の多角形フォーマットを EvenOdd に変更します。
ALTER SPATIAL REFERENCE SYSTEM mySpatialRef
POLYGON FORMAT 'EvenOdd';
使用法
(先頭に戻る) [463 ページ]
空間参照系を参照している既存のデータがある場合、その空間参照系を変更することはできません。たとえば、
ST_Point(SRID=8743) として宣言したカラムがある場合、SRID 8743 を持つ空間参照系は変更できません。これは、格
納フォーマットなどの空間参照系の多くの属性が、データの格納フォーマットに影響を及ぼすためです。SRID を参照する
データがある場合は、新しい空間参照系を作成して、データを新しい SRID に変換します。
標準
(先頭に戻る) [463 ページ]
ANSI SQL – 準拠レベル: Transact-SQL 拡張。
パーミッション
(先頭に戻る) [463 ページ]
次のいずれかが必要です。
● その空間参照系を所有している
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
467
● 空間参照系に対する ALTER 権限
● MANAGE ANY SPATIAL OBJECT システム権限
● ALTER ANY OBJECT システム権限
5.6
ALTER TABLE 文
テーブル定義を変更します。
クイックリンク:
"パラメータ" に移動 [470 ページ]
"例" に移動 [477 ページ]
"使用法" に移動 [479 ページ]
"標準" に移動 [480 ページ]
"パーミッション" に移動 [480 ページ]
構文
構文 1 - Alter Owner
ALTER TABLE <table_name> ALTER OWNER TO <new_owner>
[ { PRESERVE | DROP } PERMISSIONS ]
[ { PRESERVE | DROP } FOREIGN KEYS ]
構文 2
ALTER TABLE [ <owner>.]<table-name>
|{ ENABLE | DISABLE } RLV STORE
{ alter-clause [468 ページ], ... }
alter-clause - (back to Syntax 2) [468 ページ]
ADD create-clause [468 ページ]
| ALTER <column-name> column-alteration [469 ページ]
| ALTER [ CONSTRAINT <constraint-name> ] CHECK ( <condition> )
| DROP drop-object [469 ページ]
| RENAME rename-object [469 ページ]
| move-clause [469 ページ]
| SPLIT PARTITION <range-partition-name>
INTO ( range-partition-decl [470 ページ], range-partition-decl [470 ペ
ージ] )
| MERGE PARTITION <partition-name-1> INTO <partition-name-2>
| UNPARTITION
| PARTITION BY
range-partitioning-scheme [470 ページ]
| hash-partitioning-scheme [470 ページ]
| composite-partitioning-scheme [470 ページ]
create-clause - (back to alter-clause) [468 ページ]
<column-name> column-definition [469 ページ] [ column-constraint [469 ペー
ジ] ]
468
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
| table-constraint [469 ページ]
| [ PARTITION BY ] <range-partitioning-scheme>
column definition - (back to create-clause) [468 ページ]
< column-name> <data-type> [ NOT NULL | NULL ]
[ IN <dbspace-name> ]
[ DEFAULT default-value | IDENTITY ]
column-constraint - (back to create-clause) [468 ページ]
[ CONSTRAINT <constraint-name> ]
{ UNIQUE
| PRIMARY KEY
| REFERENCES <table-name> [ (<column-name> ) ] [ actions ]
| CHECK ( <condition> )
| IQ UNIQUE ( <integer> )
}
table-constraint - (back to create-clause) [468 ページ]
[ CONSTRAINT <constraint-name> ]
{ UNIQUE ( <column-name> [ , … ] )
| PRIMARY KEY ( <column-name> [ , … ] )
| foreign-key-constraint [469 ページ]
| CHECK ( <condition> )
}
foreign-key-constraint - (back to table-constraint) [469 ページ]
FOREIGN KEY [ <role-name> ] [ ( <column-name> [ , … ] ) ]
... REFERENCES <table-name> [ ( <column-name> [ , … ] ) ]
... [ actions [469 ページ] ]
actions - (back to foreign-key-constraint) [469 ページ]
[ ON { UPDATE | DELETE }
{ RESTRICT } ]
column-alteration - (back to alter-clause) [468 ページ]
{ <column-data-type> | alterable-column-attribute [469 ページ] } [ alterablecolumn-attribute [469 ページ] … ]
| ADD [ <constraint-name> ] CHECK ( <condition> )
| DROP { DEFAULT | CHECK | CONSTRAINT <constraint-name> }
alterable-column-attribute - (back to column-alteration) [469 ページ]
[ NOT ] NULL
| DEFAULT default-value [469 ページ]
| [ CONSTRAINT <constraint-name> ] CHECK { NULL |( <condition> )
}
default-value - (back to alterable-column-attribute) [469 ページ]
CURRENT { DATABASE |DATE |REMOTE USER |TIME |TIMESTAMP | USER |PUBLISHER )
| <string>
| <global variable>
| [ - ] <number>
| ( <constant-expression> )
| <built-in-function> ( <constant-expression> )
| AUTOINCREMENT
| NULL
| TIMESTAMP
| LAST USER
| USER
drop-object - (back to alter-clause) [468 ページ]
{ <column-name>
| CHECK <constraint-name>
| CONSTRAINT
| UNIQUE ( <index-columns-list> )
| PRIMARY KEY
| FOREIGN KEY <fkey-name>
| [ PARTITION ] <range-partition-name>
}
rename-object - (back to alter-clause) [468 ページ]
<new-table-name>
| <column-name> TO <new-column-name>
| CONSTRAINT <constraint-name> TO <new-constraint-name>
| [ PARTITION ] <range-partition-name> TO <new-range-partition-name>
move-clause - (back to alter-clause) [468 ページ]
{ <ALTER column-name>
MOVE
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
469
}
{ PARTITION ( <range-partition-name> TO <new-dbspace-name>)
| TO <new-dbspace-name> }
}
| MOVE PARTITION <range-partition-name> TO <new-dbspace-name>
| MOVE TO <new-dbspace-name>
| MOVE TABLE METADATA TO <new-dbspace-name>
range-partitioning-scheme - (back to alter-clause) [468 ページ]
RANGE( partition-key [470 ページ] )
( range-partition-decl [470 ページ] [,range-partition-decl [470 ペー
ジ] ...] )
partition-key - (back to range-partitioning-scheme) [470 ページ]
<column-name>
range-partition-decl - (back to alter-clause) [468 ページ] or (back to rangepartitioning-scheme) [470 ページ]
<range-partition-name> VALUES <= ( {<constant> | MAX } ) [ IN <dbspacename> ]
hash-partitioning-scheme - (back to alter-clause) [468 ページ] or (back to
composite-partitioning-scheme) [470 ページ]
HASH ( partition-key [470 ページ], … ] )
composite-partitioning-scheme - (back to alter-clause) [468 ページ]
hash-partitioning-scheme [470 ページ] SUBPARTITION range-partitioning-scheme
[470 ページ]
パラメータ
(先頭に戻る) [468 ページ]
● { ENABLE | DISABLE } RLV STORE リアルタイムのインメモリ更新用に、このテーブルを RLV ストアに登録しま
す。IQ テンポラリテーブルに対してはサポートされません。この値は、データベースオプション
BASE_TABLES_IN_RLV の値よりも優先されます。マルチプレックスでは、RLV ストアはコーディネータ上でのみ有
効にできます。
● ADDcolumn-definition [ column-constraint ] テーブルに新しいカラムを追加します。
NOT NULL を指定するには、テーブルが空であることが必要です。IDENTITY カラムまたは DEFAULT
AUTOINCREMENT カラムを追加するときには、テーブルにデータが含まれていてもかまいません。カラムにデフォルト
の IDENTITY 値が指定されている場合、新しいカラムのすべてのローに連続する値が挿入されます。また、1 つのカ
ラムキーに、FOREIGN 制約をカラム制約として追加できます。IDENTITY/DEFAULTAUTOINCREMENT カラムの値
は、テーブル内の各ローを一意に識別します。
IDENTITY/DEFAULT AUTOINCREMENT カラムには、挿入中と更新中に自動的に生成される連続した数値が格納
されます。DEFAULT AUTOINCREMENT カラムは、IDENTITY カラムとも呼ばれます。IDENTITY/DEFAULT
AUTOINCREMENT を使用するカラムは、整数データ型の 1 つ、または位取りが 0 の真数値型にする必要がありま
す。カラム制約と IDENTITY/DEFAULT AUTOINCREMENT カラムの詳細については、CREATE TABLE 文を参照し
てください。
注記
IDENTITY/AUTOINCREMENT カラムに対する明示的な挿入または更新を実行するには、データベースオプショ
ン IDENTITY_INSERT をテーブル名に設定する必要があります。IDENTITY カラムの詳細については、管理: デ
470
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
ータベース の IDENTITY または AUTOINCREMENT のデフォルトを参照してください。IDENTITY_INSERT につ
いては、リファレンス: 文とオプション を参照してください。
IQ UNIQUE 制約 - カラムの予期されるカーディナリティを定義し、カラムをフラット FP または NBit FP のどちらとし
てロードするかを決定します。IQ UNIQUE(<n>) の値を明示的に 0 に設定すると、カラムはフラット FP としてロードさ
れます。IQ UNIQUE 制約のないカラムは、FP_NBIT_AUTOSIZE_LIMIT、FP_NBIT_LOOKUP_MB、および
FP_NBIT_ROLLOVER_MAX_MB の各オプションで定義される制限まで、暗黙的に NBit としてロードされます。
IQ UNIQUE を FP_NBIT_AUTOSIZE_LIMIT 未満の <n> 値とともに使用する必要はありません。自動サイズ機能に
よって、カーディナリティが低いか中程度のカラムはすべて NBit としてサイズ決定されます。カラムをフラット FP とし
てロードする場合や、重複しない値の数が FP_NBIT_AUTOSIZE_LIMIT を超えるときにカラムを NBit としてロード
する場合は、IQ UNIQUE を使用します。
注記
● 高い IQ UNIQUE 値を指定する際はメモリ使用率を考慮します。マシンリソースに制限がある場合、
FP_NBIT_ENFORCE_LIMITS='OFF' (デフォルト) でロードしないでください。
SAP IQ16.0 より前のバージョンでは、IQ UNIQUE <n> の値が 16777216 より大きい場合、フラット FP にロ
ールオーバーします。16.0 では、これより大きい IQ UNIQUE 値がトークン化でサポートされていますが、カー
ディナリティとカラム幅に応じて、多大なメモリリソースが必要になる場合があります。
● BIT、BLOB、および CLOB の各データ型は NBit ディクショナリ圧縮をサポートしません。
FP_NBIT_IQ15_COMPATIBILITY='OFF' である場合、これらのデータ型を含む CREATE TABLE 文または
ALTER TABLE 文でゼロ以外の IQ UNIQUE カラムを指定すると、エラーが返されます。
● ALTERcolumn-namecolumn-alteration カラム定義を変更します。
SET DEFAULTdefault-value テーブルの既存のカラムのデフォルト値を変更します。この処理には MODIFY
句も使用できますが、ALTER は ISO/ANSI SQL に準拠しているのに対して MODIFY は準拠していません。デ
フォルト値を変更しても、テーブルの既存の値は変更されません。
DROP DEFAULT テーブルの既存のカラムのデフォルト値を削除します。この処理には MODIFY 句も使用でき
ますが、ALTER は ISO/ANSI SQL に準拠しているのに対して MODIFY は準拠していません。デフォルトを削
除しても、テーブルの既存の値は変更されません。
ADD 名前付き制約または検査 (CHECK) 条件をカラムに追加します。新しい制約または条件は、それらを定義
した後でテーブルに対して実行される処理のみに適用されます。テーブルの既存の値は、新しい制約または条
件を満たすかどうかの検証を受けません。
CONSTRAINTcolumn-constraint-name 任意のカラム制約名を指定すると、それ以降、カラム制約全体を変
更するのではなく、個々のカラム制約を変更または削除できます。
[ CONSTRAINTconstraint-name ] CHECK ( condition ) この句はカラムに検査制約を追加するために使
用します。
SET COMPUTE (expression) 計算カラムに関連付けられた式を変更します。文を実行すると、カラムの値が
再計算されます。新しい式が無効な場合、文は失敗します。
DROP COMPUTE 計算カラムから非計算カラムにカラムを変更します。この文はテーブル内の既存の値を変更
しません。
● ADDtable-constraint テーブルに制約を追加します。 シングルカラムまたはマルチカラムのキーに、外部キー制約
をテーブル制約として追加することもできます。PRIMARY KEY を指定する場合、テーブルには CREATE TABLE 文
または別の ALTER TABLE 文で作成した既存のプライマリキーがあってはなりません。テーブル制約の詳細につい
ては、CREATE TABLE 文を参照してください。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
471
注記
テーブルまたはカラムの制約は MODIFY (変更) できません。制約を変更するには、古い制約を DELETE (削除)
し、新しい制約を ADD (追加) します。
● DROPdrop-object テーブルオブジェクトを削除します。
DROPcolumn-name カラムをテーブルから削除します。カラムがマルチカラムインデックス、一意性制約、外部
キー、またはプライマリキーに含まれている場合は、インデックス、制約またはキーを削除してからカラムを削除
してください。このようにするとカラムを参照する検査制約は削除されません。IDENTITY/
DEFAULTAUTOINCREMENT カラムを削除できるのは、IDENTITY_INSERT が OFF に設定されており、かつテ
ーブルがローカルテンポラリテーブルでない場合だけです。
DROPCHECK テーブルのすべての検査制約を削除します。テーブル検査制約とカラム検査制約の両方が削除
対象となります。
DROPCONSTRAINTconstraint-name テーブルまたは指定したカラムの名前付き制約を削除します。
DROPUNIQUE ( column-name, ...) 指定したカラムの一意性制約を削除します。一意性制約を参照する外部
キー (プライマリキーではなく) も削除されます。関連する外部キー制約がある場合は、エラーが報告されます。
ALTER TABLE を使用して、プライマリキーを参照するすべての外部キーを削除した後でなければ、プライマリ
キー制約は削除できません。
DROPPRIMARY KEY プライマリキーを削除します。このテーブルのプライマリキーを参照するすべての外部キ
ーも削除します。関連する外部キー制約がある場合は、エラーが報告されます。プライマリキーに強制力がない
場合、そのプライマリキーに強制力のない外部キー制約が存在すると、DELETE はエラーを返します。
DROPFOREIGN KEYrole-name 特定のロール名を持つ外部キー制約を該当テーブルから削除します。外部
キー制約に対して暗黙的に作成された、ユニークでない HG インデックスは削除されません。HG インデックス
は、DROP INDEX 文を使用して明示的に削除してください。
DROP [ PARTITION ] 指定されたパーティションを削除します。パーティション P1 内のローと、パーティション定
義が削除されます。最後のパーティションを削除すると、分割されたテーブルが非分割テーブルに変換されるた
め、最後のパーティションは削除できません(分割されたテーブルをマージするには、代わりに UNPARTITION
句を使用します)。例:
CREATE TABLE foo (c1 INT, c2 INT)
PARTITION BY RANGE (c1)
(P1 VALUES <= (100) IN dbsp1,
P2 VALUES <= (200) IN dbsp2,
P3 VALUES <= (MAX) IN dbsp3
) IN dbsp4);
LOAD TABLE ….
ALTER TABLE DROP PARTITION P1;
● RENAMErename-object テーブル内のオブジェクトの名前を変更します。
RENAMEnew-table-name テーブル名を <new-table-name> に変更します。古いテーブル名を使用してい
るアプリケーションは、修正する必要があります。また、古いテーブル名と同じ名前が自動的に割り当てられた外
部キーの名前は変更されません。
RENAMEcolumn-nameTOnew-column-name カラムの名前を <new-column-name> に変更します。古い
カラム名を使用しているアプリケーションは、修正する必要があります。
RENAME [ PARTITION ] 既存のパーティションの名前を変更します。
RENAMEconstraint-nameTOnew-constraint-name 制約の名前を <new-constraint-name> に変更
します。古い制約名を使用しているアプリケーションは、修正する必要があります。
472
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
● MOVE clause テーブルオブジェクトを移動します。各テーブルオブジェクトは 1 つの DB 領域のみに常駐できます。
どのタイプの ALTER MOVE も、移動中はテーブルに対する変更をすべてブロックします。
注記
オブジェクトをキャッシュ DB 領域に移動することはできません。
MOVE TO
テーブルが新しい DB 領域にマッピングされると、そのテーブルと同じ DB 領域に存在するすべてのテーブルオ
ブジェクト (カラム、インデックス、一意性制約、プライマリキー、外部キー、メタデータなど) を新しい DB 領域に
移動します。ALTER Column MOVE TO 句は、分割テーブルに対しては実行できません。
注記
MOVE TO 句は DAS DB ファイルには使用できません。
BIT データ型のカラムは DB 領域に明示的に配置できません。下記は BIT データ型に対してサポートされませ
ん。
ALTER TABLE t2 alter c1_bit MOVE TO iq_main;
MOVE TABLE METADATA
テーブルのメタデータを新しい DB 領域に移動します。分割されたテーブルでは、MOVE TABLE METADATA
はパーティション間で共有されるメタデータも移動します。
MOVE PARTITION
指定したパーティションを新しい DB 領域に移動します。
注記
MOVE PARTITION 句は DAS DB ファイルには使用できません。
● PARTITION BY 大きいテーブルを、より小さくて管理しやすいストレージオブジェクトに分割します。各パーティション
は親テーブルと同じ論理属性を共有しますが、別々の DB 領域に配置して個別に管理できます。SAP IQ は、複数の
テーブル分割スキームをサポートしています。
● ハッシュパーティション
● 範囲パーティション
● 複合パーティション
partition-key は、テーブル分割キーが格納されている 1 つまたは複数のカラムです。分割キーには、NULL 値およ
び DEFAULT 値を使用できますが、次のカラムを含めることはできません。
● LOB (BLOB または CLOB) カラム
● BINARY または VARBINARY カラム
● 長さが 255 バイトを超える CHAR または VARCHAR カラム
● BIT カラム
● FLOAT/DOUBLE/REAL カラム
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
473
● PARTITION BY RANGE 分割カラム内の値の範囲によってローを分割します。範囲分割は、単一の分割キーカラム
および最大 1024 パーティションに制限されています。範囲分割スキームでは、分割キーはテーブル分割キーを保持
するカラムです。
range-partition-decl:
<partition-name> VALUES <= ( {<constant-expr> |
expr> | MAX }]... )
[ IN <dbspace-name> ]
MAX } [ , { <constant-
partition-name は、テーブルローが格納される新しいパーティションの名前です。パーティション名は、テーブル上に
あるパーティションのセット内でユニークである必要があります。パーティション名は必須です。
VALUE 各パーティションの包括的な上限を (昇順に) 指定します。ユーザは、各ローが 1 つのパーティションの
みに分配されるように、各範囲分割の分割基準を指定する必要があります。NULL は分割カラムに使用でき、
NULL を分割キーとするローは最初のテーブルパーティションに属します。ただし、NULL をバインド値に指定す
ることはできません。
最初のパーティションには、下限 (MIN 値) は設定されていません。分割キーの最初のカラムにある NULL セル
のローは、最初のパーティションに移動します。最後のパーティションでは、包括的な上限または MAX を指定で
きます。最後のパーティションの上限値が MAX でない場合は、最後のパーティションの上限値よりも大きい分割
キー値を持つローをロードまたは挿入すると、エラーが生成されます。
MAX 無制限の上限を示し、最後のパーティションに対してのみ指定できます。
IN partition-decl でパーティションのローが存在する DB 領域を指定します。
次の制限を設定すると、範囲分割されたテーブルの分割キーとバインド値が影響を受けます。
● 未分割のテーブルを範囲分割できるのは、すべての既存のローが最初のパーティションに属する場合のみで
す。
● パーティションのバインドは定数式でなく、定数として指定する必要があります。
● パーティションのバインドは、パーティションが作成された順序に応じて、昇順で指定する必要があります。つま
り、2 番目のパーティションの上限値は最初のパーティションの上限値よりも大きい必要があり、その後のパーテ
ィションについても同様です。
さらに、パーティションバインドの値は、対応する分割キーカラムのデータ型と互換性がなければなりません。た
とえば、VARCHAR は CHAR と互換性があります。
● 対応する分割キーのカラムとは異なるデータ型がバインド値に指定されていると、SAP IQ はバインド値を分割キ
ーのカラムのデータ型に変換します。ただし、次の場合は例外となります。
● 明示的な変換は使用できません。この例では、INT から VARCHAR に明示的に変換しようとしてエラーが生成さ
れます。
CREATE TABLE Employees(emp_name VARCHAR(20))
PARTITION BY RANGE(emp_name)
(p1 VALUES <=(CAST (1 AS VARCHAR(20))),
p2 VALUES <= (CAST (10 AS VARCHAR(20)))
● データ消失につながる暗黙的な変換は使用できません。この例では、パーティションバインドは分割キー型と互
換性がありません。丸めを前提で処理を行うとデータ消失につながる可能性があり、エラーが生成されます。
CREATE TABLE emp_id (id INT) PARTITION BY RANGE(id) (p1 VALUES <= (10.5),
p2 VALUES <= (100.5))
● この例では、パーティションバインドと分割キーのデータ型の間には互換性があります。バインド値は FLOAT 値
に直接変換されます。丸めは不要で、変換はサポートされます。
CREATE TABLE id_emp (id FLOAT)
PARTITION BY RANGE(id) (p1 VALUES <= (10),
474
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
p2 VALUES <= (100))
● 非バイナリデータ型からバイナリデータ型に変換することはできません。たとえば、次の変換は実行できず、エラ
ーが返されます。
CREATE TABLE newemp (name BINARY)
PARTITION BY RANGE(name)
(p1 VALUES <= ("Maarten"),
p2 VALUES <= ("Zymmerman")
● 範囲分割テーブルで NULL を境界として使用することはできません。
● 分割キーの第 1 カラムのセル値の評価結果が NULL である場合、ローは最初のパーティションに配置されま
す。SAP IQ は、単一カラムの分割キーのみをサポートしているため、分割キー内に NULL が含まれていると、ロ
ーは最初のパーティションに分配されます。
● PARTITION BY HASH 内部ハッシュ関数によって処理された分割キーの値に基づいて、データをパーティションに
マップします。ハッシュ分割キーは最大 8 カラムで、組み合わせた宣言カラム幅が 5300 バイト以下に制限されてい
ます。ハッシュパーティションの場合、テーブル作成者は分割キーカラムのみを決定します。パーティションの数と位
置は内部的に決定されます。 hash-partitioning 宣言内の partition-key は、1 つのカラムまたはカラムのグループ
です。これらのカラムの複合値によってデータの各ローが格納されるパーティションが決まります。
hash-partitioning-scheme:
HASH ( partition-key [ , partition-key, … ] )
制限
● ハッシュ分割できるのはベーステーブルのみです。グローバルテンポラリテーブルやローカルテンポラリテー
ブルを分割しようとすると、エラーが発生します。
● 未分割のテーブルをハッシュ分割できるのは、そのテーブルが空の場合のみです。
● ハッシュパーティションの追加、削除、マージ、分割はできません。
● カラムをハッシュ分割キーから追加または削除することはできません。
● PARTITION BY HASH RANGE ハッシュ分割されたテーブルを範囲によってさらに分割します。hash-rangepartitioning-scheme 宣言では、SUBPARTITION BY RANGE 句は、既存のハッシュ範囲分割テーブルに新しい範
囲サブパーティションを追加します。
hash-range-partitioning-scheme:
PARTITION BY HASH ( partition-key [ , partition-key, … ] )
[ SUBPARTITION BY RANGE ( range-partition-decl [ , range-partitiondecl ... ] ) ]
ハッシュパーティションはデータの論理的な分散方法と共存配置方法を指定し、範囲サブパーティションはデータの物
理的な配置方法を指定します。新しい範囲サブパーティションは、既存のハッシュ範囲分割テーブルと同じハッシュ分
割キーを持つハッシュによって論理的に分割されます。範囲サブパーティションキーは 1 つのカラムに制限されてい
ます。
制限
● ハッシュ分割できるのはベーステーブルのみです。グローバルテンポラリテーブルやローカルテンポラリテー
ブルを分割しようとすると、エラーが発生します。
● ハッシュ分割されたテーブルを範囲によってさらに分割できるのは、そのテーブルが空の場合のみです。
● ハッシュパーティションの追加、削除、マージ、分割はできません。
● カラムをハッシュ分割キーから追加または削除することはできません。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
475
注記
範囲パーティションと複合分割スキームは、ハッシュ範囲パーティションと同様に、個別にライセンス供与され
る VLDB Management オプションを必要とします。
● MERGEPARTITION <partition-name-1> を <partition-name-2> にマージします。2 つのパーティション
が隣接しており、データが同じ DB 領域にある場合は、それら 2 つのパーティションをマージできます。低いパーティ
ション値を持つパーティションを高いパーティション値を持つ隣接パーティションにマージする場合にのみ、パーティシ
ョンをマージできます。サーバはパーティションのマージ先の DB 領域に対する CREATE 権限をチェックしないことに
注意してください。隣接するパーションを作成する方法の例については、CREATE TABLE 文の例を参照してくださ
い。
● RENAMEPARTITION 既存の PARTITION の名前を変更します。
● UNPARTITION 分割されたテーブルからパーティションを削除します。各カラムは 1 つの DB 領域に配置されます。
サーバはすべてのパーティションのデータの移動先となる DB 領域に対する CREATE 権限をチェックしないことに注
意してください。ALTER TABLE UNPARTITION は、データベースのアクティビティをすべてブロックします。
● ALTER OWNER テーブルの所有者を変更します。ALTER OWNER 句を ALTER TABLE 文の他の [alter-clause]
句と組み合わせて使用することはできません。
[ PRESERVE | DROP ] PERMISSIONS 新しい所有者に古い所有者と同じ権限を付与しない場合は、DROP
privileges 句 (デフォルト) を使用し、テーブルへのユーザアクセスを許可するために明示的に付与されていた権
限をすべて削除します。テーブルの所有者に暗黙的に付与されていた権限は新しい所有者に付与され、前の所
有者からは削除されます。
[ PRESERVE | DROP ] FOREIGN KEYS 新しい所有者が参照先テーブル内のデータにアクセスできないよう
にするには、DROP FOREIGN KEYS 句 (デフォルト) を使用して、テーブル内のすべての外部キーと、そのテー
ブルを参照しているすべての外部キーを削除します。新しい所有者がすべての参照元テーブルを所有している
場合を除き、PRESERVE FOREIGN KEYS 句と DROP PERMISSIONS 句を組み合わせて使用すると失敗しま
す。
ALTER TABLE ALTER OWNER 文は次の場合に失敗します。
● 元のテーブルと同じ名前を持つ別のテーブルが存在し、新しいユーザがそのテーブルを所有している場合。
● PRESERVE FOREIGN KEYS 句と PRESERVE PERMISSIONS 句の両方が指定され、新しいテーブル所有者
以外のユーザが所有する外部キーが存在し、その外部キーが暗黙的に付与された権限 (テーブルの所有者に
与えられた権限など) に依存するテーブルを参照している場合。この失敗を回避するには、参照元テーブルの元
の所有者に対して SELECT 権限を明示的に付与するか、該当する外部キーを削除します。
● PRESERVE FOREIGN KEYS 句が指定されているが、PRESERVE PERMISSIONS 句が指定されていないとき
に、新しいテーブル所有者以外のユーザが所有する外部キーが存在し、その外部キーがテーブルを参照してい
る場合。この失敗を回避するには、該当する外部キーを削除します。
● PRESERVE FOREIGN KEYS 句が指定され、暗黙的に付与された権限 (テーブルの所有者に与えられた権限な
ど) に依存する外部キーがテーブルに含まれている場合。この失敗を回避するには、新しい所有者に対して参照
先テーブルの SELECT 権限を明示的に付与するか、該当する外部キーを削除します。
● テーブル内にシーケンスを参照するデフォルト値を持つカラムがあり、シーケンスジェネレータの USAGE 権限が
暗黙的に付与された権限 (シーケンスの所有者に与えられた権限など) に依存する場合。この失敗を回避する
には、テーブルの新しい所有者に対してシーケンスジェネレータの USAGE 権限を明示的に付与します。
● 元のテーブルに依存する有効化されたマテリアライズドビューが存在する場合。
476
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
例
(先頭に戻る) [468 ページ]
例1
従業員が勤務する事務所を示す新しいカラムを、Employees テーブルに追加します。
ALTER TABLE Employees
ADD office CHAR(20)
例2
office カラムを Employees テーブルから削除します。
ALTER TABLE Employees
DROP office
例3
Customers テーブルにカラムを追加して、各顧客に販売担当を割り当てます。
ALTER TABLE Customers
ADD SalesContact INTEGER
REFERENCES Employees (EmployeeID)
例4
新しいカラム CustomerNum を Customers テーブルに追加して、デフォルト値 88 を割り当てます。
ALTER TABLE Customers
ADD CustomerNum INTEGER DEFAULT 88
例5
c2、c4、および c5 の FP インデックスを DB 領域 Dsp3 から Dsp6 に移動します。c1 の FP インデックスは Dsp1 に
残ります。c3 の FP インデックスは Dsp2 に残ります。c5 のプライマリキーは Dsp4 に残ります。DATE インデックス
c4_date は Dsp5 に残ります。
CREATE TABLE foo (
c1 INT IN Dsp1,
c2 VARCHAR(20),
c3 CLOB IN Dsp2,
c4 DATE,
c5 BIGINT,
PRIMARY KEY (c5) IN Dsp4) IN Dsp3);
CREATE DATE INDEX c4_date ON foo(c4) IN Dsp5;
ALTER TABLE foo
MOVE TO Dsp6;
例6
FP インデックス c1 のみを DB 領域 Dsp1 から Dsp7 に移動します。
ALTER TABLE foo ALTER c1 MOVE TO Dsp7
例7
数多くの ALTER TABLE 句を使用して、パーティションの移動、分割、名前変更、およびマージを行います。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
477
分割されたテーブルを作成します。
CREATE TABLE bar (
c1 INT,
c2 DATE,
c3 VARCHAR(10))
PARTITION BY RANGE(c2)
(p1 VALUES <= ('2005-12-31') IN dbsp1,
p2 VALUES <= ('2006-12-31') IN dbsp2,
P3 VALUES <= ('2007-12-31') IN dbsp3,
P4 VALUES <= ('2008-12-31') IN dbsp4);
INSERT INTO bar VALUES(3, '2007-01-01', 'banana nut');
INSERT INTO BAR VALUES(4, '2007-09-09', 'grape jam');
INSERT INTO BAR VALUES(5, '2008-05-05', 'apple cake');
パーティション p2 を dbsp5 に移動します。
ALTER TABLE bar MOVE PARTITION p2 TO DBSP5;
パーティション p4 を 2 つのパーティションに分割します。
ALTER TABLE bar SPLIT PARTITION p4 INTO
(P41 VALUES <= ('2008-06-30') IN dbsp4,
P42 VALUES <= ('2008-12-31') IN dbsp4);
次の SPLIT PARTITION では、データを移動する必要があるため、エラーが報告されます。分割後に既存のローが
すべて同じパーティションにあるとはかぎりません。
ALTER TABLE bar SPLIT PARTITION p3 INTO
(P31 VALUES <= ('2007-06-30') IN dbsp3,
P32 VALUES <= ('2007-12-31') IN dbsp3);
次のエラーが報告されます。
データを移動できません。パーティション p3 は分割できません。
次の SPLIT PARTITION では、パーティションの境界値が変更されるため、エラーが報告されます。
ALTER TABLE bar SPLIT PARTITION p2 INTO
(p21 VALUES <= ('2006-06-30') IN dbsp2,
P22 VALUES <= ('2006-12-01') IN dbsp2);
次のエラーが報告されます。
パーティション p2 の境界値は変更できません。
パーティション p3 を p2 にマージします。高い境界値のパーティションから低い境界値のパーティションへのマージは
実行できないため、エラーが報告されます。
ALTER TABLE bar MERGE PARTITION p3 into p2;
次のエラーが報告されます。
パーティション 'p2' はパーティション 'p3' の隣でも前でもありません。
パーティション p2 を p3 にマージします。
ALTER TABLE bar MERGE PARTITION p2 INTO P3;
478
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
パーティション p1 の名前を p1_new に変更します。
ALTER TABLE bar RENAME PARTITION p1 TO p1_new;
テーブル bar の分割を解除します。
ALTER TABLE bar UNPARTITION;
テーブル bar を分割します。このコマンドでは、すべてのローが最初のパーティションに存在する必要があるため、エ
ラーが報告されます。
ALTER TABLE bar PARTITION BY RANGE(c2)
(p1 VALUES <= ('2005-12-31') IN dbsp1,
P2 VALUES <= ('2006-12-31') IN DBSP2,
P3 VALUES <= ('2007-12-31') IN dbsp3,
P4 VALUES <= ('2008-12-31') IN dbsp4);
次のエラーが報告されます。
すべてのローが最初のパーティションに存在する必要があります。
テーブル bar を分割します。
ALTER TABLE bar PARTITION BY RANGE(c2)
(p1 VALUES <= ('2008-12-31') IN dbsp1,
P2 VALUES <= ('2009-12-31') IN dbsp2,
P3 VALUES <= ('2010-12-31') IN dbsp3,
P4 VALUES <= ('2011-12-31') IN dbsp4);
例8
テーブル tab1 を変更し、インメモリリアルタイム更新の対象として RLV ストアに登録されないようにします。
ALTER TABLE tab1 DISABLE RLV STORE
使用法
(先頭に戻る) [468 ページ]
ALTER TABLE 文は、以前作成したテーブルのテーブル属性 (カラム定義と制約) を変更します。構文では複数の
ALTER 句を使用できますが、1 つの ALTER TABLE 文の中では 1 つのテーブル制約またはカラム制約しか追加、変更、
削除できないことに注意してください。ALTER TABLE 文は、他の接続で現在使用中のテーブルに影響を及ぼす場合には
実行できません。ALTER TABLE 文は処理に時間がかかる可能性があり、この文の処理中は、同じテーブルを参照する
要求がサーバによって処理されません。
注記
ローカルテンポラリテーブルは変更できませんが、グローバルテンポラリテーブルは、テーブルを使用する接続が 1 つ
だけの場合には変更できます。
テーブルが SAN DB 領域にある場合、テーブルを変更して次のコンポーネントを DAS DB 領域に追加すると、エラーが
発生します。
管理: 空間データ
付録: SQL 文
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
479
● カラム
● プライマリキー
● 外部キー
● 範囲パーティション (追加と分割)
親テーブルが DAS DB 領域テーブルではない場合、テーブルのサブコンポーネントを DAS DB 領域に作成することはで
きません。
SAP IQ では、REFERENCES 制約と CHECK 制約が適用されます。ALTER TABLE 文で追加されるテーブルまたはカラ
ムの検査制約は、追加される新しいカラムのいずれかに対して定義された場合にのみ、ALTER TABLE 操作の中で評価
されます。検査 (CHECK) 制約の詳細については、CREATE TABLE 文を参照してください。
ビュー定義に SELECT<*> を使用し、その SELECT<*> で参照されるテーブルを変更する場合は、ALTER VIEW
<viewname> RECOMPILE を実行して、ビュー定義が正しいことを確認し、ビューを問い合わせたときに予期しない結果
が返されるのを防ぐ必要があります。
関連する動作:
● オートコミット ALTER オプションと DROP オプションは、現在の接続に対するすべてのカーソルをクローズします。
Interactive SQL のデータウィンドウもクリアされます。
● ALTER TABLE 操作の開始時にチェックポイントが実行されます。
● カラムまたはテーブルを変更すると、変更されたカラムを参照するストアドプロシージャ、ビュー、その他のアイテムが
機能しなくなります。
標準
(先頭に戻る) [468 ページ]
● SQL - ISO/ANSI SQL 文法のベンダ拡張。
● SAP データベース製品 - 一部の句は SAP® Adaptive Server® Enterprise (SAP ASE) によってサポートされます。
パーミッション
(先頭に戻る) [468 ページ]
構文 1
次のいずれかが必要です。
● ALTER ANY TABLE システム権限
● ALTER ANY OBJECT システム権限
● テーブルに対する ALTER 権限
● テーブルを所有していること
構文 2
構文 1 に必要なシステム権限は、使用する句によって異なります。
480
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
表 237:
句
必要な権限
ADD
次のいずれかが必要です。
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
基本となるテーブルに対する ALTER 権限
●
基本となるテーブルを所有していること
UNIQUE、PRIMARY KEY、FOREIGN KEY、または IQ UNIQUE カラム制約には、上記とともに基本となるテ
ーブルに対する REFERENCES 権限が必要です。
FOREIGN KEY テーブル制約には、上記とともに次のいずれかが必要です。
●
CREATE ANY INDEX システム権限
●
CREATE ANY OBJECT システム権限
●
ベーステーブルに対する REFERENCES 権限
PARTITION BY RANGE には、上記とともに次のいずれかが必要です。
ALTER
●
CREATE ANY OBJECT システム権限
●
パーティションが作成される DB 領域に対する CREATE 権限
次のいずれかが必要です。
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
テーブルに対する ALTER 権限
●
テーブルを所有していること
プライマリキーまたは一意性制約を変更するには、テーブルに対する REFERENCES 権限も必要です。
DROP
制約を持たないカラムを削除するには、次のいずれかが必要です。
●
ALTER ANY OBJECT システム権限
●
ALTER ANY TABLE システム権限
●
基礎となるテーブルに対する ALTER 権限
●
基本となるテーブルを所有していること
ALTER 権限を使用する場合、制約を持つカラムまたはテーブルを削除するには、上記とともに
REFERENCES 権限が必要です。
自分が所有するテーブルのパーティションを削除する場合は、何も必要ありません。
他のユーザが所有するテーブルのパーティションを削除する場合は、次のいずれかが必要です。
RENAME
管理: 空間データ
付録: SQL 文
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
テーブルに対する ALTER 権限
次のいずれかが必要です。
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
テーブルに対する ALTER 権限
●
テーブルを所有していること
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
481
句
必要な権限
MOVE
次のいずれかが必要です。
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
システム権限
●
基本となるテーブルに対する ALTER 権限
●
基本となるテーブルを所有していること
次のいずれかが必要です。
SPLIT PARTITION
●
CREATE ANY OBJECT システム権限
●
パーティションの移動先となる DB 領域に対する CREATE 権限
自分が所有するテーブルのパーティションの場合は、何も必要ありません。
他のユーザが所有するテーブルのパーティションの場合は、次のいずれかが必要です。
●
SELECT ANY TABLE システム権限
●
テーブルに対する SELECT 権限
次のいずれかが必要です。
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
テーブルに対する ALTER 権限
MERGE
自分が所有するテーブルの場合は、何も必要ありません。
PARTITION、
UNPARTITION
他のユーザが所有するテーブルの場合は、次のいずれかが必要です。
PARTITION BY
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
テーブルに対する ALTER 権限
次のいずれかが必要です。
●
CREATE ANY OBJECT システム権限
●
パーティションが作成される DB 領域に対する CREATE 権限
次のいずれかが必要です。
DISABLE RLV ストア
482
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
●
テーブルに対する ALTER 権限
●
テーブルを所有していること
次のいずれかが必要です。
●
ALTER ANY TABLE システム権限
●
ALTER ANY OBJECT システム権限
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
管理: 空間データ
付録: SQL 文
重要免責事項および法的情報
コードサンプル
この文書に含まれるソフトウェアコード及び / 又はコードライン / 文字列 (「コード」) はすべてサンプルとしてのみ提供されるものであり、本稼動システム環境で使用することが目的で
はありません。 「コード」は、特定のコードの構文及び表現規則を分かりやすく説明及び視覚化することのみを目的としています。 SAP は、この文書に記載される「コード」の正確性及
び完全性の保証を行いません。更に、SAP は、「コード」の使用により発生したエラー又は損害が SAP の故意又は重大な過失が原因で発生させたものでない限り、そのエラー又は
損害に対して一切責任を負いません。
アクセシビリティ
この SAP 文書に含まれる情報は、公開日現在のアクセシビリティ基準に関する SAP の最新の見解を表明するものであり、ソフトウェア製品のアクセシビリティ機能の確実な提供方
法に関する拘束力のあるガイドラインとして意図されるものではありません。 SAP は、この文書に関する一切の責任を明確に放棄するものです。 ただし、この免責事項は、SAP の意
図的な違法行為または重大な過失による場合は、適用されません。 さらに、この文書により SAP の直接的または間接的な契約上の義務が発生することは一切ありません。
ジェンダーニュートラルな表現
SAP 文書では、可能な限りジェンダーニュートラルな表現を使用しています。 文脈により、文書の読者は「あなた」と直接的な呼ばれ方をされたり、ジェンダーニュートラルな名詞 (例:
「販売員」又は「勤務日数」) で表現されます。 ただし、男女両方を指すとき、三人称単数形の使用が避けられない又はジェンダーニュートラルな名詞が存在しない場合、SAP はその
名詞又は代名詞の男性形を使用する権利を有します。 これは、文書を分かりやすくするためです。
インターネットハイパーリンク
SAP 文書にはインターネットへのハイパーリンクが含まれる場合があります。 これらのハイパーリンクは、関連情報を見いだすヒントを提供することが目的です。 SAP は、この関連情
報の可用性や正確性又はこの情報が特定の目的に役立つことの保証は行いません。 SAP は、関連情報の使用により発生した損害が、SAP の重大な過失又は意図的な違法行為
が原因で発生したものでない限り、その損害に対して一切責任を負いません。 すべてのリンクは、透明性を目的に分類されています (http://help.sap.com/disclaimer を参照)。
管理: 空間データ
重要免責事項および法的情報
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
483
www.sap.com/contactsap
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
本書のいかなる部分も、SAP SE 又は SAP の関連会社の明示的な許可な
くして、いかなる形式でも、いかなる目的にも複製又は伝送することはでき
ません。 本書に記載された情報は、予告なしに変更されることがあります。
SAP SE 及びその頒布業者によって販売される一部のソフトウェア製品に
は、他のソフトウェアベンダーの専有ソフトウェアコンポーネントが含まれて
います。 製品仕様は、国ごとに変わる場合があります。
これらの文書は、いかなる種類の表明又は保証もなしで、情報提供のみを
目的として、SAP SE 又はその関連会社によって提供され、SAP 又はその
関連会社は、これら文書に関する誤記脱落等の過失に対する責任を負うも
のではありません。 SAP 又はその関連会社の製品及びサービスに対する
唯一の保証は、当該製品及びサービスに伴う明示的保証がある場合に、
これに規定されたものに限られます。 本書のいかなる記述も、追加の保証
となるものではありません。
本書に記載される SAP 及びその他の SAP の製品やサービス、並びにそ
れらの個々のロゴは、ドイツ及びその他の国における SAP SE (又は SAP
の関連会社)の商標若しくは登録商標です。 本書に記載されたその他すべ
ての製品およびサービス名は、それぞれの企業の商標です。
商標に関する情報および表示の詳細については、http://
www.sap.com/corporate-en/legal/copyright/index.epx をご覧くださ
い。

広告

主な特徴

  • 空間データの管理
  • 空間参照系の管理
  • 空間測定単位の管理
  • 空間データ型
  • 空間関数のサポート
  • 空間インデックス

よくある質問と回答

空間データとは何ですか?
空間データは、定義された空間内のオブジェクトの位置、形、および方向を記述するデータです。
空間参照系とは何ですか?
空間参照系は、ジオメトリが記述されている定義済みの空間です。
空間測定単位とは何ですか?
空間測定単位は、地理的座標が測定される単位です。
空間データ型とは何ですか?
空間データ型は、空間データを格納するためのデータ型です。

関連マニュアル

ダウンロード PDF

広告