1. 引言
济南市基础地理信息公共平台(简称平台)于2012年8月完成建设并上线试运行,2013年8月通过了国家验收。其中数据生产是平台建设和正常运行的重要工作,由于原始数据的数据标准与平台数据标准不同,因此在数据生产时需要进行数据整理和转换,以满足平台运行对数据的应用需求。
2. EPS2008地理信息工作站介绍
EPS2008地理信息工作站是以数据库为核心构建的集地理信息数据采集、整理、建库和测绘管理的系统,系统基于既严整又开放的模板控制技术、易学易用的脚本二次开发技术和强大的制图技术,在保证数据标准化、图库一体化的同时,为数据跨平台共享提供了极大的便利性和灵活性。
2.1. 模板信息映射技术
EPS工作站中的模板是一个Access数据库,内容包括地理数据结构表定义、数据分层分色方案、编码体系及符号化描述定义、系统环境用户化设置以及用户扩展属性表定义[1] 。模板不但是数据标准化的有力保证,而且是不同数据标准转换的中转站,不同标准的数据可以在模板中设置转换对照关系,即利用模板的信息映射机制,可实现不同标准数据的正确无损转换,从而实现不同标准的数据共享。
2.2. 脚本二次开发技术
EPS2008地理信息工作站提供脚本语言支持用户进行二次开发,脚本语言遵循简单易用的VBScript语言标准,使用者可根据集成命令、语言规则、函数等方法实现EPS平台数据整理、数据检查、数据转换等扩展功能。EPS脚本语言在脚本编辑器中运行,具体运行是解释性执行 [2] ,可分为有模脚本和无模脚本。有模脚本对脚本功能进行封装,不支持与视图窗口进行交互操作。无模脚本允许与视图窗口进行交互操作,可以响应视图窗口的鼠标消息、按键消息和绘图消息,支持通过通用参数对话框录入参数。
3. EPS2008数据转换技术路线
基于EPS2008地理信息工作站进行数据转换,主要包括以下几个部分:
3.1. 数据标准分析与转换关系定制
对需要转换的数据标准进行详细分析,是实施正确无损转换的重要前提。不仅要对对象实体编码、几何类型的转换进行分析,还需要对对象的属性转换进行正确梳理,以满足转换后数据标准需求。转换关系定制基于模板的信息映射机制,通过制作两标准对象之间的对照表来实现。对照表中通过编码对照、几何类型对照、过滤控制、符号输出形式设置等,对转换后的数据进行控制。转换可分为导入和导出,导入是将其它标准的数据转换为现有标准数据,导出是将现有标准数据转换为其它标准数据。对照表制作示例如表1所示。
3.2. 转换脚本的编写
转换脚本可以在模板的转换对照关系定制和数据整理完成后,实现不同数据标准之间的转换。脚本的编写采用VBScript语言,对数据转换进行控制,脚本主要内容如下:
1) 转换路径设置:对转换后数据的路径进行设置;
2) 转换格式设置:对转换数据格式进行设置,不同的数字代表不同的数据格式;
3) 转换对照表调用:对控制转换对照关系的对照表进行调用;
4) 转换范围设置:对转换后的数据范围进行设置;
5) 转换图层设置:对转换图层对照进行设置。
6) 转换数据结构设置:对转换数据属性结构进行设置,主要包括字段对照关系、转换后的字段类型、字段名称、字段长度、字段内容等。
转换脚本的编写,可根据需求嵌入数据处理内容,以在数据转换的同时对数据进行处理,扩展执行脚本的功能。
3.3. 数据整理
数据整理是为了弥补在模板转换关系定制过程中无法满足数据需求而进行的二次加工。主要包括特定需求的符号化定制、数据处理和检查脚本的编写等。符号化定制可在模板中进行,也可在软件的地物模板设置中进行。数据处理和检查可在软件的编辑、绘图、工具菜单下进行,也可以利用脚本进行二次开发,以满足数据处理的特定需求。
3.4. 数据转换
数据转换即利用已编写的数据转换脚本对已有数据进行转换,以达到不同标准数据共享的目的。多个数据单元可进行批量转换,转换成功与否可通过数据转换日志进行查看。
表1. 数据转换对照表
4. 实际应用
EPS2008地理信息工作站的模板映射技术和脚本二次开发技术在济南市基础地理信息公共平台的数据生产中得到了广泛应用。所有转换基于2011年济南市地理信息数据标准(简称济南市数据标准,数据为济南市标准数据)进行,即其它标准数据首先转换到济南市数据标准,然后在济南市标准数据基础上进行满足平台数据标准的转换。
4.1. 其它标准数据与济南市标准数据的转换
其它标准数据主要包括济南市“一张蓝图”数据和济南市规划局申请的其它标准数据,皆为平台建设初期使用。其中“一张蓝图”数据包括393平方公里的1:500数据、1872平方公里的1:2000数据和1703平方公里的1:5000数据,其它标准数据主要为济南市外围的数据。数据生产过程中,通过制作模板转换对照表、编写转换脚本和处理脚本,将其它标准数据无损转换为济南市标准数据。以下为部分脚本代码:
objType = SSProcess.GetSelGeoValue (i, SSObj_Type)‘获取原有数据几何类型
ObjCode = SSProcess.GetSelGeoValue (i, [YSDM])‘获取原有数据要素代码
If objType = POINTThen ‘判断如果为点
condition = Feature.Byname =' & ObjCode & '‘判断是否与对照表中的代码相等
epscode = SSProcess.FindFeatureCode (FeatureCodeTB_2000MDBIN, condition ) ‘获取与旧代码对应的新编码
if epscode<> Then
layername=SSProcess.GetFeatureCodeInfo( epscode, LayerName )‘获取新编码的层名
Color=SSProcess.GetFeatureCodeInfo( epscode, LineColor )‘获取新编码的线颜色
SSProcess.SetSelGeoValueiSSObj_Code, CLng(epscode) ‘给此点对象赋新编码
SSProcess.SetSelGeoValueiSSObj_LayerName,layername‘给此点对象赋新层名
SSProcess.SetSelGeoValueiSSObj_Color, Color‘此点对象赋新线颜色
name = SSProcess.GetSelGeoValue(i[TEXT_])‘读取点名称
If name <> Then SSProcess.SetSelGeoValue i[NAME],name‘赋点名称
angle = SSProcess.GetSelGeoValue(i[ANGLE]) ‘读取点角度
If angle <> Then SSProcess.SetSelGeoValue i[ANGLE],angle‘赋点角度
elev = SSProcess.GetSelGeoValue(i[ELEV])‘获取高程
If elev<> Then SSProcess.SetSelGeoValue i[ELEV],elev‘赋高程
end if
4.2. 济南市数据标准与公共平台数据的转换
济南市数据标准为济南市勘察测绘研究院2011年引进EPS2008地理信息工作站时结合济南市实际情况而制定的数据标准,是济南市基础地理信息动态更新数据所遵行的标准,平台标准的数据皆基于以此数据标准为基准转换后的数据进行转换。此标准数据转换到平台标准数据除需要制作转换模板、编写转换脚本之外,还需根据平台符号化的需求,对EPS数据中的部分地物符号化表现进行调整,同时进行符号化输出,以满足平台电子地图表现的需求,模板中部分符号导出的设置(Explode值设为1即表示此地物符号化导出)如表2所示。

Table 2. Symbol export setting in the template
表2. 模板中符号导出设置
5. 结束语
灵活的模板信息映射机制、简单易学的脚本二次开发技术是EPS2008地理信息工作站服务于济南市基础地理信息公共平台数据转换的两个核心技术,通过在平台数据实际生产工作中将以上技术整合利用,充分发挥了工作站集约、便利、灵活的优势,在规范数据生产流程和提高数据成果质量的同时,大大提高了数据生产效率。