DB2 Spatial Extender 具有几个从文本说明生成几何图形的函数:
文本表示是一个 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 匹配。
文本说明由包括在单引号内的三个基本部分组成,例如:
<'几何图形类型'> ['坐标类型'] [''坐标列表']
其中:
表 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 坐标和度量单位的复合多边形
|