羅國夫 鄭禮飛 蔣霖
[摘要]根據(jù)國標(biāo)《CB/T 17986.1 - 2000房產(chǎn)測(cè)量規(guī)范第1單元:房產(chǎn)測(cè)量規(guī)定》和《GB/T 17986.2 -2000房產(chǎn)測(cè)量規(guī)范第2單元:房產(chǎn)圖圖式》,利用AutoCAD圖元擴(kuò)展實(shí)體數(shù)據(jù),使用Visual LISP語言,在Au-toCAD平臺(tái)上開發(fā)一套輕量化的房產(chǎn)測(cè)繪系統(tǒng),用于房產(chǎn)測(cè)繪生產(chǎn)和高校房產(chǎn)測(cè)繪課程教學(xué)。
[關(guān)鍵詞]房產(chǎn)測(cè)繪系統(tǒng);AutoCAD擴(kuò)展實(shí)體數(shù)據(jù);Visual LISP
文章編號(hào):2095-4085(2019)06-0012-03
隨著城市建設(shè)和房產(chǎn)交易在我國的發(fā)展,為房產(chǎn)確權(quán),發(fā)證提供服務(wù)的房產(chǎn)測(cè)繪變得尤為重要。目前市場(chǎng)的主流的房產(chǎn)測(cè)繪系統(tǒng)不論是在AutoCAD上進(jìn)行開發(fā),還是在地理信息系統(tǒng)軟件(Geographic Infor-mation System,簡稱GIS)上進(jìn)行開發(fā),普遍都使用了第三方數(shù)據(jù)庫或是GIS核心數(shù)據(jù)庫來管理房產(chǎn)測(cè)繪屬性數(shù)據(jù)。然而,房產(chǎn)測(cè)繪涉及的屬性數(shù)據(jù),數(shù)據(jù)數(shù)量相對(duì)比較少,數(shù)據(jù)量也比較小,關(guān)系簡單。為幾兆甚至幾百KB的數(shù)據(jù)而使用數(shù)據(jù)庫增加了軟件的體量,也增加了用戶使用成本,還造成用戶數(shù)據(jù)文件的繁雜。本系統(tǒng)嘗試使用AutoCAD圖元擴(kuò)展實(shí)體數(shù)據(jù)代替數(shù)據(jù)庫來存儲(chǔ)房產(chǎn)測(cè)繪的屬性數(shù)據(jù)。
AutoCAD作為國際上最流行的CAD繪圖軟件在國內(nèi)的應(yīng)用廣泛。自11.0版本以后,Autodesk公司在AutoCAD引入了擴(kuò)展實(shí)體數(shù)據(jù)的概念,為廣大用戶提供了更強(qiáng)的二次開發(fā)功能。借助擴(kuò)展實(shí)體數(shù)據(jù),用戶可以很方便地在圖形實(shí)體中按不同的需求分門別類地存取不同的非圖形數(shù)據(jù),如房產(chǎn)測(cè)繪中的權(quán)屬人信息,面積計(jì)算方式,面積分?jǐn)傂畔?,設(shè)計(jì)人員關(guān)心產(chǎn)品的材料,重量,而財(cái)務(wù)人員則關(guān)心產(chǎn)品的成本,價(jià)格等。眾所周知,利用”塊”屬性可以存取非圖形數(shù)據(jù),而且這也是在AutoCAD 11.0版本以前用戶能夠在圖形中存取非圖形數(shù)據(jù)的唯一方法,而每個(gè)需要存取非圖形數(shù)據(jù)的圖元都轉(zhuǎn)換成塊不僅不方便,而且也不好現(xiàn)實(shí),現(xiàn)在通過擴(kuò)展實(shí)體數(shù)據(jù),非圖形數(shù)據(jù)的存取都可以依附在每一個(gè)實(shí)體數(shù)據(jù)之后,變得更加靈活,方便。帶有屬性的圖形,其文件無需有對(duì)應(yīng)第三方數(shù)據(jù)庫屬性文件即可存儲(chǔ)為一個(gè)標(biāo)準(zhǔn)的AutoCADDWG格式文件,數(shù)據(jù)存儲(chǔ)更為直觀,使用更為簡單。
1系統(tǒng)分析
房產(chǎn)測(cè)繪系統(tǒng)所針對(duì)的主要用戶是房地產(chǎn)測(cè)繪單位,其最終目標(biāo)是輔助測(cè)繪人員快速繪制出房屋的分層分戶平面圖,并以最新的國家標(biāo)準(zhǔn)為基礎(chǔ)計(jì)算出所測(cè)房屋的套內(nèi)面積和公共分?jǐn)偯娣e,統(tǒng)計(jì)各類信息,生成統(tǒng)計(jì)表格及自動(dòng)配置圖形,以此提高圖形繪制和面積計(jì)算,分?jǐn)偟乃俣?,改善配發(fā)房產(chǎn)證的工作效率和工作質(zhì)量。要實(shí)現(xiàn)上述目標(biāo),系統(tǒng)至少需要實(shí)現(xiàn)以下6個(gè)方面的基本功能。
(1)繪圖功能 能便利的按規(guī)范繪制房產(chǎn)分層分戶圖。房屋丈量,繪圖時(shí)難免產(chǎn)生錯(cuò),漏等情況,系統(tǒng)還需便于修改繪制錯(cuò)誤的部分。
(2)面積量算功能 面積量算是房產(chǎn)測(cè)繪的核心功能,確定每一功能區(qū)域的面積大小是最基本的功能。
(3)屬性錄入功能 實(shí)際房屋的每一區(qū)域都有特定的功能,或是屬于公共區(qū)域,或是屬于某一權(quán)屬單元,某些區(qū)域計(jì)算全部面積,某些區(qū)域只計(jì)算一半的面積。繪制房產(chǎn)圖時(shí)還需指定每一區(qū)域的功能屬性,哪個(gè)區(qū)域?qū)儆谀囊粰?quán)屬單元,哪一戶,公共區(qū)域分配到哪些區(qū)域等情況均需一一指定。
(4)分?jǐn)傆?jì)算功能 按規(guī)范或協(xié)議的規(guī)定進(jìn)行公共面積的分?jǐn)傆?jì)算工作。
(5)報(bào)表輸出功能能根據(jù)規(guī)范或?qū)嶋H需要輸出各種成果報(bào)表。
(6)出圖功能 按規(guī)范規(guī)定和實(shí)際需要輸出分層,分戶等圖件。
2系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)
2.1系統(tǒng)作業(yè)流程設(shè)計(jì)
規(guī)范的系統(tǒng)作業(yè)流程是搭建系統(tǒng)框架的前提,通過對(duì)房產(chǎn)測(cè)繪單位實(shí)際工作過程的分析,設(shè)計(jì)出房產(chǎn)測(cè)繪系統(tǒng)的主要流程,包括環(huán)境定制,房產(chǎn)繪圖,屬性錄入,面積分?jǐn)?,?bào)表輸出,分戶圖輸出等具體過程。
2.2 系統(tǒng)模塊劃分與功能設(shè)計(jì)
2.2.1定義系統(tǒng)環(huán)境模塊
主要定義繪圖中用到的圖層,顏色,線型,字型,字高(根據(jù)比例尺)等。繪制房產(chǎn)圖主要是根據(jù)《GBT 17986.1-2000房產(chǎn)測(cè)量規(guī)范第1單元:房產(chǎn)測(cè)量規(guī)定》和《GBT 17986.2- 2000房產(chǎn)測(cè)量規(guī)范第2單元:房產(chǎn)圖圖式》規(guī)范中符號(hào)形狀,符號(hào)大小,線型粗細(xì)虛實(shí)等規(guī)定來繪制的,這些符號(hào)等繪圖規(guī)定事前根據(jù)規(guī)范進(jìn)行定義,簡化繪圖圖形屬性的設(shè)置和便于統(tǒng)一繪制。
2.2.2屬性錄入模塊
將分層圖中每一計(jì)算區(qū)域統(tǒng)一編號(hào),定義為圖元號(hào)。將該區(qū)域面積系數(shù),圖元性質(zhì),共同層數(shù),所在層次,分組標(biāo)識(shí),單元標(biāo)識(shí)(權(quán)屬信息)等信息錄入到該圖元號(hào)擴(kuò)展實(shí)體數(shù)據(jù)。圖元號(hào)承載該面積區(qū)域的所有信息數(shù)據(jù),包括其對(duì)應(yīng)的計(jì)算面積區(qū)域的對(duì)應(yīng)計(jì)算面積的線。
2.2.3面積分?jǐn)偰K
將每一相同性質(zhì)區(qū)域的所有圖元進(jìn)行分組,并賦予組名。根據(jù)規(guī)范,指定共用組分?jǐn)偟降姆秶?,如有多?jí)分?jǐn)?,系統(tǒng)將自動(dòng)進(jìn)行多級(jí)分?jǐn)傆?jì)算。
2.2.4報(bào)袁輸出模塊
按規(guī)范要求和實(shí)際需要輸出各種報(bào)表,圖元面積表(每個(gè)區(qū)域的實(shí)際面積表),分組面積表(功能性質(zhì)相同的每個(gè)區(qū)域統(tǒng)計(jì)為一個(gè)組)。共有建筑面積分?jǐn)傉J(rèn)定表(認(rèn)定每個(gè)公共區(qū)域的分?jǐn)偳闆r),分?jǐn)傁禂?shù)表,建筑面積結(jié)果表等。
2.2.5分戶圖輸出模塊
主要是實(shí)現(xiàn)根據(jù)分層圖和分?jǐn)傆?jì)算后建筑面積結(jié)果表,按規(guī)范要求自動(dòng)制作每一戶的分戶圖。以便打印輸出圖件。
3系統(tǒng)實(shí)現(xiàn)
3.1開發(fā)工具
LISP是ListProcessor(表處理程序)的縮寫,主要用于人工智能(AI)領(lǐng)域。AutoLISP是人工智能語言CommonLISP的簡化版本。Autodesk公司在Auto-CAD2.1版引入AutoCAD作為應(yīng)用程序編程接口(APl),用于擴(kuò)展和自定義AutoCAD功能。借助Au-toLISP,用戶可以用適合編寫圖形應(yīng)用程序的強(qiáng)大的高級(jí)語言來編寫宏程序和函數(shù),并開發(fā)各種軟件包。AutoLISP易于使用,并且非常靈活,多年來一直是自定義AutoCAD的標(biāo)準(zhǔn)。從AutoCADR14開始,VisualLISP被引入到AutoCAD中,它增強(qiáng)并擴(kuò)展了Au-toLISP語言,可以通過MicrosoftActiveXAutomation接口與對(duì)象交互,并擴(kuò)展了AutoLISP響應(yīng)事件的能力。作為開發(fā)工具,Visual LISP提供了一個(gè)完整的集成開發(fā)環(huán)境(IDE),包括編譯器,調(diào)試器和其他工具。本系統(tǒng)使用VisualLISP開發(fā)。
3.2定義擴(kuò)展實(shí)體數(shù)據(jù)
AutoCAD擴(kuò)展實(shí)體數(shù)據(jù)是在常規(guī)的圖形數(shù)據(jù)基礎(chǔ)上增加的按一系列分類代碼組合而成的數(shù)據(jù)塊,它與常規(guī)實(shí)體數(shù)據(jù)一起構(gòu)成內(nèi)容更加廣泛的實(shí)體數(shù)據(jù)。由于不同的應(yīng)用場(chǎng)合要求存取不同的數(shù)據(jù),因此擴(kuò)展實(shí)體數(shù)據(jù)按應(yīng)用類型分組,形式如下。
(-3(“AppName” (代碼.數(shù)據(jù)) (…))(“AppName”(代碣.數(shù)據(jù))(…))(…)))
其中,-3表示擴(kuò)展數(shù)據(jù)開始,AppName是最大長度為31字節(jié)的字符串,為已經(jīng)登記的應(yīng)用類型名,部分代碼及對(duì)應(yīng)的數(shù)據(jù)類型見下表。
((-1.<圖元名:7ef76f60>)(0.“TEXT”)(330.<圖元名:7ef5ecc0>)(5.“D8E4”)(100.“AcDbEntitv”)(67.0)(410.“Model”)(8.“圖元號(hào)”)(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(“對(duì)應(yīng)面積線”(1005.“D8E2”))(“性質(zhì)”(1000.“主套內(nèi)”))(“面積系數(shù)”(1040.1.0)) (“相同層數(shù)”(1070. 1》(“面積注記”(1005.“D8E5”))(“層次”(1000.“9”))(“樓房單元”(1000.“1單元”))("分組標(biāo)識(shí)”(1000.“1單元住宅套內(nèi)”))(“單元標(biāo)識(shí)”(1000.“1單元九層902”)) (“戶型” (1000.“23”))))
將房產(chǎn)測(cè)繪中涉及到的屬性數(shù)據(jù)信息,按數(shù)據(jù)庫優(yōu)化方式優(yōu)化設(shè)計(jì)后,用AutoCAD擴(kuò)展實(shí)體數(shù)據(jù)的應(yīng)用類型名AppName來表示其數(shù)據(jù)名稱列表,用(代碼.數(shù)據(jù))來表示數(shù)據(jù)。需要注意的是AutoCAD擴(kuò)展數(shù)據(jù)規(guī)定,不同的代碼表示的數(shù)據(jù),其數(shù)據(jù)類型是不同的,如1000定義字符串類型,1040定義實(shí)數(shù)類型等。轉(zhuǎn)換關(guān)系(參見圖1)。
3.3 系統(tǒng)模塊開發(fā)及關(guān)鍵算法實(shí)現(xiàn)
按功能模塊先定義每一模塊與各模塊之間的數(shù)據(jù)接口,然后獨(dú)立開發(fā)每一模塊功能。根據(jù)AutoCAD圖元及其圖元擴(kuò)展數(shù)據(jù)的數(shù)據(jù)離散特點(diǎn),將面積計(jì)算的圖元線,圖元編號(hào)注記,面積注記等與該圖元號(hào)有關(guān)的各cad圖元的的句柄都記錄在圖元號(hào)的擴(kuò)展實(shí)體數(shù)據(jù)里。這就將各面積計(jì)算線,各圖面注記數(shù)據(jù)等相關(guān)信息進(jìn)行了關(guān)聯(lián)。方便進(jìn)行編輯更新等操作時(shí)關(guān)聯(lián)數(shù)據(jù)統(tǒng)一更新。
共有建筑面積的分?jǐn)偹惴?。房屋共有面積逐區(qū)域,逐級(jí)分?jǐn)傆?jì)算。將每一公用區(qū)域面積分?jǐn)偟礁鲬?yīng)分?jǐn)偟降墓δ軈^(qū),其實(shí)質(zhì)是將該公用組分?jǐn)偟竭@個(gè)功能區(qū)的所有區(qū)域(包括公用區(qū)域),每個(gè)區(qū)域分到的數(shù)據(jù)是該公攤區(qū)域的系數(shù)乘以各功能區(qū)域面積。多級(jí)分?jǐn)倳r(shí),將功能區(qū)域內(nèi)公共區(qū)域分到的上一級(jí)的公共區(qū)域面積再分到功能區(qū)域內(nèi)公共區(qū)域應(yīng)分給的區(qū)域。依次類推,直到公共區(qū)域分給的區(qū)域內(nèi)沒有公共區(qū)域?yàn)橹?。由于每個(gè)區(qū)域分到的數(shù)據(jù)是該公攤區(qū)域的系數(shù)乘以各功能區(qū)域面積,不論是公共區(qū)域自身面積還是該公共區(qū)域分到上一級(jí)公共區(qū)域面積再往下分?jǐn)偟拿娣e。從各套內(nèi)區(qū)域的角度看,都是各公共區(qū)域的分?jǐn)傁禂?shù)乘以套內(nèi)區(qū)域面積后的累加。因此,在算法中,不再記錄各套內(nèi)區(qū)域分?jǐn)偟降墓矃^(qū)域面積,而是記錄該套內(nèi)區(qū)域每一級(jí)的分?jǐn)傁禂?shù),最后將分?jǐn)傁禂?shù)累加后再乘以套內(nèi)區(qū)域面積,即可得到該套內(nèi)區(qū)域應(yīng)分?jǐn)偟降墓矃^(qū)域總面積。
3.4系統(tǒng)應(yīng)用
基于AutoCAD圖元擴(kuò)展實(shí)體數(shù)據(jù)的房產(chǎn)測(cè)繪系統(tǒng)運(yùn)行在WINDOWS系統(tǒng),AutoCAD2006-2016版本平臺(tái)均可運(yùn)行。目前已在廣西有色勘察設(shè)計(jì)研究院,南寧天脈測(cè)繪有限責(zé)任公司,廣西南寧佳球測(cè)繪有限責(zé)任公司等生產(chǎn)單位房產(chǎn)測(cè)繪項(xiàng)目生產(chǎn)全面應(yīng)用。在廣西建設(shè)職業(yè)技術(shù)學(xué)院,作為測(cè)量專業(yè)房產(chǎn)測(cè)繪課程教學(xué)軟件。
4結(jié)語
基于AutoCAD圖元擴(kuò)展實(shí)體數(shù)據(jù)開發(fā)的房產(chǎn)測(cè)繪系統(tǒng)構(gòu)成簡單,只需一個(gè)編譯后的系統(tǒng)文件和菜單文件即可掛載在AutoCAD從2006-2016任一版本上運(yùn)行。數(shù)據(jù)文件只需常規(guī)的AutoCAD DWG文件,無需鏈接額外的數(shù)據(jù)等文件。房產(chǎn)測(cè)繪分?jǐn)傆?jì)算,分層分戶圖出圖操作簡單,極大的提高房產(chǎn)測(cè)繪的生產(chǎn)效率和成果質(zhì)量。
參考文獻(xiàn):
[1]陳伯雄,馮偉.Visual LISP for AutoCAD 2000程序設(shè)計(jì)——從學(xué)會(huì)到用好[M].北京:機(jī)械工業(yè)出版社,2000.
[2]郭朝勇.AutoCAD R14二次開發(fā)技術(shù)[M].北京:清華大學(xué)出版社,1999.
[3]程效軍.測(cè)量工程LISP程序設(shè)計(jì)[M].上海:同濟(jì)大學(xué)出版社,2012.
[4]GBT 17986,1-2000房產(chǎn)測(cè)量規(guī)范第1單元:房產(chǎn)測(cè)量規(guī)定[S].
[5]GBT17986,2-2000房產(chǎn)測(cè)量規(guī)范第2單元:房產(chǎn)圖圖式[s].
[6]AUTODESK Sia Pte Ltd.Autodesk地理信息系統(tǒng)解決方案[M].北京:電子工業(yè)出版社,2011.
[7]楊平,裴亞波,倫小偉,基于GIS技術(shù)的房產(chǎn)測(cè)繪系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪通報(bào),2005,(05):56-58.
[8]廖元焰,田傳浩,郭宗河,等.房地產(chǎn)測(cè)量(第3版,普通高等教育測(cè)繪類規(guī)劃教材)[M].北京:中國計(jì)量出版社,2016.
[9]洪波,地籍與房產(chǎn)測(cè)量[M].北京:測(cè)繪出版社,2010.
[10]李芹芳,張艷.地籍與房產(chǎn)測(cè)量[D].武漢:武漢大學(xué),2017.
[11]肖海蓉,任民宏,數(shù)據(jù)庫原理與應(yīng)用[M].北京:清華大學(xué)出版社,2016.
[12]鄭阿奇,劉啟芬,顧韻華.SQL Sever教程(第3版)[M].北京:清華大學(xué)出版社,2015.
[13]周明,董仁揚(yáng).Visual LISP程序設(shè)計(jì)及其應(yīng)用教程[M].上海:上??茖W(xué)技術(shù)文獻(xiàn)出版社,2008.
[14]謝書良程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2010.
[15]呂永江,房產(chǎn)測(cè)量規(guī)范與房地產(chǎn)測(cè)繪技術(shù)一房產(chǎn)測(cè)量規(guī)范有關(guān)技術(shù)說明[M].北京:中國標(biāo)準(zhǔn)出版社,2001.