二、矢量编码方法

(一)x,y 坐标方法

任何点、线、面实体都可以用直角坐标点 x,y 来表示。这里 x,y 可以对应于地面坐标经度和纬度,也可以对应于数字化时所建立的平面坐标系 x 和 y。对于点则是一组(x,y);对于线,则是多组(x1,y1;x2,y2;x3 , y3;⋯,xn,yn);而对于多边形,也是多组(x,y)坐标,但由于多边形封闭,坐标必须首尾相同。这些点是由光滑的曲线间隔采样而来。同样的曲线长度,取点越多,以后恢复时越接近原来曲线,失真越少;反之,取点过少,恢复时就会成为折线。图 3-15 为点、线、面的实体表示。

特征码

位置坐标

10

x , y

线

12

x1 , y1 ; x2 , y2 ; x3 , y3 ; x4 , y4 ; x5 , y5 ; x6 , y6

35

x1 , y1 ; x2 , y2 ; x3 , y3 ; x4 , y4 ; x5 , y5 ; x6 , y6

x7 , y7 ; x8 , y8 ; x9 , y9 ; x10 , y10 ; x11 , y11 ; x12 , y12 , x1 ,

y1

图 3-15 点、线、面实体的坐标表示

如果是多个相邻多边形,其矢量编码的坐标文件如图 3-16

特征码 坐标位置

1 x1 , y1 ; x2 , y2 ; x3 , y3 ; x4 , y4 ; x5 , y5 ; x6 , y6x7 , y7 ; x8 , y8 ; x9 , y9 ; x10 , y10 ; x1 , y1 ;

2 x28 , y28 ; x29 , y29 ; x30 , y30 ; x31 , y31 ; x32 , y32 ; x33 , y33 ; x28 , y28 x1 , y1 ; x11 , y11 ; x12 , y12 ; x13 , y13 ; x14 , y14 ; x15 , y15 ; x16 , y16 ;

3 x17 , y17 ; x18 , y18 ; x19 , x19 ; x9 , y9 ; x10 , y10 ; x1 , y1 ;

4 x18 , y18 ; x19 , y19 ; x9 , y9 ; x8 , y8 ; x7 , y7 ; x20 , y20 ; x21 , y21 ; x22 , y22 ; x23 , y23 ; x24 , y24 ; x18 , y18 ;

x16 , y16 ; x17 , y17 ; x18 , y18 ; x24 , y24 ; x23 , y23 ; x27 , y27 ; x26, y26 ;

5 x25 , y25 ; x16 , y16

( b )

图 3-16 多种形矢量编码

坐标法文件结构简单,易于实现以多边形为单位的运算和显示。这种方法的缺点是:

  1. 邻接多边形的公共边被数字化和存储两次,由此产生冗余和边界不重合的匹配误差。

  2. 每个多边形自成体系,而缺少有关邻域关系的信息。

  3. 不能解决“洞”或“岛”之类的多边形嵌套问题,岛只作为单个的图形建造,没有与外包多边形的联系。

  4. 没有方便方法来检查多边形边界的拓扑关系正确与否,如有无不完整的多边形等。