二、矢量编码方法
(一)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 多种形矢量编码
坐标法文件结构简单,易于实现以多边形为单位的运算和显示。这种方法的缺点是:
-
邻接多边形的公共边被数字化和存储两次,由此产生冗余和边界不重合的匹配误差。
-
每个多边形自成体系,而缺少有关邻域关系的信息。
-
不能解决“洞”或“岛”之类的多边形嵌套问题,岛只作为单个的图形建造,没有与外包多边形的联系。
-
没有方便方法来检查多边形边界的拓扑关系正确与否,如有无不完整的多边形等。