藍(lán)陳玉 許 暉
(1.寧波市鄞州區(qū)測(cè)繪院 浙江寧波 315000;2.寧波冶金勘察設(shè)計(jì)研究股份有限公司 浙江寧波 315000)
房產(chǎn)測(cè)繪作為國(guó)家實(shí)施不動(dòng)產(chǎn)登記和管理的主要工作,關(guān)系著人民群眾的切身利益和社會(huì)的穩(wěn)定發(fā)展。房產(chǎn)測(cè)繪的主要內(nèi)容包括準(zhǔn)備工作、房產(chǎn)調(diào)查、房產(chǎn)測(cè)量、成果驗(yàn)收等四個(gè)環(huán)節(jié);而房產(chǎn)測(cè)量又包括房產(chǎn)平面控制測(cè)量、房產(chǎn)要素測(cè)量、房產(chǎn)圖繪制、房產(chǎn)面積測(cè)算、房產(chǎn)變更測(cè)量等步驟,其中,房產(chǎn)變更測(cè)量作為房產(chǎn)測(cè)量中重要組成部分,是房產(chǎn)測(cè)繪的經(jīng)常性工作之一。但是現(xiàn)有的房產(chǎn)更變工作程序繁瑣、效率低下且容易出錯(cuò)。因此,有必要對(duì)現(xiàn)有的房產(chǎn)變更測(cè)繪工作進(jìn)行改進(jìn),以實(shí)現(xiàn)及時(shí)、準(zhǔn)確的房產(chǎn)變更測(cè)量[1-3]。
房產(chǎn)測(cè)繪的最終成品是房產(chǎn)圖,而由于種種原因,房產(chǎn)圖是動(dòng)態(tài)變化的,為了確保房產(chǎn)圖的現(xiàn)勢(shì)性和真實(shí)性,對(duì)房產(chǎn)圖的自動(dòng)修改顯得尤其重要。但目前于房產(chǎn)圖的繪制大多數(shù)仍是采用內(nèi)外業(yè)分離的工作模式,這給房產(chǎn)圖測(cè)繪的工作效率和準(zhǔn)確性帶來(lái)一定的弊端。研究?jī)?nèi)外業(yè)一體的房產(chǎn)測(cè)繪模式,實(shí)現(xiàn)房產(chǎn)測(cè)繪圖形自動(dòng)更新及面積解算成為當(dāng)前房產(chǎn)測(cè)繪研究工作的主要目的之一[4-8]。
本文根據(jù)房產(chǎn)測(cè)繪理論和個(gè)人經(jīng)驗(yàn),提出了基于尺寸驅(qū)動(dòng)的圖形自動(dòng)更新與重繪算法以及基于輪廓跟蹤的面積求解算法,來(lái)實(shí)現(xiàn)房產(chǎn)測(cè)繪圖形自動(dòng)更新及面積解算。
圖形的約束主要包括結(jié)構(gòu)約束和尺寸約束兩個(gè)部分,結(jié)構(gòu)約束主要表示圖形幾何元素之間的拓?fù)浣Y(jié)構(gòu)關(guān)系,如平行、垂直、相切、相交等約束關(guān)系。一般而言,幾何約束是沒有方向的,且無(wú)向結(jié)構(gòu)約束也比有向結(jié)構(gòu)更加簡(jiǎn)單和易存儲(chǔ)。因此,可用無(wú)向圖來(lái)表達(dá)房屋圖形的結(jié)構(gòu)約束關(guān)系,并以鄰接表的形式來(lái)對(duì)結(jié)構(gòu)約束關(guān)系進(jìn)行存儲(chǔ)。尺寸約束是指圖形元素相互之間的尺寸關(guān)系,如距離、半徑、角度等。通常是可變的并以標(biāo)注尺寸的形式出現(xiàn),對(duì)于房產(chǎn)圖而言,最常用的是水平尺寸約束和垂直尺寸約束,每一個(gè)尺寸約束包括尺寸對(duì)象、被尺寸約束圖元、前驅(qū)圖元以及后繼圖元四個(gè)要素組成。
本文主要采用基于尺寸鏈約束的方式進(jìn)行圖形自動(dòng)更新。
設(shè)計(jì)思路:在進(jìn)行房屋參數(shù)化設(shè)計(jì)的過(guò)程中,通過(guò)分析圖形元素的相互約束關(guān)系,對(duì)圖形元素的幾何與拓?fù)湫畔⑦M(jìn)行提取。當(dāng)對(duì)圖形尺寸標(biāo)注信息進(jìn)行修改時(shí),系統(tǒng)就會(huì)自動(dòng)對(duì)圖形參數(shù)進(jìn)行求解和計(jì)算,得到更新后的圖形。然后再基于輪廓跟蹤的面積求解算法,得到更新圖形后的面積。實(shí)現(xiàn)房產(chǎn)測(cè)繪圖形自動(dòng)更新,面積解算流程見圖1。
圖1 房產(chǎn)測(cè)繪圖形自動(dòng)更新及面積解算流程示意圖
通過(guò)結(jié)構(gòu)約束和尺寸約束構(gòu)件好房屋參數(shù)化模型后,圖形將進(jìn)行自動(dòng)更新和重繪工作流程見圖2。
圖2 尺寸鏈自動(dòng)更新與圖形自動(dòng)重繪算法流程示意
其具體流程為:
(1)選擇驅(qū)動(dòng)圖元(尺寸),獲得驅(qū)動(dòng)圖元的尺寸類型及尺寸參數(shù)。
(2)修改驅(qū)動(dòng)圖元的尺寸值,分別計(jì)算出水平和垂直方向的尺寸驅(qū)動(dòng)變量ΔX 和ΔY。
(3)識(shí)別驅(qū)動(dòng)尺寸的類型,然后根據(jù)水平尺寸和垂直尺寸分別調(diào)用水平尺寸鏈表和垂直尺寸鏈表,并對(duì)尺寸鏈表進(jìn)行拓?fù)渑判?,確定變動(dòng)方向。
(4)通過(guò)搜尋尺寸鏈表和約束鄰接表,找出受驅(qū)動(dòng)尺寸變化影響相關(guān)聯(lián)的圖元對(duì)象及其尺寸。
(5)對(duì)相關(guān)圖元對(duì)象的變動(dòng)方式進(jìn)行確認(rèn),計(jì)算得到關(guān)聯(lián)圖元對(duì)象的新參數(shù)。
(6)根據(jù)圖元對(duì)象的新參數(shù)進(jìn)行房屋圖形自動(dòng)重繪[9]。
以某一房產(chǎn)戶型圖為例,隨機(jī)對(duì)水平尺寸和垂直尺寸進(jìn)行修改,得到修改后的尺寸值,經(jīng)系統(tǒng)自動(dòng)識(shí)別,分別調(diào)用對(duì)應(yīng)的水平尺寸鏈表和垂直尺寸鏈表,建立起房屋的參數(shù)化模型;通過(guò)遍歷尺寸鏈表和約束鄰接表,檢索得到與驅(qū)動(dòng)尺寸相關(guān)聯(lián)的尺寸和圖元(圖中紅色表示修改的尺寸、藍(lán)色表示關(guān)聯(lián)尺寸),然后系統(tǒng)自動(dòng)識(shí)別水平尺寸鏈和垂直尺寸鏈的變動(dòng)方向(本文所用圖形為水平方向向右,垂直方向向下),根據(jù)尺寸修改值獲取端點(diǎn)坐標(biāo)值,從而完成圖形的自動(dòng)重繪(見圖3)。
圖3 圖形自動(dòng)更新與重繪示意
圖形自動(dòng)更新和重繪后,房屋圖形的尺寸也隨之發(fā)生變化,那么其面積也必然發(fā)生改變。因此,在完成圖形的自動(dòng)更新和重繪過(guò)后,還需要對(duì)面積進(jìn)行重新解算。本文提出采用基于矢量圖形的輪廓跟蹤算法對(duì)重繪過(guò)后的房產(chǎn)圖形面積進(jìn)行自動(dòng)解算和標(biāo)注(見圖4)。
圖4 輪廓跟蹤算法流程示意
其基本流程為:
(1)以一個(gè)閉合圖形的某一線段為起始線段,分別確定輪廓起點(diǎn)和終點(diǎn)。
(2)以輪廓起點(diǎn)為開始點(diǎn),以順時(shí)針方向?yàn)楦櫡较?,獲得指向終點(diǎn)的向量1。
(3)將終點(diǎn)作為標(biāo)記點(diǎn),利用標(biāo)記點(diǎn)去跟蹤n 個(gè)后續(xù)點(diǎn),可獲得n 個(gè)由后續(xù)點(diǎn)指向標(biāo)記點(diǎn)的向量2。
(4)分別計(jì)算向量1 和向量2 的順時(shí)針夾角,得到n 個(gè)夾角值,將夾角最大時(shí)的向量作為閉合圖形的公共邊,并以向量2 作為下一個(gè)標(biāo)記點(diǎn),再利用這個(gè)標(biāo)記點(diǎn)去跟蹤后續(xù)點(diǎn)。
(5)重復(fù)第(3)、(4)步,直到下一個(gè)標(biāo)記點(diǎn)為起點(diǎn)時(shí),即可停止跟蹤,得到圖形的輪廓。
(6)最后再以公共邊向量的起點(diǎn)作為下一次輪廓跟蹤的起點(diǎn),再重復(fù)(2)~(5)步,直到所有的輪廓都跟蹤搜索完畢為止[10]。
選取直線段AB 作為起始線段,A 為起點(diǎn),B 為終點(diǎn),記為向量AB,以A 點(diǎn)為輪廓起點(diǎn)開始順時(shí)針方向搜索,以終點(diǎn)B 為標(biāo)記點(diǎn),得到以B 點(diǎn)出發(fā)的三個(gè)向量BE、BG、BC、分別計(jì)算得到向量AB 與向量BE、BG、BC 之間的順時(shí)針夾角,比較得到最大的夾角向量為AB 與BC,那么向量BC 即為閉合圖形的公共邊;隨后,再以C 點(diǎn)為標(biāo)記點(diǎn),找到以C 點(diǎn)為出發(fā)點(diǎn)的兩個(gè)向量CD 和CH,比較兩者與向量BC的順時(shí)針夾角大小,得出向量CD 為公共邊;接下來(lái),再以D 為標(biāo)記點(diǎn),重復(fù)之前的步驟,找到向量DA 為公共邊,從而得到一個(gè)閉合輪廓ABCD。以此類推,以B 點(diǎn)最為起始點(diǎn),可分別找到兩個(gè)閉合輪廓BGHC 和BEFG(見圖5),從而完成整個(gè)房屋圖形的結(jié)構(gòu)分解,然后采用坐標(biāo)解析法,分別計(jì)算每個(gè)閉合輪廓的面積:
圖5 基于輪廓跟蹤法的面積解算示意圖
式中,S 表示面積/m2;Xi 表示某一房角點(diǎn)的橫坐標(biāo)/m;Yi 表示某一房角點(diǎn)的縱坐標(biāo)/m。將每個(gè)閉合輪廓房角點(diǎn)提取到的坐標(biāo)信息輸入式(1)和式(2),即可得到每幢房屋的面積大小。
以某棟兩單元4 戶型的戶型圖為例,首先對(duì)每個(gè)房角點(diǎn)進(jìn)行編號(hào)(見圖6)。調(diào)用輪廓跟蹤算法,得到6 個(gè)閉合輪廓:1-2-3-4-17-5-6-7-8、2-10-9-4-3、10-11-12-13-14-15-16-17-4-9、11-18-19-20-21-22-23-24-25-12、18-26-27-20-19、26-28-29-30-31-32-33-21-20-27,然后將每個(gè)房角點(diǎn)的坐標(biāo)值輸入到公式(1)中計(jì)算得到6 個(gè)閉合輪廓的面積,將算法計(jì)算得到的輪廓面積與原始面積進(jìn)行對(duì)比,結(jié)果見表1。從表中可以看到,每個(gè)閉合輪廓的面積計(jì)算結(jié)果與原始標(biāo)注的面積大小基本一致,誤差均小于0.01m2。表明采用輪廓跟蹤算法進(jìn)行房產(chǎn)圖形的面積解算是合理可行的。
圖6 輪廓跟蹤及面積解算結(jié)果圖
表1 面積解算結(jié)果對(duì)比
針對(duì)房產(chǎn)外業(yè)測(cè)繪效率低、易出錯(cuò)的問題,建立了基于幾何約束的房產(chǎn)圖形參數(shù)化模型。提出了基于尺寸驅(qū)動(dòng)的圖形自動(dòng)更新與重繪算法以及基于輪廓跟蹤的面積求解算法,實(shí)現(xiàn)了房產(chǎn)測(cè)繪圖形自動(dòng)更新及面積解算。計(jì)算結(jié)果與原始標(biāo)注的面積大小基本一致,誤差均小于0.01m2,表明本文提出的房產(chǎn)測(cè)繪圖形自動(dòng)更新及面積解算方法合理可靠。