幾何形式変換関数は、内部幾何形式からWKTまたはWKB形式への変換、またはX座標とY座標の順序を入れ替えるために使用されます。OceanBaseデータベースの現在のバージョンでサポートされている幾何形式変換関数には、ST_AsBinary()、ST_AsWKB、ST_AsText()、および ST_AsWKT() が含まれます。
ST_AsBinaryとST_AsWKB
ST_AsBinary() と ST_AsWKB() は、内部幾何形式の値をそのWKB表現に変換し、バイナリ結果を返します。構文は以下のとおりです:
ST_AsBinary(g [, options]), ST_AsWKB(g [, options])
関数の戻り値には地理座標(緯度、経度)が含まれ、その順序は幾何パラメータに適用された空間参照システムによって指定されます。オプションの options パラメータを指定することで、デフォルトの軸の順序を上書きできます。
SELECT ST_AsText(ST_GeomFromWKB(ST_AsWKB(@geo, 'axis-order=long-lat')));
ST_AsTextとST_AsWKT
ST_AsText() および ST_AsWKT() 関数は、内部幾何形式の値をそのWKT表現に変換し、文字列結果を返します。構文は以下のとおりです:
ST_AsText(g [, options]), ST_AsWKT(g [, options])
関数の戻り値には地理座標(緯度、経度)が含まれ、その順序は幾何パラメータに適用された空間参照システムによって指定されます。オプションの options パラメータを指定することで、デフォルトの軸の順序を上書きできます。
obclient [test]> SET @geo = 'LINESTRING(0 6,6 12,12 18)';
Query OK, 0 rows affected
obclient [test]> SELECT ST_AsText(ST_GeomFromText(@geo));
+----------------------------------+
| ST_AsText(ST_GeomFromText(@geo)) |
+----------------------------------+
| LINESTRING(0 6,6 12,12 18) |
+----------------------------------+
1 row in set
パラメータに関する注意事項
幾何形式変換関数における幾何パラメータの戻り値は、以下の場合を除き、NULL ではありません:
- いずれかの幾何パラメータの構文が正しくない場合、
ER_GIS_INVALID_DATAエラーが発生します。 - いずれかの幾何パラメータが定義されていない空間参照システム内にある場合、軸は幾何図形内で現れる順序で出力され、
ER_WARN_SRS_NOT_FOUND_AXIS_ORDER警告が表示されます。 - デフォルトでは、地理座標(緯度、経度)は幾何パラメータの空間参照システムが指定した順序で解釈されます。オプションの
optionsパラメータを指定することで、デフォルトの軸の順序を上書きできます。optionsはカンマ区切りのkey=valueリストです。keyの値はaxis-orderのみ可能で、許容される値はlat-long、long-lat、およびsrid-defined(デフォルト値)です。optionsパラメータがNULLの場合、戻り値はNULLです。オプションパラメータが無効な場合、エラーが発生します。