用户指南和参考


OGC 公认文本表示

DB2 Spatial Extender 具有几个从文本说明生成几何图形的函数:

ST_GeomFromText
从任何几何图形类型的文本表示创建几何图形。

ST_PointFromText
从点文本表示创建点。

ST_LineFromText
从线条文本表示创建线条。

ST_PolyFromText
从多边形文本表示创建多边形。

ST_MPointFromText
从多点文本表示创建多个点。

ST_MLineFromText
从多线条文本表示创建多线条。

ST_MPolyFromText
从复合多边形文本表示创建复合多边形。

文本表示是一个 ASCII 文本格式字符串,它允许以 ASCII 文本形式交换几何图形。 可在第三代或第四代语言(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>)
 

SRID(Spatial 参考系标识符和 SPATIAL_REFERENCES 表的主关键字)标识 SPATIAL_REFERENCES 表中存储的几何图形的 Spatial 参考系。 在将几何图形插入 Spatial 列之前,它的 SRID 必须与该 Spatial 列的 SRID 匹配。

文本说明由包括在单引号内的三个基本部分组成,例如:

<'几何图形类型'> ['坐标类型'] [''坐标列表']
 

其中:

几何图形类型
是下列其中一项:point、linestring、polygon、multipoint、multilinestring 或 multipolygon。

坐标类型
指定几何图形是否具有 Z 坐标或度量单位。 若几何图形两项都没有,则将此自变量留为空白。 否则,对包含 Z 坐标的几何图形,将坐标类型设置为 Z;对具有度量单位的几何图形, 将坐标类型设置为 M;对这二者都具有的几何图形,将坐标类型设置为 ZM。

坐标列表
定义几何图形的顶点。坐标列表用逗号分隔且包括在括号内。 具有多个部件的几何图形需要多组括号来包括每个部件。若几何图形是空的, 则 EMPTY 关键字替换坐标。

表 65显示所有可能的文本表示示例的完整列表。

表 65. 几何图形类型及其文本表示

几何图形类型

文本说明

注解

point

point empty

空点

point

point z empty

具有 z 坐标的空点

point

point m empty

具有度量单位的空点

point

point zm empty

具有 z 坐标和度量单位的空点

point

point ( 10.05 10.28 )


point

point z ( 10.05 10.28 2.51 )

具有 z 坐标的点

point

point m ( 10.05 10.28 4.72 )

具有度量单位的点

point

point zm ( 10.05 10.28 2.51 4.72 )

具有 z 坐标和度量单位的点

linestring

linestring empty

空线条

linestring

linestring z empty

具有 z 坐标的空线条

linestring

linestring m empty

具有度量单位的空线条

linestring

linestring zm empty

具有 z 坐标和度量单位的空线条

linestring

linestring ( 10.05 10.28 , 20.95 20.89 )

线条

linestring

linestring z ( 10.05 10.28 3.09, 20.95 31.98 4.72, 21.98 29.80 3.51 )

具有 z 坐标的线条

linestring

linestring m ( 10.05 10.28 5.84, 20.95 31.98 9.01, 21.98 29.80 12.84 )

具有度量单位的线条

linestring

linestring zm ( )

具有 z 坐标和度量单位的线条

polygon

polygon empty

空多边形

polygon

polygon z empty

具有 z 坐标的空多边形

polygon

polygon m empty

具有度量单位的空多边形

polygon

polygon zm empty

具有 z 坐标和度量单位的空多边形

polygon

polygon (( 10 10, 10 20, 20 20, 20 15, 10 10))

多边形

polygon

polygon z (( ))

具有 z 坐标的多边形

polygon

polygon m (( ))

具有度量单位的多边形

polygon

polygon zm (( ))

具有 z 坐标和度量单位的多边形

multipoint

multipoint empty

空多点

multipoint

multipoint z empty

具有 z 坐标的空多点

multipoint

multipoint m empty

具有度量单位的空多点

multipoint

multipoint zm empty

具有 z 坐标与度量单位的空多点

multipoint

multipoint empty

空多点

multipoint

multipoint (10 10, 20 20)

具有两点的多点

multipoint

multipoint z (10 10 2, 20 20 3)

具有 z 坐标的多点

multipoint

multipoint m (10 10 4, 20 20 5)

具有度量单位的多点

multipoint

multipoint zm (10 10 2 4, 20 20 3 5)

具有 z 坐标和度量单位的多点

multilinestring

multilinestring empty

空多线条

multilinestring

multilinestring z empty

具有 z 坐标的空多线条

multilinestring

multilinestring m empty

具有度量单位的空多线条

multilinestring

multilinestring zm empty

具有 z 坐标和度量单位的空多线条

multilinestring

multilinestring (( ))

多线条

multilinestring

multilinestring z (( ))

具有 z 坐标的多线条

multilinestring

multilinestring m (( ))

具有度量单位的多线条

multilinestring

multilinestring zm (( ))

具有 z 坐标和度量单位的多线条

multipolygon

multipolygon empty

空复合多边形

multipolygon

multipolygon z empty

具有 z 坐标的空复合多边形

multipolygon

multipolygon m empty

具有度量单位的空复合多边形

multipolygon

multipolygon z

具有 z 坐标和度量单位的空复合多边形

multipolygon

multipolygon ((( )))

复合多边形

multipolygon

multipolygon z ((( )))

具有 z 坐标的复合多边形

multipolygon

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

multipolygon zm ((( )))

具有 z 坐标和度量单位的复合多边形


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]