APP下载

Microstation DGN到山维EPS地形数据转换研究

2022-05-21杨玉川

甘肃科技纵横 2022年3期
关键词:编码模板测绘

杨玉川

摘要:随着测绘地理信息行业的持续发展,新型地形图生产和应用对测绘数据提出了更高的要求。本论述结合当前测绘行业中制图与建库数据图库一体化生产的实际需要,通过对Microstation V7 DGN数据及山维EPS数据两种数据格式在结构和符号表达方面进行分析,在EPS平台环境下利用模板控制技术和编程的方法,采用建立数据对照关系和VbScript脚本的方法,实现了dgn数据到eps数据之间的转换,极大地提高了数据的交互利用和测绘产品的生产效率,可为今后跨平台数据转换提供参考经验。

关键词: Microstation V7;山维EPS;数据格式转换;VBScript脚本

中图分类号:P208             文献标志码:A

Microstation V7是一个可互操作的CAD平台,该平台编辑的图形格式为dgn。该平台提供完善的工具和开发环境,广泛应用于航测数字测图以及地形图编绘[1]。山维EPS平台则综合图形绘制平台(CAD)技术与地理信息系统(GIS)技术,以数据库为核心,将图形和属性一体化,从生产源头支持测绘成果的信息化,实现测量外业、内业、入库的一体化[2]。由于Microstation 与EPS 采用的是不同的数据组织方式和数据格式,二种数据之间不能直接进行交互转换,为图库一体化生产和数据深加工带来诸多不便。本论述通过分析两种不同的图形数据结构和符号表达方式,主要探索利用EPS模板控制技术和 VbScript 脚本将 Microstation V7版本的 dgn格式数据转换为EPS软件的格式数据的方法,实现数据交互利用。

1 Microstation图形数据结构分析

在 Microstation 软件中,层管理器和层显示器为创建的图形元素提供高效的管理办法,用户可以将创建好的图形元素分别指定在不同的层中,也可以在定义好的层中添加图形元素,从而对各元素实现集成且高效的管理[3]。图形数据之间则通过层、线型、颜色、线宽进行管理,单元、线、面、注记等要素通过线型库和单元库进行定义。

在 Microstation 中使用符号时,必须首先连接相应的符号库、单元库和字体库。用户可以结合自身生产现状,遵照《1∶500、1∶1000、1∶2000地形图图式》和《1∶500、1∶1000、1∶2000地形图要素编码》,通过单元库编辑和线型编辑器对单元库文件和线型库文件进行定义和编辑,实现要素的规范化表达和标准制定。

2 EPS 图形数据结构分析

在EPS平台中所有点、线、面对象都有一个唯一编码(Code),平台通过编码特征属性表FeatureCodeTB和 SymbolScriptTB来管理和定义数据要素,两表之间则以 Code(编码)为纽带。符号描述表中,EPS利用字符代码作为描述语言来绘制点、线、面、注记等要素,描述语言定义符号样式、线型、填充样式及复杂地物的嵌套关系;编码特征属性表中,则定义编码的符号化描述,并以编码为主导定义该编码所代表的实体,诸如实体类型、所属图层、颜色、线型、线宽等其他属性[4]。

3转换思路

在 EPS 平台中,利用 VbScript 脚本打开要转换的 Microstation 文件,读取要转换的所有图形元素,利用 SSProcess.GetSelGeoValue()和SSProcess.GetSelNoteVal? ue()方法获得元素的选择集。根据数据特点对匹配条件进行设置,判断获得的元素是哪一种类型的元素:直线、线串、复杂链、多边形、复杂多边形、弧、曲线、椭圆、单元、共享单元、文本节点、文本等,然后根据模板中类型、图层、颜色、线型、单元等对照关系,获取epscode编码,完成数据的转换[5]。

4数据格式转换

4.1模板定制

EPS工程模板作为EDB文件的基础,是一种Acess 文件型数据库,全面定义了EDB文件数据结构,包括地物编码、要素样式、基本属性、扩展属性等[6]。基于EPS 中 FeatureCodeTB 表,根据 Microstation 中要素的层名,颜色、线型、单元名等,定制地物要素转换对照表Featu? reCodeTB_DGNIN(见表1所列),及其注记要素转换对照表 NoteTemplateTB_DGNIN(见表2所列),用于数据转换时与epscode编码的对照[5]。

4.2数据转换脚本实现

在山维EPS软件脚本环境中,采用VBScript编写数据格式转换脚本,根据数据实际情况定制相应的数据对照模板,通过条件匹配,将DGN数据一一对应转换为 EPS 的编码数据,实现不同格式数据的无损转换。

4.2.1对象获取

通过SSProcess.GetSelGeoValue()函数获取对象类型,对需要调入的数据进行分类处理,获取对象的符号类型、層名、DGN 线型名称、单元名称和颜色号等信息。该功能主要代码如下:

SSObj_Type= SSProcess.GetSelGeoValue(i, "SSObj _ Type")

SSObj_LayerName= SSProcess.GetSelGeoValue (i, "SSObj_LayerName")

DGNLineStyleName= SSProcess.GetSelGeoValue (i, "[DGNLineStyleName]")

DgnCellName= SSProcess.GetSelGeoValue(i, "[DgnCellName]")

DgnColorIndex= SSProcess.GetSelGeoValue(i, "[DgnColorIndex]")8FFE0822-1633-45AD-A29B-D42F973F03ED

4.2.2点编码对照

设置点类型匹配条件,对类型为点的对象,若层名与调入表中的相符,单元名称与调入表中的别名相符,颜色与调入表中的色号相符,则获取调入表相符的 Code编码。点要素匹配条件主要代码如下:

condition ="Feature.GeoType=0 and Feature.Layer? Name ='"& SSObj_LayerName &"'and Feature.Byname ='"& DgnCellName &"'"&"and Feature.LineColor ="& DgnColorIndex

epscode = SSProcess.FindFeatureCode("FeatureCo? deTB_DGNIN", condition)

若匹配条件获取的编码不为空,则设置获取对象的ID,对象名称、X方向缩放系数和Y方向缩放系数,并将获取的eps编码赋值给该要素,完成数据转换。要素赋值代碼如下:

SSProcess.SetSelGeoValue i, "SSObj_ID", "0"  SSProcess.SetSelGeoValue i, "SSObj_Name", "" SSProcess.SetSelGeoValue i, "SSObj_ScaleX", "1"

SSProcess.SetSelGeoValue i, "SSObj_ScaleY", "1"

SSProcess.ResetSelGeoByCode i, CLng(epscode)4.2.3线要素编码对照

设置线要素匹配条件,对类型不为点且是否反向为1对象,若层名与调入表中的相符,别名与线型一致,调入表中色号与DGN色号一致,则获取调入表相符的 Code编码。线要素匹配条件主要代码如下:

condition="Feature.GeoType<>0 and Feature.Re? verse =1 and Feature.LayerName ='"& SSObj_LayerName &"'and Feature.Byname ='"& DGNLineStyleName &"'and Feature.LineColor ="& DgnColorIndex &""

SSProcess.ResetSelGeoByCode i, CLng(epscode)4.2.4注记要素编码对照

通过 SSProcess.GetSelNoteCount 函数获取注记数量,对注记进行遍历,获取注记的层面和颜色,设置匹配条件,若与对照表中的层名和颜色相符,则获取条件相符的注记分类号。注记要素匹配条件主要代码如下:

noteCount = SSProcess.GetSelNoteCount

NoteLayerName=SSProcess.GetSelNoteValue(i, "SSObj_LayerName")NoteColor = SSProcess.GetSelNote? Value(i, "[DgnColorIndex]")

matchConditions ="NoteTemplate.LayerName='"& NoteLayerName &"' and NoteTemplate.FontColor ="& NoteColor'

fontclass=SSProcess.FindNoteClass("NoteTempla? teTB_DGNIN", matchConditions )

5结束语

本论述通过探讨分析Microstation 和EPS 的图形数据结构,应用EPS模板对照技术,采用VbScript脚本的方式,提出一套完整的Microstation DGN 到山维EPS地形要素无损转换的解决方案,实现两种数据格式之间的转换,提高数据的交互利用,可为今后同类项目的建设提供参考经验。

参考文献:

[1]刘朋俊,尚俊玲,李引生,等.Microstation 软件在数字地形图测绘中的应用[J].勘察科学技术,2007(3):50-52.

[2]李其龙.清华山维EPS 内外业一体化的操作与应用[C]//云南省测绘地理信息学会2017年学术年会论文集,2017.

[3]王昌翰,何德平.DGN数据到ARC/IFO数据转换[J].城市勘测,2007(2):22-24.

[4]覃豪杰,黄彩军,方振华.清华山维EPS到南方CASS地形数据无损转换研究[J].地理空间信息,2013,11(3):88-89,92,3.

[5]张敏,林君强.基于模板对照的EPS到CASS 的全要素无损转换[J].龙岩学院学报,2019,37(2):14-18.

[6]蔡云镫.浅议EPS至CAD数据转换中的信息映射机制[J].科技展望,2015,25(17):116,118.8FFE0822-1633-45AD-A29B-D42F973F03ED

猜你喜欢

编码模板测绘
住院病案首页ICD编码质量在DRG付费中的应用
Inventors and Inventions
城市地籍测绘与不动产测绘中的问题探讨
浅析影响地质测绘质量的因素及提高措施
我国房地产测绘发展现状的浅谈
把握数学解题模板,轻松做题一二三
SOLIDWORKS Electrical清单模板定制方法
高效视频编码帧内快速深度决策算法
文档提效 用好WPS模板
不断修缮 建立完善的企业编码管理体系