目的
GeoJSONFromGeom関数は、ST_GeometryオブジェクトをGeoJSON規格に準拠するJSON文書に変換します。
構文
RETURNS句を指定した場合、関数呼び出しを括弧で囲む必要があります。
- TD_SYSFNLIB
- 関数が格納されているデータベースの名前。
- geom_expr
- Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、またはGeometryCollectionを表わすST_Geometryオブジェクトとして評価される式。
- precision
- 座標値の小数点以下の最大桁数を指定する整数。
- RETURNS data_type
- data_typeが関数の戻り型になるように指定します。
- integer
- 戻り型の最大長を指定します。
- CHARACTER SET
- 関数の戻り値の文字セット。LATINまたはUNICODEになります。
- RETURNS STYLE column_expr
- 関数の戻り型が指定された列のデータ型と同じであることを指定します。列のデータ型は、VARCHAR、CLOB、またはJSONでなければなりません。
戻り値
この関数の結果は、https://tools.ietf.org/html/rfc7946 で指定されるように、GeoJSON標準に準拠する形式を持つJSON文書です。
RETURNS 句を指定しない場合、デフォルトの戻り型はUNICODEの文字セットを持つJSONです。戻り値の長さは64,000バイトで、最大32,000のUNICODE文字をサポートします。GeoJSON値に変換されるとき基礎となるST_Geometryオブジェクトが64,000バイトを超えると、結果がエラーになる原因となります。
変換済みGeoJSON値の長さが、ST_Geometryオブジェクトの基礎となる長さを超えています。
各データ型の最大長には通常のルールが適用されます。
データ型 | 文字セット | 最大長(文字数) |
---|---|---|
VARCHAR | LATIN | 64,000 |
UNICODE | 32,000 | |
CLOB | LATIN | 2,097,088,000 |
UNICODE | 1,048,544,000 | |
JSON | LATIN | 16,776,192 |
UNICODE | 8,388,096 |
使用上の注意
GeoJSONFromGeom関数とGeomFromGeoJSON関数は、JSONテキスト形式のデータを操作または生成します。バイナリ形式のいずれかで格納されているJSONデータでは使用できません。ただし、バイナリ形式で格納されているJSONデータをテキスト表現にキャスト、またはテキスト表現からキャストしてこれらの関数と対話できます。キャストは暗黙的に行なうことができるので、この操作は容易に実行できます。
ANSI準拠
この関数は、ANSI SQL:2011規格に準拠していません。