使用者の手引きおよび解説書


OGC による事前割り当てテキスト表現

地理情報エクステンダーには、テキスト記述から図形を生成する関数がいくつかあります。

ST_GeomFromText
任意の図形タイプのテキスト表現から図形を生成します。

ST_PointFromText
ポイントのテキスト表現からポイントを作成します。

ST_LineFromText
折れ線のテキスト表現から折れ線を作成します。

ST_PolyFromText
ポリゴンのテキスト表現からポリゴンを作成します。

ST_MPointFromText
複数ポイントのテキスト表現から複数ポイントを作成します。

ST_MLineFromText
複数折れ線のテキスト表現から複数折れ線を作成します。

ST_MPolyFromText
複数ポリゴンのテキスト表現から複数ポリゴンを作成します。

テキスト表現は 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']

ここで、

geometry type
ポイント、折れ線、ポリゴン、複数ポイント、複数折れ線、または複数ポリゴンのいずれか。

coordinate type
図形に Z 座標または測定値を含めるかどうかを指定します。図形にどちらもない場合は、この引き数をブランクにしておいてください。そうでない場合、coordinate type は、Z 座標を含む図形については Z に、測定値を含む図形については M に、両方を含む図形については ZM に設定してください。

coordinate list
図形の頂点を定義します。座標リストはコンマで区切られており、括弧で囲まれています。複数の構成要素を含む図形には、各構成要素の部分を囲むために、一連の括弧が必要です。図形が空である場合、EMPTY キーワードによって座標を置き換えます。

表 66 には、使用できるすべてのテキスト表現の例が漏れなくリストされています。

表 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 座標と測定値を持つ複数ポリゴン


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]