作者:ffff  来源:博客园  发布时间:2008-08-25 13:31  阅读:170 次  原文链接   [收藏]  
‘/ 以下Shape 文件存在,不存在创建,并添加地籍需要
的字段,插入选择结果/
If Check - for - shapefile ( Path , ZH( I ,4) ) = False Then
  ‘/ 自己定义函数,按指定路径创建Shape 文件,添
加地籍需要的字段/
  Fun - Create - AddField ( Path)
End If
Set pNewFeatureClass = p TargetWorkspace. OpenFea2
tureClass (ZH( I ,4) ) ‘/ 打开shape/
Set pCursor = p FeatureClass. Search ( pQueryFilter ,
False) ‘/ 执行选择,获取选择指针/
Set p Feature = pCursor. Next Feature‘/ 游标指针指向
第一个位置的上面/
Do Until ( (p Feature Is Nothing) Or (bAbort) )‘/ 选择
不为空,根据指针遍历要素/
  Set p Geom = p Feature. ShapeCopy
  Set pBuffer. Shape = p Geom‘/ 获取要素的空间
范围/
  For i = 0 To p Feature. Fields. FieldCount —1‘/ 返
回所有字段的数目/
   ‘/ 代码略,循环选择要素的属性及其值/
  Next
  p Insert . Insert Feature pBuffer ‘/ 插入到shape
文件/
  Set p Feature = pCursor. Next Feature‘/ 游标指针
移动到下个位置/
 Loop‘/ 返回到Do 语句/
Next‘/ 移动到数组下一行位置/
213  程序运行结果
转换文件是根据辽宁省城镇地籍数据建库
分类标准编写的,利用转换程序对图形进行分类
转换,并利用程序添加了属性字段,经验证达到
38 现 代 测 绘     第30 卷
了辽宁省城镇地籍数据建库标准。
3  结 论
这种转换方法,利用ArcMap 内置的VBA 程
序,对DWG 数据根据转换文件,直接进行分类转
换,用户可以按需要,按图层(Layer) 、颜色(color) 、
线形(Linetype) 、厚度( Thickness) 、块名( Text ) 等
分类转换,也可以要求提取部分感兴趣的数据,用
户不必了解DWG 数据的存储格式,只需编辑转换
文件,程序就可以根据转换文件,提取不同的数据
并转为Shape 格式。本程序已经过实际的验证,结
果较好。因此,对于DWG 转为Shape 数据有一定
的意义。
参考文献
1  薛伟. MapObject 地理信息系统程序设计[M] . 北京:国
防工业出版社,2004
2  田鹏波,刘清. AutoCAD 到Map Info 的地形图转换[J ] .
城市勘测, 2003 (1) : 32 - 34
3  刘光,刘小东. 地理信息系统二次开发教程- VB. net 和
Mapobject 实现[M] . 北京:清华大学出版社,2004
4  王钰. 用VBA 开发AutoCAD 应用程序[M] . 北京:人
民邮电出版社,1999 : 97 - 145

相关文章: