2.3 SDO_GEOMETRYのメソッド
SDO_GEOMETRYオブジェクト型には、ジオメトリ・オブジェクトの情報を取得するメソッド(メンバー・ファンクション)があります。
表2-5に、これらのメソッドを示します。
表2-5 SDO_GEOMETRYのメソッド
| Name | 戻り値 | 説明 |
|---|---|---|
|
NUMBER |
SDO_GTYPE値に指定された、ジオメトリ・オブジェクトの次元数を戻します。Oracle Spatialでは、Get_DimsメソッドとST_CoordDimメソッドは同じ結果を返します。 |
|
|
CLOB |
ジオメトリ・オブジェクトのGeoJSON表現を戻します。 |
|
|
NUMBER |
SDO_GTYPE値に指定された、ジオメトリ・オブジェクトのジオメトリ・タイプを戻します。 |
|
|
NUMBER |
SDO_GTYPE値に指定された、LRSジオメトリ・オブジェクトのメジャー次元を戻します。 戻り値0(ゼロ)は、ジオメトリが、標準の(非LRS)ジオメトリであるか、またはリリース1(9.0.1)より前の形式のLRSジオメトリでメジャーがデフォルトの(最後の)次元にあることを示します。3は3つ目の次元にメジャー情報が含まれ、4は4つ目の次元にメジャー情報が含まれていることを示します。 |
|
|
BLOB |
ジオメトリ・オブジェクトのwell-knownバイナリ(WKB)形式を戻します。(戻されるオブジェクトに、SRID情報は含まれません。) |
|
|
CLOB |
ジオメトリ・オブジェクトのwell-knownテキスト(WKT)形式(「well-knownテキスト(WKT)」を参照)を戻します。(戻されるオブジェクトに、SRID情報は含まれません。) |
|
|
NUMBER |
ジオメトリ・オブジェクトの座標次元(ISO/IEC SQL Multimedia規格により定義)を戻します。Oracle Spatialでは、Get_DimsメソッドとST_CoordDimメソッドは同じ結果を返します。 |
|
|
NUMBER |
ジオメトリ・オブジェクトが無効な場合は0(ゼロ)、有効な場合は1を戻します。(ISO/IEC SQL Multimedia規格では、このようなコンテキストの場合、「有効」のかわりに「well formed (整形式)」という語句が使用されています。) このメソッドでは、0.001が許容差として使用されます。(許容差については、「許容差」を参照してください。)許容差を別途指定する場合、またはジオメトリが無効である理由の詳細情報を取得する場合は、SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXTファンクションを使用します。このファンクションについてさらに学習するには、「SDO_GEOMパッケージ(ジオメトリ)」を参照してください。 |
例2-4に、ほとんどのSDO_GEOMETRYメソッドを示します。(Get_WKBメソッドは、出力をSQL*Plusで表示できないため、含まれていません。)
例2-4 SDO_GEOMETRYのメソッド
SELECT c.shape.Get_Dims()
FROM cola_markets c WHERE c.name = 'cola_b';
C.SHAPE.GET_DIMS()
------------------
2
SELECT c.shape.Get_GeoJson()
FROM cola_markets c WHERE c.name = 'cola_b';
C.SHAPE.GET_GEOJSON()
--------------------------------------------------------------------------------
{ "type": "Polygon", "coordinates": [ [ [5, 1], [8, 1], [8, 6], [5, 7], [5, 1] ]
SELECT c.shape.Get_GType()
FROM cola_markets c WHERE c.name = 'cola_b';
C.SHAPE.GET_GTYPE()
-------------------
3
SELECT a.route_geometry.Get_LRS_Dim()
FROM lrs_routes a WHERE a.route_id = 1;
A.ROUTE_GEOMETRY.GET_LRS_DIM()
------------------------------
3
SELECT c.shape.Get_WKT()
FROM cola_markets c WHERE c.name = 'cola_b';
C.SHAPE.GET_WKT()
--------------------------------------------------------------------------------
POLYGON ((5.0 1.0, 8.0 1.0, 8.0 6.0, 5.0 7.0, 5.0 1.0))
SELECT c.shape.ST_CoordDim()
FROM cola_markets c WHERE c.name = 'cola_b';
C.SHAPE.ST_COORDDIM()
---------------------
2
SELECT c.shape.ST_IsValid()
FROM cola_markets c WHERE c.name = 'cola_b';
C.SHAPE.ST_ISVALID()
--------------------
1 親トピック: 空間データ型およびメタデータ