プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

2.3 SDO_GEOMETRYメソッド

SDO_GEOMETRYオブジェクト型(「SDO_GEOMETRYオブジェクト型」を参照)には、ジオメトリ・オブジェクトの情報を取得するメソッド(メンバー・ファンクション)があります。表2-3に、これらのメソッドを示します。

表2-3 SDO_GEOMETRYのメソッド

Name 戻り値 説明

Get_Dims

NUMBER

SDO_GTYPE値に指定された、ジオメトリ・オブジェクトの次元数を戻します。Oracle Spatial and Graphでは、Get_DimsメソッドとST_CoordDimメソッドは、同じ結果を戻します。

Get_GType

NUMBER

SDO_GTYPE値に指定された、ジオメトリ・オブジェクトのジオメトリ・タイプを戻します。

Get_LRS_Dim

NUMBER

SDO_GTYPE値に指定された、LRSジオメトリ・オブジェクトのメジャー次元を戻します。

戻り値0(ゼロ)は、ジオメトリが、標準の(非LRS)ジオメトリであるか、またはリリース1(9.0.1)より前の形式のLRSジオメトリでメジャーがデフォルトの(最後の)次元にあることを示します。3は3つ目の次元にメジャー情報が含まれ、4は4つ目の次元にメジャー情報が含まれていることを示します。

Get_WKB

BLOB

ジオメトリ・オブジェクトのwell-knownバイナリ(WKB)形式を戻します。(戻されるオブジェクトに、SRID情報は含まれません。)

Get_WKT

CLOB

ジオメトリ・オブジェクトのwell-knownテキスト(WKT)形式(「well-knownテキスト(WKT)」を参照)を戻します。(戻されるオブジェクトに、SRID情報は含まれません。)

ST_CoordDim

NUMBER

ジオメトリ・オブジェクトの座標次元(ISO/IEC SQL Multimedia規格により定義)を戻します。Oracle Spatial and Graphでは、Get_DimsメソッドとST_CoordDimメソッドは、同じ結果を戻します。

ST_IsValid

NUMBER

ジオメトリ・オブジェクトが無効な場合は0(ゼロ)、有効な場合は1を戻します。(ISO/IEC SQL Multimedia規格では、このようなコンテキストの場合、「有効」のかわりに「well formed (整形式)」という語句が使用されています。)

このメソッドでは、0.001が許容差として使用されます。(許容差については、「許容差」を参照してください。)許容差を別途指定する場合、またはジオメトリが無効である理由の詳細情報を取得する場合は、SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXTファンクションを使用します。このファンクションの詳細は、「SDO_GEOMパッケージ(ジオメトリ)」を参照してください。

例2-2に、ほとんどのSDO_GEOMETRYメソッドを示します。(Get_WKBメソッドは、出力をSQL*Plusで表示できないため、含まれていません。)

例2-2 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_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