CASS中地物实体的属性配置以及导出SHP、PDB时的表结构都是通过attribute.def文件来定义的,该文件格式如下:(注:逗号均为半角)
*表名,表类型,表说明
字段名,字段类型,字段长度,字段小数位数,字段说明,(对应数据字典)
剩余字段定义…
*剩余表定义…
例:
*T_ReferPoint,1,A01,测量控制点
FeatureID,100,6,0,要素代码
ReferPointID,12,20,0,内部编号
PntName,0,24,0,点名
PntNo,0,16,0,点号
格式说明:
AttriBute.def文件中有所有的表及字段名。
1、先看第一行,“*”用来标示新的表的开始,“T_ReferPoint”为表名。
2、第二位为数据类型,即几何类型,用一位数字来表示,数据类型对应表如下:
数据类型对应表:
1 | 2 | 3 | 4 | 5 | 9 |
点 | 线 | 面 | 注记 | 复合 | 扩展 |
3、第三位对应于数据组织表中的层号。可以和数据分层表进行联系。
4、“测量控制点”,即为这个表的说明文字,用来描述此表。
5、再来看看第二行,第一位是本表的主键,即字段名称,一般用要素代码或者字段名称来标示,用该主键名来描述,上例中即为“FeatureID ”;一般情况下,没有特殊规定,描述都用汉字的首字母进行表示。
6、第二位为判断码,即字段类型,程序实现时用来判断要读取的编码类型,10:南方CASS代码,100:用户代码。我们做数据接口时,要采用用户标准,所以用100来填充此位。
字段类型:
根据字段类型个位数的值,有以下情况:
a) 0——字符串 (一个汉字等于两个字符)
b) 1——短整数 (数字的取值是整数,且在±26000之间)
c) 2——长整数 (数字的取值是整数,比短整数的长度要长)
d) 3——浮点数 (含整数位和小数位)
e) 4——时间
7、第三位为字长,即字段长度,用户提供的标准中有采用的数据库的数据类型表,根据此表,我们可以确定每个字段对应的类型和字长。
8、第四位为小数点位,即为要保留的小数点后位数,同理,我们可以根据数据类型表来确定。
9、最后一位是文字说明,也就是字段说明。
10、这里要注意时间类型,还有Blob类型,即影象数据,字长应该为2,小数点位应该为0。
11、从第三行开始,到下个表开始之前,每行的结构都相同。