地理信息数据库中数据字典的设计(2)

发布时间:2021-06-08

地理信息系统

第P期

肖计划等:地理信息数据库中数据字典的设计

UO

!"#$$%&’(")

[./;!*#+,-#,(0&1234-/.232-]!!字段名称[./;!*#+,%#6’780&1234-/.232-]!!字段标题5

;2&’(")9(,9(!!字段类型:5:5;;8$’8()’86,3(86*!!字段长度<<;!*#+!,5=#";(!!字段值

再定义一个类%&’(")$来记录一个图层的所有字段的信息:!"#$$%>’(")${

成员变量!!

;?(!67+"%&’(")!#,3#(+&’(")$!!存放图层属性数据字段结构信息的数据结构:

;其属性数据’86,976#"/66+’@;6(4#6#A’B(18C6(!!该成员变量记录对于属于本图层的每个特征对象,:

所占的内存空间的总字节数。

[./];其中数组的下标与&’86,/))+($$D>>$(60&1234A!!,/))+($$D>>$(6是一个整数数组,’(")E

每个数组元素记录该字段在存储属性数据的连18)(F对应,

续内存空间中的偏移地址。

成员函数!!

(,,);@77"/))&’(")!78$6!*#+!8#,(,!78$6!*#+!!#6’782&’(")9(6(’86"(86*GH5:5:5<

这样,就可以建立一个图层的字段结构信息了:IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

(“&“编号”,,))&’(")14”4/D1-92L2M9NJ2);&’(")$18>7J6+K#/

(“.”“图号”,,);&’(")$18>7J6+K#/))&’(")#-74/DA9M1-L9NJ2,OH5(“9“类型”,,);&’(")$18>7J6+K#/))&’(")NJ2”4/DA9M1-L9NJ2,PH(“./“主码”,,;&’(")$18>7J6+K#/))&’(")1-%D42”4/D1-92L2M9NJ2)(“A“识别码”,,;&’(")$18>7J6+K#/))&’(")QC%D42”4/D1-92L2M9NJ2)(“4.“地名指针”,,;&’(")$18>7J6+K#/))&’(")J9M”4/D-92L2M9NJ2)(“9“通行情况”,,);&’(")$18>7J6+K#/))&’(")M/&&1%A9/92”4/DA9M1-L9NJ2,R(“2“海拔高程”,,;&’(")$18>7J6+K#/))&’(")32=/91D-”4/D1-92L2M9NJ2)

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

很明显,半封闭、半开放式的程序设计较之封闭个外部的数据库表(也就是本文所说的数据字典)

中。当需要改变图层的属性字段的项数时,只要修式的设计大大降低了程序的代码量,所有图层的对

改和编辑这个数据库表即可。如表O所示,当前图象都是基于同一个类来构建的。只是在构建图层的

层只有R个属性字段,读取数据表在一个循环中调属性字段结构时,对于不同的地理层来说,只是

用&()函数即可。()函数调用的次数不同’(")$18>7J6+K#/))&’(")&’(")$18>7J6+K#/))&’(")而已。

但是,这种半封闭、半开放式的缺陷也是明显的。即对属性数据的处理中,它的前提条件是必须事先知道属性数据项的项数,以及每个属性字段的数据类型和长度等信息。当需要增加新的属性字段时必须显式地调用&()函’(")$18>7J6+K#/))&’(")数。

)开放式的程序设计S

开放式的程序设计可以解决P)中的不足。在

万方数据 开放式设计中可以把图层的属性字段信息存储在一

表!不完全属性项说明数据字典

A*;0’8HO<A*;0’8HP<A*;0’8HS<A*;0’8HU<A*;0’8HR<

名称类型宽度水深泥深

SH$PH$OHTP>OHTP>OHTP>

HHHHH

当要修改属性字段,增加或删除时直接修改数

据库表就行了。增加属性项之后如表P所示。

这样不需修改程序代码就实现了地理属性数据

地理信息数据库中数据字典的设计(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219