地理情報エクステンダーには、テキスト記述から図形を生成する関数がいくつかあります。
テキスト表現は ASCII テキスト形式のストリングです。このため、図形を ASCII テキスト形式に交換することができます。第 3 世代や第 4 世代の言語 (3GL または 4GL) のプログラムは、特殊なプログラム構造の定義が必要ないので、この種の関数をこれらのプログラムで使用できます。 ST_AsText 関数は、既存の図形をテキスト表現に変換します。
各図形タイプには、事前割り当てのテキスト表現が含まれており、新しいインスタンスのタイプを構成する場合と、既存のインスタンスを英数字表示のためのテキスト表現に変換する場合の両方に使用することができます。
図形の事前割り当てテキスト表現を以下に定義します。 {}* は、括弧内のトークンを 0 回以上繰り返すことを示します。出力トークンのリストには、括弧は示されません。
<Geometry Tagged Text> := | <Point Tagged Text> | <LineString Tagged Text> | <Polygon Tagged Text> | <MultiPoint Tagged Text> | <MultiLineString Tagged Text> | <MultiPolygon Tagged Text> <Point Tagged Text> := POINT (<Point Text>) <LineString Tagged Text> := LINESTRING (<LineString Text>) <Polygon Tagged Text> := POLYGON (<Polygon Text>) <MultiPoint Tagged Text> := MULTIPOINT (<MultiPoint Text>) <MultiLineString Tagged Text> := MULTILINESTRING (<MultiLineString Text>) <MultiPolygon Tagged Text> := MULTIPOLYGON (<MultiPolygon Text>) <Point Text> := EMPTY | <Point> | Z (<PointZ>) | M (<PointM>) | ZM (<PointZM>) <Point> := <x> <y> <x> := double precision literal <y> := double precision literal <PointZ> := <x> <y> <z> <x> := double precision literal <y> := double precision literal <z> := double precision literal <PointM> := <x> <y> <m> <x> := double precision literal <y> := double precision literal <m> := double precision literal <PointZM> := <x> <y> <z> <m> <x> := double precision literal <y> := double precision literal <z> := double precision literal <m> := double precision literal <LineString Text> := EMPTY | ( <Point Text > {, <Point Text> }* ) | Z ( <PointZ Text > {, <PointZ Text> }* ) | M ( <PointM Text > {, <PointM Text> }* ) | ZM ( <PointZM Text > {, <PointZM Text> }* ) <Polygon Text> := EMPTY | ( <LineString Text > {,< LineString Text > }* ) <MultiPoint Text> := EMPTY | ( <Point Text > {, <Point Text > }* ) <MultiLineString Text> := EMPTY | ( <LineString Text > {,< LineString Text>}* ) <MultiPolygon Text> := EMPTY | ( < Polygon Text > {, < Polygon Text > }* )
基本的な関数の構文は次のとおりです。
function (<text description>,<SRID db2gse.coordref>)
SRID は、SPATIAL_REFERENCES 表の地理情報参照 ID かつ基本キーであり、 SPATIAL_REFERENCES 表に格納されている図形の地理情報参照システムを識別します。図形を地理情報列に挿入する場合、図形の SRID が地理情報列の SRID と一致しなければなりません。
テキスト記述は、以下の例のように、単一引用符で囲まれた 3 つの基本的な構成要素で構成されています。
<'geometry type'> ['coordinate type'] [''coordinate list']
ここで、
表 66 には、使用できるすべてのテキスト表現の例が漏れなくリストされています。
図形タイプ
|
テキスト記述
|
注釈
|
---|---|---|
ポイント
|
point empty
|
空のポイント
|
ポイント
|
point z empty
|
z 座標を持つ空のポイント
|
ポイント
|
point m empty
|
測定値を持つ空のポイント
|
ポイント
|
point zm empty
|
z 座標と測定値を持つ空のポイント
|
ポイント
|
point ( 10.05 10.28 )
|
ポイント
|
ポイント
|
point z ( 10.05 10.28 2.51 )
|
z 座標を持つポイント
|
ポイント
|
point m ( 10.05 10.28 4.72 )
|
測定値を持つポイント
|
ポイント
|
point zm ( 10.05 10.28 2.51 4.72 )
|
z 座標と測定値を持つポイント
|
折れ線
|
linestring empty
|
空の折れ線
|
折れ線
|
linestring z empty
|
z 座標を持つ空の折れ線
|
折れ線
|
linestring m empty
|
測定値を持つ空の折れ線
|
折れ線
|
linestring zm empty
|
z 座標と測定値を持つ空の折れ線
|
折れ線
|
linestring ( 10.05 10.28 , 20.95 20.89 )
|
折れ線
|
折れ線
|
linestring z ( 10.05 10.28 3.09, 20.95 31.98 4.72, 21.98 29.80 3.51 )
|
z 座標を持つ折れ線
|
折れ線
|
linestring m ( 10.05 10.28 5.84, 20.95 31.98 9.01, 21.98 29.80 12.84 )
|
測定値を持つ折れ線
|
折れ線
|
linestring zm ( )
|
z 座標と測定値を持つ折れ線
|
ポリゴン
|
polygon empty
|
空のポリゴン
|
ポリゴン
|
polygon z empty
|
z 座標を持つ空のポリゴン
|
ポリゴン
|
polygon m empty
|
測定値を持つポリゴン
|
ポリゴン
|
polygon zm empty
|
z 座標と測定値を持つ空のポリゴン
|
ポリゴン
|
polygon (( 10 10, 10 20, 20 20, 20 15, 10 10))
|
ポリゴン
|
ポリゴン
|
polygon z (( ))
|
z 座標を持つポリゴン
|
ポリゴン
|
polygon m (( ))
|
測定値を持つポリゴン
|
ポリゴン
|
polygon zm (( ))
|
z 座標と測定値を持つポリゴン
|
複数ポイント
|
multipoint empty
|
空の複数ポイント
|
複数ポイント
|
multipoint z empty
|
z 座標を持つ空の複数ポイント
|
複数ポイント
|
multipoint m empty
|
測定値を持つ空の複数ポイント
|
複数ポイント
|
multipoint zm empty
|
z 座標と測定値を持つ空の複数ポイント
|
複数ポイント
|
multipoint empty
|
空の複数ポイント
|
複数ポイント
|
multipoint (10 10, 20 20)
|
2 つのポイントを持つ複数ポイント
|
複数ポイント
|
multipoint z (10 10 2, 20 20 3)
|
z 座標を持つ複数ポイント
|
複数ポイント
|
multipoint m (10 10 4, 20 20 5)
|
測定値を持つ複数ポイント
|
複数ポイント
|
multipoint zm (10 10 2 4, 20 20 3 5)
|
z 座標と測定値を持つ複数ポイント
|
複数折れ線
|
multilinestring empty
|
空の複数折れ線
|
複数折れ線
|
multilinestring z empty
|
z 座標を持つ空の複数折れ線
|
複数折れ線
|
multilinestring m empty
|
測定値を持つ空の複数折れ線
|
複数折れ線
|
multilinestring zm empty
|
z 座標と測定値を持つ複数折れ線
|
複数折れ線
|
multilinestring (( ))
|
複数折れ線
|
複数折れ線
|
multilinestring z (( ))
|
z 座標を持つ複数折れ線
|
複数折れ線
|
multilinestring m (( ))
|
測定値を持つ複数折れ線
|
複数折れ線
|
multilinestring zm (( ))
|
z 座標と測定値を持つ複数折れ線
|
複数ポリゴン
|
multipolygon empty
|
空の複数ポリゴン
|
複数ポリゴン
|
multipolygon z empty
|
z 座標を持つ空の複数ポリゴン
|
複数ポリゴン
|
multipolygon m empty
|
測定値を持つ空の複数ポリゴン
|
複数ポリゴン
|
multipolygon z
|
z 座標と測定値を持つ複数ポリゴン
|
複数ポリゴン
|
multipolygon ((( )))
|
複数ポリゴン
|
複数ポリゴン
|
multipolygon z ((( )))
|
z 座標を持つ複数ポリゴン
|
複数ポリゴン
|
multipolygon m (((10 10 2, 10 20 3, 20 20 4, 20 15 5, 10 10 2), (50 40 7, 50 50 3, 60 50 4, 60 40 5, 50 40 7)))
|
測定値を持つ複数ポリゴン
|
複数ポリゴン
|
multipolygon zm ((( )))
|
z 座標と測定値を持つ複数ポリゴン
|