Shapefile与CAD图形属性数据相互转换方法研究
2021-10-27刘凯程胡隽杉
刘凯程 胡隽杉
(1.东莞市测绘院,广东 东莞 523000;2.漯河市土地与房屋勘查测绘队,河南 漯河 462000)
0 引言
Shapefile文件的属性数据存储在与其根名相同的dbf文件中,CAD文件可以将图元对象的属性信息附加到与其关联的扩展数据 (XData)中。在ArcGIS中,可以直接在图层中添加CAD数据,也可以将Shapefile图形数据导出至CAD,但两者之间不能直接进行属性数据的转换。该文通过对Shapefile文件属性列表中的关键词段(数据类型为对象ID)和CAD图形中图元的对象ID(ObjectID)的对照研究,找出了二者之间的关联,进而使其属性数据能够进行相互转换。
1 Shapefile图形的对象ID与CAD图元的ObjectID对比分析
1.1 CAD图形的属性信息及扩展数据
为了试验和验证,该文结合“TEST宗地图 .dwg”文件的CAD 样予以说明。该文件中的宗地图用CASS软件绘制,已经添加了宗地号、权利人和地类号等属性数据。为了试验方便,删除了除界址线之外的所有图元。实际上,CASS的宗地属性数据就是附加在宗地图形上的扩展数据,其中最基本的属性数据存放在“SOUTH”应用下。
为了进行查验分析,用CAD自带的VBA开发工具编写一个宏“ElementInfo()”用来查询图元信息及扩展数据。该宏通过访问图元的ObjectID属性来获取其对象ID,通过调用图元的GetXData方法来获取其扩展数据,最后调用MsgBox()函数显示上述数据。
在CAD中打开文件“TEST宗地图.dwg”,运行宏ElementInfo(),选择图中的1个宗地界址线,将会弹出1个信息窗显示该宗地的图元对象ID及宗地属性(图1)。

图1 CASS软件宗地界址线的扩展数据
第一行为该宗地的图元对象ID值,数据类型为长整数(Long),在VBA中可通过访问图形对象的ObjectID属性获取。……
