基于CASS开发EXCEL批量导入宗地属性.doc

上传人:99****p 文档编号:1725889 上传时间:2019-03-13 格式:DOC 页数:9 大小:30.50KB
下载 相关 举报
基于CASS开发EXCEL批量导入宗地属性.doc_第1页
第1页 / 共9页
基于CASS开发EXCEL批量导入宗地属性.doc_第2页
第2页 / 共9页
基于CASS开发EXCEL批量导入宗地属性.doc_第3页
第3页 / 共9页
基于CASS开发EXCEL批量导入宗地属性.doc_第4页
第4页 / 共9页
基于CASS开发EXCEL批量导入宗地属性.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、基于 CASS 开发 EXCEL 批量导入宗地属性摘要: 本文陈述了基于 CASS 开发 EXCEL 批量导入宗地属性的必要性;阐述了 CASS 程序二次开发的原则;讨论了程序设计的具体流程;剖析了各程序模块的实现,并给出了部分典型代码;希望能给广大同行带来抛砖引玉的作用。 关键词:CASS,EXCEL,宗地,VBA 中图分类号:F291 文献标识码:A 宗地权属调查分为所有权调查和使用权调查两部分。城镇土地权属调查为宗地使用权调查,城镇城郊结合部、城中村也会牵涉宗地所有权调查,宗地权属调查为城镇土地调查核心,其调查质量的优劣,直接影响到宗地使用者、所有者权益,成果资料的使用。该项工作的技术性

2、、政策性、经验性强,各宗地划分标准不一,给调查工作带来较大难度,如何做好权属调查工作,提高调权属调查的录入速度,是调查单位面临的一大难题1。 南方 CASS 是目前国内广泛使用的地籍调查成图软件,因其功能强大,通俗易懂,便于操作且能与 GIS 软件进行数据无缝接口,被广泛应用于宗地权属调查。本文结合自身参与的城镇地籍与农村宅基地地籍调查项,探讨基于 CASS 开发 EXCEL 批量导入宗地属性,在现阶段具有一定的理论与实践意义。 1 开发语言 LISP 与 VBA 1.1 LISP 语言 AutoLISP 语言是一种运行在 AutoCAD 环境下的 LISP 编程语言,或称为 AutoCAD

3、的一种嵌入式语言。它采用了与 CommandLISP(一种通用的LISP 语言版本)相近的语法及习惯约定,并吸收了 LISP 语言的主要函数,同时增加了针对 AutoCAD 特点的许多功能,如:可以把 AutoLISP 和AutoCAD 的绘图命令透明地结合起来,使设计和绘图完全融为一体。利用AutoLISP 语言编程可以实现对 AutoCAD 当前图形数据库进行直接访问和修改。 在 LISP 语言中,最基本的数据类型是符号表达式。LISP 语言的特点是程序和数据都采用符号表达式的形式,即一个 LISP 程序可以把另一个LISP 程序作为它的数据进行处理。因此使用 LISP 语言编程十分灵活,

4、看起来是一个一个的函数调用。支持递归定义也是 Auto LISP 语言的重要特性。 AutoLISP 语言是提供给用户的主要二次开发工具之一。用 AutoLISP语言编写应用程序,可以为 AutoCAD 增加新的命令或修改 AutoCAD,以适应用户的特殊需要2。 1.2 VBA 语言 VBA 是新一代标准宏语言,是基于 Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而 VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种

5、操作并将其转换为 VBA 程序代码。这样用户可以容易地将日常工作转换为 VBA 程序代码,使工作自动化3。 因此,对于在工作中需要经常使用 CASS 套装软件的用户,学用 VBA 有助于使工作自动化,提高工作效率。另外,由于 VBA 可以直接应用CASS 套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。 2 开发依据与原则 基于 CASS 开发 EXCEL 批量导入宗地属性程序的开发依据与原则如下:(1) 设计依据为最新地籍调查有关设计规范、制图标准以及设计手册等;保证数据库、计算方法和设计方法的准确性。 (2) 软件包开发设计首先要突出专业水平,把专业设计思想转化为

6、计算机语言是专业软件包的关键所在。 (3) 符合设计人员思维习惯及设计习惯,人机界面友好,操作简单,易掌握。 (4) 适用性强,容易修改,容易扩充,容易发展。 (5) 尽量使用效率高、功能强的计算机语言及开发工具。 (6) 严格执行标准化及规范化。 (7) 通过数据库的内部设计与读取,提高宗地属性的输入速度,真正发挥计算机的优势,把项目技术人员从繁重的生产工作中解脱出来。 3 程序设计流程图 基于 CASS 开发 EXCEL 批量导入宗地属性程序设计流程图如图 1 所示:图 1 程序设计流程图 4 程序实现 4.1 EXCEL 接口 首先新建或者打开已有的 Excel 工作薄,在 AutoCA

7、D VBA 编辑器中选择“工具”菜单一“引用” ,选择合适的 Microsoft Excel Object Library。然后声明Exce1Application、Exce1Workbook、Exce1Worksheet 对象各一个,用 Getobject 函数实现 AutoCAD VBA 对 Excel 的自动控制。下面是实现这个功能的部分典型程序代码如下: Private Sub UserForm_Initialize() lstFile.Clear If Left(Version, 2) = “15“ Then Set objDBX = CreateObject(“ObjectDBX.

8、AxDbDocument.1“) Set objDBX22 = CreateObject(“ObjectDBX.AxDbDocument.1“) ElseIf Left(Version, 2) = “16“ Then Set objDBX = CreateObject(“ObjectDBX.AxDbDocument.16“) Set objDBX22 = CreateObject(“ObjectDBX.AxDbDocument.16“) ElseIf Left(Version, 2) = “17“ Then Set objDBX = CreateObject(“ObjectDBX.AxDbDo

9、cument.17“) Set objDBX22 = CreateObject(“ObjectDBX.AxDbDocument.17“) End If End Sub 4.2 CASS 宗地属性读取 CASS 的宗地属性存储于软件的内部 MDB 数据库中,可以通过对 MDB数据库的读取,实现 CASS 宗地属性的提取,该模块程序的部分典型代码如下: Dim sFiles() As String TreeSearch “c:123“ ,“.xls“,a() Dim strcopy As String If copyText.Text = “ Then MsgBox “请添加地籍图目录!“ Exi

10、t Sub End If If pasteText.Text = “ Then MsgBox “请添加地形图目录!“ Exit Sub End If strcopy = copyText.Text lstFile.Clear TreeSearch strcopy, “*.dwg“, sFiles() Dim adText As AcadText Dim adMText As AcadMText Dim adSS As AcadSelectionSet Dim fType(0 To 1) As Integer, fData(0 To 1) Dim i As Integer If lstFile.

11、ListCount = 0 Then MsgBox “请添加所要操作的图形!“ Exit Sub End If 4.3 CASS 与 EXCEL 衔接 CASS 与 EXCEL 衔接主要是通过软件的开放接口,该模块程序的部分典型代码如下: Public Exeelapp As Exce1Application Public Excelbook As Exce1WorkbookceI 工作簿对象 Pubhc Excelsheet As Exce1Wl0rksheetcel 工作表对象 Public Sub Lianexcel() 连接 Excel 的 Sub 过程 Msg Boxvb Cr Lf

12、 “现在准备连接 Excel 工作表!”&vbCrLf& “请确认 Excel 工作表已经打开!” , 64, ”欢迎使用 CASS 开发 EXCEL 批量导入宗地属性程序!” 连接Excel 之前要确保有已打开的 Excel 工作簿 Set Excelapp=Get Object(, ”Exce1application”)连接 Excel工作簿 Msg Box”连接 Excel 工作簿成功!” ,64, “欢迎使用 CASS 断面系统!”ExcelappVisible=True设置工作簿可见 Set Excelsheet=ExcelappActive Sheet 给工作表赋值 End Sub

13、 结束 Sub 过程。 4.4 EXCEL 数据导入 CASS 宗地属性 该模块是程序最重要的核心模块,程序的部分典型代码如下: Private Sub droplayer(ByVal road As String) On Error Resume Next If Err.Number = -2147352567 Then Err.Clear Exit Sub End If objDBX.Open road Dim t As AcadEntity For Each t In objDBX.ModelSpace ThisDrawing.Layers.Item(“TK“) If t.Layer “

14、JZD“ And t.Layer “JZP“ And t.Layer “0“ Then t.Delete End If Next objDBX.SaveAs road End Sub 5 小 结 本文针对实践中碰到的基于 CASS 批量导入 EXCEL 宗地属性问题,根据 CASS 数据库结构与 EXCEL 开放接口方案,基于 CASS 基础上用 LISP 与VBA 语言开发 CASS 批量导入 EXCEL 宗地属性程序。程序虽然针对大数据运行速度有限,但却从根本上解决了 CASS 与 EXCEL 的衔接。本文论述由浅入深,希望能对广大从事 CASS 软件行业的同行带来一定的理论与实践意义。 参考文献 1 负小苏,等第二次全国土地调查培训教材M中国农业出版社,2007 2 望勇,朱海勇,陈宜金,等基于 MapGIS 和 AutoCAD 的土地整理现状图设计J测绘通报,2011(9):5961 3 南方测绘集团南方 CASS 软件使用手册Z

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。