OceanBaseデータベースのOracleモードでは、SDO_GEOMETRY型はメンバー関数GET_WKB()、GET_WKT()、およびGET_GEOJSON()を使用して、SDO_GEOMETRY空間オブジェクトをWell-Known-Binary (WKB)データ形式、Well-Known-Text (WKT)データ形式、およびJSONデータ形式に変換して出力することをサポートしています。
GET_WKB()
GET_WKB()関数は、空間オブジェクトをWell-Known-Binary (WKB)データ形式のバイナリ文字列に変換します。WKB形式は、空間幾何オブジェクトを表すための一般的なバイナリ表現形式です。
例:
obclient [SYS]> SELECT SDO_GEOMETRY(2001, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1,1), SDO_ORDINATE_ARRAY(10,500)).GET_WKB() AS test_get_wkb FROM dual;
実行結果は次のとおりです:
+--------------------------------------------+
| TEST_GET_WKB |
+--------------------------------------------+
| 00000000014024000000000000407F400000000000 |
+--------------------------------------------+
1 row in set
GET_WKT()
GET_WKT()関数は、空間オブジェクトをWell-Known-Text (WKT)データ形式の文字列に変換します。WKT形式は、空間幾何オブジェクトを表すための一般的なテキスト表現形式です。
例:
obclient [SYS]> SELECT SDO_GEOMETRY(2001, NULL, SDO_POINT_TYPE(10, 50, NULL), NULL, NULL).GET_WKT() AS test_get_wkt FROM dual;
実行結果は次のとおりです:
+---------------+
| TEST_GET_WKT |
+---------------+
| POINT (10 50) |
+---------------+
1 row in set
GET_GEOJSON()
GET_GEOJSON()関数は、空間オブジェクトをJSONデータ形式の文字列に変換します。
例:
obclient [SYS]> SELECT SDO_GEOMETRY(2001, NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1,1), SDO_ORDINATE_ARRAY(10,500)).GET_GEOJSON() AS test_get_geojson FROM dual;
実行結果は次のとおりです:
+-----------------------------------------------+
| TEST_GET_GEOJSON |
+-----------------------------------------------+
| { "type": "Point", "coordinates": [10, 500] } |
+-----------------------------------------------+
1 row in set