计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.5　P.72-73，77



基于地理信息的有线电视网综合管理系统的设计与实现
陆勤　高俊波　蔡庆生
摘  要  首先介绍了地理信息系统(GIS)的概念，阐述了系统的总体设计方案，然后着重对系统中涉及的节点自动捕捉和自动生成不同设备属性的录入界面等关键技术进行了讨论。
关键词  地理信息系统  有线电视
0  引言
　　地理信息系统[1] (Geographical Information System，简记为GIS)是以地理空间数据库为基础，在计算机软硬件环境的支持下，对空间相关数据进行采集、管理、操作、分析、模拟和显示，并采用地理模型分析方法，适时提供多种空间和动态的地理信息，为地理研究、综合评价、管理、定量分析和决策服务而建立起来的一类计算机应用系统。其应用领域覆盖工业、农业、交通运输、环保、国防、公安等诸多领域。
　　GIS概念最早提出在60年代，当时从空间数据的处理入手，开始了对其技术与方法的研究。到了70年代，随着计算机的迅速发展和环境、资源问题的日益突出，GIS技术开始进入实际应用，并出现一些实际的应用系统。地理信息系统在90年代蓬勃发展，蔚然成为信息产业的重要一环，其应用广度与科学内涵，远远超过70年代以制图自动化与图形分析为主体的初期水平，逐步形成跨学科的多层次、多功能的区域综合与空间分析工具。
　　基于地理信息的有线电视网综合管理系统就是这样一个将地理信息系统应用于有线电视行业的系统。它的开发背景使目前大部分有线电视台工作重点已经从工程建设转移到网络管理上来了，这是一项十分复杂的系统工程。而且随着有线电视网络的扩展、业务的综合化和用户数量的增多，对用户业务和计费信息管理的要求也越来越高，现有的手工管理已经不能满足需求。尽管目前在某些环节使用了计算机管理，但由于各系统处于孤立的状态，各系统之间无法进行数据的交换与共享，因而产生了大量的重复劳动，造成了劳动力资源的浪费，且难以达到准确、迅速、高效、协调的管理水平。正是基于这样的考虑，我们根据有线电视网络建设和管理中存在大量包含地理属性的数据(如用户地址、设施安装地点、电缆走向等)的特点，提出在地理信息系统的基础上将用户管理、工程图纸管理、网络管理等环节有机地结合在一起，为有线电视台提供一个完整、有效的有线电视网综合管理系统。
1  系统总体结构与功能
1.1  系统总体结构
　　基于地理信息的有线电视网综合管理系统采用Client/Server结构，采用专用服务器作为地图、图档文件服务器和数据库服务器，客户端采用高档PC机，以数字化仪作为地图数据的输入手段，以绘图仪和打印机作为地图数据的输出手段。网络操作系统采用Windows NT Server，数据库管理系统采用SQL Server，地理信息系统开发平台采用MapInfo Professional和MapX，前端开发工具采用Delphi Client/Server Suite。
　　这种结构的主要特点是：运用关系数据库作为空间信息数据库的基本载体，可以获得优秀的数据操纵能力，辅以特殊结构的空间信息数据文件则可以获得原本缺乏的对空间对象的表现能力。这就实现了地理数据和属性数据的有机结合，便于用户基于地图对象快速查询空间和非空间的属性数据。同时，基于ActiveX技术的基础组件MapX的使用，则允许将地图对象嵌入到一个新的或已有的应用中，大大提高了系统的性能和可靠性。
　　基于地理信息的有线电视网综合管理系统(如图1)主要包括以下几个部分：
　　．用户档案和收费管理系统
　　．地图维护和批量数据录入系统
　　．工程图纸设计与管理系统
　　．设备器材管理系统
　　．网络管理和台长查询系统

图1综合管理系统框图案
1.2  系统的主要功能
1.2.1  用户档案和收费管理系统
　　基于MS SQL Server大型数据库记录和维护所有有线电视入网用户的档案资料和收视费记录，并与地图系统相关联，将入网用户定位到地图上。提供常规的用户资料查询统计和地图驱动的查询和专题统计功能，对用户资料实行“可视化”管理。
1.2.2  地图维护和批量数据录入系统
　　基于MapInfo Professional桌面地图系统和MapInfo MapX组件，对地理信息(地貌、道路、单位、片区。楼栋)实施分层管理、叠加显示，提供漫游、放大、缩小等地图浏览功能和添加、删除、修改地图对象及其属性的地图编辑功能。另外，提供以地图驱动方式成片、成批地录入用户档案信息的功能。
1.2.3  工程图纸设计与管理系统
　　在地理图层上叠加工程图层(有源器件、无源器件、光缆、干线电缆、支线电缆)，提供有线电视工程设计的绘图工具。在图纸设计中，根据给定的初始参数和设备信息库提供正反向设计的辅助计算，引导设计者合理选用器材和设定参数。设计结束后，可自动生成器材调拨单，与设备信息库相关联可生成工程预算报表。同时对工程图纸统一管理，提供审核与修改功能。
1.2.4  设备器材管理系统
　　对有线电视网络中使用的各种有源设备、无源设备、光缆、电缆等器材实施分类管理，记录各种器材的技术参数，提供给工程设计系统使用，并对器材领用调拨情况进行管理。
1.2.5  网络管理和台长查询系统
　　维护有线电视网络现状图，将已经完工的工程铺设的电缆和安装的设备及时更新到现状图上，提供分配网络中各种器材的定位查询和分类统计，还可通过同步案卷与用户数据库关联，查询有关的用户信息。
2  系统中关键技术的实现
2.1  节点自动捕捉的实现
　　在工程图纸设计中，各种有源设备、无源设备的符号在相应的工程图层(有源设备层、无源设备层)中定义为点对象，光缆和电缆则在相应的工程图层(光缆层、电缆层)中定义为线对象。当地图进行缩放显示的时候，设备符号不会随着地图视野的变化而变大或变小，缆线也不会随着地图视野的变化而变粗或变细，但它们之间的距离将随地图视野的变化发生变化，从而引起拓扑关系的变化。如图2所示。

图2
　　而在工程设计辅助计算中依据之一就是设备/器材和缆线的拓扑关系，因此必须确保设备符号的中心与缆线的指定端点重合，即在放置设备符号时必须捕捉邻近的缆线的端点，在铺设缆线时必须捕捉邻近的设备符号的中心。
　　为了实现上述功能，首先设置一个以屏幕坐标为单位的捕捉精度值pixelstep，然后将pixelstep换算成以地图坐标为单位的捕捉精度值mapstep。当地图缩放时，此精度值mapstep需要重新计算以适应新的地图视野。同时捕获鼠标移动的系统事件，作如下处理：
　　(1)获取鼠标所在位置的屏幕坐标，并换算成地图坐标(mapx，mapy)。
　　(2)以(mapx，mapy)为圆心，mapstep为半径，在工程图层中搜索地图对象，只要有地图对象部分落入圆内，即将此地图对象添加到搜索操作返回的对象集合foundobjs中。
　　(3)如果是铺设缆线捕捉设备的中心，只需对foundobjs的点对象作一次遍历，找到距离(mapx，mapy)最近的点对象，并以其中心作为缆线的节点即可；如果是放置设备捕捉临近缆线的端点，则需要对foundobjs中的所有折线对象的每一个节点作一次遍历，找到距离(mapx，mapy)最近的点作为新放置的设备符号的中心。
2.2  自动生成不同设备属性的录入界面
　　设备器材管理系统中是按树形结构进行分类的，用户可以根据需要自定义设备分类，不同分类的设备，它们的属性(技术指标)也是不同的。这样，用户在录入设备的属性(技术指标)时，就需要有不同的录入界面，如果为每一个设备分类静态地定制一个录入界面，那么用户在新建一个设备分类时，系统就无法为其生成新的录入界面，为了系统的通用性、扩展性和可维护性，有必要根据不同的数据库结构自动生成它的录入界面。
　　该问题的实现主要借助于数据字典，我们在设计数据库结构时，设计了实体表(Pobject)、表与字段对应表(Ptable)、字段描述表(Pitem)和配置表(Pconfig)。其中：
　　(1)实体表Pobject为每一个表及该表的所有字段记录一个标识Iobject，该标识是该表的主键和外键，将其余几个表有机地连接起来，实体表中还记录了每个表的表名和字段名，也就是说，通过唯一的标识Iobject就可以查询到它的名称。
　　(2)表与字段对应表Ptable中通过表和字段的标识Iobject建立了一种从属关系表，也就是这个字段是属于哪个表的。
　　(3)字段描述表Pitem以字段在实体表中标识Iobject为索引，详细地描述了每个字段的属性，如字段描述、字段类型、字段长度、是否为空、是否唯一。该字段的输入格式、输入范围、它的值是可编辑的、还是列表选择或可编辑的列表等信息。
　　(4)如果一个字段的值通过列表或可编辑列表进行选择，则列表中的初始值就保存在配置表Pconfig中，该表是以实体表中的标识Iobject为索引的。
　　创建设备属性数据表的程序伪码为：
Begin
　Create Table;　//按照用户定义的数据库结构生成一个数据库表
GetMaxIobject;　//取Pobject表中Iobject的最大值
AddObjectRecord('Pobject', 表名); 
　//向Pobject中增加表名记录,其Iobject为最大值加1,且最大值加1
For each item in Field //对于该表的每一个字段，循环执行下一段
Begin
AddObjectRecord('Pobject', 字段名); 
　//向Pobject中增加字段名记录,其Iobject为最大值,且最大值加1
AddTableRecord;  
　//将表名和该字段名在Pobject标识值Iobject添加到Ptable中
AddItemRecord; //将该字段名在Pobject中的
　　　　//标识值Iobject及其属性添加到Pitem中
If 该字段为列表或可编辑列表 then
AddConfigRecord; //向Pconfig中添加该字段的列表初值
End;
End;
　　自动生成该设备属性录入界面的程序伪码为：
Begin
　GetTableObject(表名); 
　　//根据表名, 在Pobject表中查询该表的标识值Iobject 
For each item included the table //在Ptable表中查询属于该表的
　　//所有字段，并且对于该表的每一个字段，循环执行
Begin
　GetFieldName;　//从Pobject表中提取字段名
　GetFieldAttribute; //从Pitem表中提取该字段的属性
　If 该字段为列表或可编辑列表 then GetListValue; 
　　　　　　//从Pconfig中提取该字段的列表初值
End;
End;
　　最后根据已获得的每个字段的属性信息生成该数据库表的录入界面。
3  结论
　　基于地理信息的有线电视网综合管理系统是由安徽科力信息产业有限公司开发的。本文所讨论的几个关键技术已成功地应用于本系统中。该系统已应用在合肥市有线电视台，系统运行良好，大大提高了他们的工作效率和管理水平。
陆勤(中国科学技术大学计算机科学系  合肥 230027)
高俊波(中国科学技术大学计算机科学系  合肥 230027)
蔡庆生(中国科学技术大学计算机科学系  合肥 230027)
参考文献
1，Dick Newel1, Perspectives in GIS Database Architecture[C], SSD' 1997
2，詹舒波等. 电子地图数据库存储文件的设计[J]. 计算机科学, 1996, Vol. 23 No.3
3，张剑平等. 地理信息系统与MapInfo应用. 北京: 科学出版社, 1999
4，修文群等. 城市地理信息系统. 北京: 希望电子出版社, 1999
5，MapInfo Professional参考手册. MapInfo Corporation, 1998
6，MapInfo MapX Reference Guide. MapInfo Corporation, 1998
收稿日期：1999-11-17
