基于AutoCAD图元扩展实体数据的房产测绘系统设计与实现

    罗国夫 郑礼飞 蒋霖

    

    

    [摘要]根据国标《CB/T 17986.1 - 2000房产测量规范第1单元:房产测量规定》和《GB/T 17986.2 -2000房产测量规范第2单元:房产图图式》,利用AutoCAD图元扩展实体数据,使用Visual LISP语言,在Au-toCAD平台上开发一套轻量化的房产测绘系统,用于房产测绘生产和高校房产测绘课程教学。

    [关键词]房产测绘系统;AutoCAD扩展实体数据;Visual LISP

    文章编号:2095-4085(2019)06-0012-03

    随着城市建设和房产交易在我国的发展,为房产确权,发证提供服务的房产测绘变得尤为重要。目前市场的主流的房产测绘系统不论是在AutoCAD上进行开发,还是在地理信息系统软件(Geographic Infor-mation System,简称GIS)上进行开发,普遍都使用了第三方数据库或是GIS核心数据库来管理房产测绘属性数据。然而,房产测绘涉及的属性数据,数据数量相对比较少,数据量也比较小,关系简单。为几兆甚至几百KB的数据而使用数据库增加了软件的体量,也增加了用户使用成本,还造成用户数据文件的繁杂。本系统尝试使用AutoCAD图元扩展实体数据代替数据库来存储房产测绘的属性数据。

    AutoCAD作为国际上最流行的CAD绘图软件在国内的应用广泛。自11.0版本以后,Autodesk公司在AutoCAD引入了扩展实体数据的概念,为广大用户提供了更强的二次开发功能。借助扩展实体数据,用户可以很方便地在图形实体中按不同的需求分门别类地存取不同的非图形数据,如房产测绘中的权属人信息,面积计算方式,面积分摊信息,设计人员关心产品的材料,重量,而财务人员则关心产品的成本,价格等。众所周知,利用”块”属性可以存取非图形数据,而且这也是在AutoCAD 11.0版本以前用户能够在图形中存取非图形数据的唯一方法,而每个需要存取非图形数据的图元都转换成块不仅不方便,而且也不好现实,现在通过扩展实体数据,非图形数据的存取都可以依附在每一个实体数据之后,变得更加灵活,方便。带有属性的图形,其文件无需有对应第三方数据库属性文件即可存储为一个标准的AutoCADDWG格式文件,数据存储更为直观,使用更为简单。

    1系统分析

    房产测绘系统所针对的主要用户是房地产测绘单位,其最终目标是辅助测绘人员快速绘制出房屋的分层分户平面图,并以最新的国家标准为基础计算出所测房屋的套内面积和公共分摊面积,统计各类信息,生成统计表格及自动配置图形,以此提高图形绘制和面积计算,分摊的速度,改善配发房产证的工作效率和工作质量。要实现上述目标,系统至少需要实现以下6个方面的基本功能。

    (1)绘图功能 能便利的按规范绘制房产分层分户图。房屋丈量,绘图时难免产生错,漏等情况,系统还需便于修改绘制错误的部分。

    (2)面积量算功能 面积量算是房产测绘的核心功能,确定每一功能区域的面积大小是最基本的功能。

    (3)屬性录入功能 实际房屋的每一区域都有特定的功能,或是属于公共区域,或是属于某一权属单元,某些区域计算全部面积,某些区域只计算一半的面积。绘制房产图时还需指定每一区域的功能属性,哪个区域属于哪一权属单元,哪一户,公共区域分配到哪些区域等情况均需一一指定。

    (4)分摊计算功能 按规范或协议的规定进行公共面积的分摊计算工作。

    (5)报表输出功能能根据规范或实际需要输出各种成果报表。

    (6)出图功能 按规范规定和实际需要输出分层,分户等图件。

    2系统的设计实现

    2.1系统作业流程设计

    规范的系统作业流程是搭建系统框架的前提,通过对房产测绘单位实际工作过程的分析,设计出房产测绘系统的主要流程,包括环境定制,房产绘图,属性录入,面积分摊,报表输出,分户图输出等具体过程。

    2.2 系统模块划分与功能设计

    2.2.1定义系统环境模块

    主要定义绘图中用到的图层,颜色,线型,字型,字高(根据比例尺)等。绘制房产图主要是根据《GBT 17986.1-2000房产测量规范第1单元:房产测量规定》和《GBT 17986.2- 2000房产测量规范第2单元:房产图图式》规范中符号形状,符号大小,线型粗细虚实等规定来绘制的,这些符号等绘图规定事前根据规范进行定义,简化绘图图形属性的设置和便于统一绘制。

    2.2.2属性录入模块

    将分层图中每一计算区域统一编号,定义为图元号。将该区域面积系数,图元性质,共同层数,所在层次,分组标识,单元标识(权属信息)等信息录入到该图元号扩展实体数据。图元号承载该面积区域的所有信息数据,包括其对应的计算面积区域的对应计算面积的线。

    2.2.3面积分摊模块

    将每一相同性质区域的所有图元进行分组,并赋予组名。根据规范,指定共用组分摊到的范围,如有多级分摊,系统将自动进行多级分摊计算。

    2.2.4报袁输出模块

    按规范要求和实际需要输出各种报表,图元面积表(每个区域的实际面积表),分组面积表(功能性质相同的每个区域统计为一个组)。共有建筑面积分摊认定表(认定每个公共区域的分摊情况),分摊系数表,建筑面积结果表等。

    2.2.5分户图输出模块

    主要是实现根据分层图和分摊计算后建筑面积结果表,按规范要求自动制作每一户的分户图。以便打印输出图件。

    3系统实现

    3.1开发工具

    LISP是ListProcessor(表处理程序)的缩写,主要用于人工智能(AI)领域。AutoLISP是人工智能语言CommonLISP的简化版本。Autodesk公司在Auto-CAD2.1版引入AutoCAD作为应用程序编程接口(APl),用于扩展和自定义AutoCAD功能。借助Au-toLISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。AutoLISP易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。从AutoCADR14开始,VisualLISP被引入到AutoCAD中,它增强并扩展了Au-toLISP语言,可以通过MicrosoftActiveXAutomation接口与对象交互,并扩展了AutoLISP响应事件的能力。作为开发工具,Visual LISP提供了一个完整的集成开发环境(IDE),包括编译器,调试器和其他工具。本系统使用VisualLISP开发。

    3.2定义扩展实体数据

    AutoCAD扩展实体数据是在常规的图形数据基础上增加的按一系列分类代码组合而成的数据块,它与常规实体数据一起构成内容更加广泛的实体数据。由于不同的应用场合要求存取不同的数据,因此扩展实体数据按应用类型分组,形式如下。

    (-3(“AppName” (代码.数据) (…))(“AppName”(代碣.数据)(…))(…)))

    其中,-3表示扩展数据开始,AppName是最大长度为31字节的字符串,为已经登记的应用类型名,部分代码及对应的数据类型见下表。

    ((-1.)(0.“TEXT”)(330.)(5.“D8E4”)(100.“AcDbEntitv”)(67.0)(410.“Model”)(8.“图元号”)(62.3)(6.“Continuous”)(100.“AcDb-Text”)(10 99945.9 27120.7 0.0) (40.0.78)(1."170")(50.0.0)(41.0.5)(51.0.0)(7. “hztxt”) (71.O) (72.1) ( 11 99946.327120.7 0.O)(210 0.0 0.0 1.0)(100.“AcD-bText”)(73.0)(-3(“对应面积线”(1005.“D8E2”))(“性质”(1000.“主套内”))(“面积系数”(1040.1.0)) (“相同层数”(1070. 1》(“面积注记”(1005.“D8E5”))(“层次”(1000.“9”))(“楼房单元”(1000.“1单元”))("分组标识”(1000.“1单元住宅套内”))(“单元标识”(1000.“1单元九层902”)) (“户型” (1000.“23”))))

    将房产测绘中涉及到的属性数据信息,按数据库优化方式优化设计后,用AutoCAD扩展实体数据的应用类型名AppName来表示其数据名称列表,用(代码.数据)来表示数据。需要注意的是AutoCAD扩展数据规定,不同的代码表示的数据,其数据类型是不同的,如1000定义字符串类型,1040定义实数类型等。转换关系(参见图1)。

    3.3 系统模块开发及关键算法实现

    按功能模块先定义每一模块与各模块之间的数据接口,然后独立开发每一模块功能。根据AutoCAD图元及其图元扩展数据的数据离散特点,将面积计算的图元线,图元编号注记,面积注记等与该图元号有关的各cad图元的的句柄都记录在图元号的扩展实体数据里。这就将各面积计算线,各图面注记数据等相关信息进行了关联。方便进行编辑更新等操作时关联数据统一更新。

    共有建筑面积的分摊算法。房屋共有面积逐区域,逐级分摊计算。将每一公用区域面积分摊到各应分摊到的功能区,其实质是将该公用组分摊到这个功能区的所有区域(包括公用区域),每个区域分到的数据是该公摊区域的系数乘以各功能区域面积。多级分摊时,将功能区域内公共区域分到的上一级的公共区域面积再分到功能区域内公共区域应分给的区域。依次类推,直到公共区域分给的区域内没有公共区域为止。由于每个区域分到的数据是该公摊区域的系数乘以各功能区域面积,不论是公共区域自身面积还是该公共区域分到上一级公共区域面积再往下分摊的面积。从各套内区域的角度看,都是各公共区域的分摊系数乘以套内区域面积后的累加。因此,在算法中,不再记录各套内区域分摊到的公共区域面积,而是记录该套内区域每一级的分摊系数,最后将分摊系数累加后再乘以套内区域面积,即可得到该套内区域应分摊到的公共区域总面积。

    3.4系统应用

    基于AutoCAD图元扩展实体数据的房产测绘系统运行在WINDOWS系统,AutoCAD2006-2016版本平台均可运行。目前已在广西有色勘察设计研究院,南宁天脉测绘有限责任公司,广西南宁佳球测绘有限责任公司等生产单位房产测绘项目生产全面应用。在广西建设职业技术学院,作为测量专业房产测绘课程教學软件。

    4结语

    基于AutoCAD图元扩展实体数据开发的房产测绘系统构成简单,只需一个编译后的系统文件和菜单文件即可挂载在AutoCAD从2006-2016任一版本上运行。数据文件只需常规的AutoCAD DWG文件,无需链接额外的数据等文件。房产测绘分摊计算,分层分户图出图操作简单,极大的提高房产测绘的生产效率和成果质量。

    参考文献:

    [1]陈伯雄,冯伟.Visual LISP for AutoCAD 2000程序设计——从学会到用好[M].北京:机械工业出版社,2000.

    [2]郭朝勇.AutoCAD R14二次开发技术[M].北京:清华大学出版社,1999.

    [3]程效军.测量工程LISP程序设计[M].上海:同济大学出版社,2012.

    [4]GBT 17986,1-2000房产测量规范第1单元:房产测量规定[S].

    [5]GBT17986,2-2000房产测量规范第2单元:房产图图式[s].

    [6]AUTODESK Sia Pte Ltd.Autodesk地理信息系统解决方案[M].北京:电子工业出版社,2011.

    [7]杨平,裴亚波,伦小伟,基于GIS技术的房产测绘系统设计与实现[J].测绘通报,2005,(05):56-58.

    [8]廖元焰,田传浩,郭宗河,等.房地产测量(第3版,普通高等教育测绘类规划教材)[M].北京:中国计量出版社,2016.

    [9]洪波,地籍与房产测量[M].北京:测绘出版社,2010.

    [10]李芹芳,张艳.地籍与房产测量[D].武汉:武汉大学,2017.

    [11]肖海蓉,任民宏,数据库原理与应用[M].北京:清华大学出版社,2016.

    [12]郑阿奇,刘启芬,顾韵华.SQL Sever教程(第3版)[M].北京:清华大学出版社,2015.

    [13]周明,董仁扬.Visual LISP程序设计及其应用教程[M].上海:上海科学献出版社,2008.

    [14]谢书良程序设计基础[M].北京:清华大学出版社,2010.

    [15]吕永江,房产测量规范与房地产测绘技术一房产测量规范有关技术说明[M].北京:中国标准出版社,2001.