靳娟麗,李乃良
(1.天水三和數(shù)碼測繪院,甘肅天水 741000; 2.蚌埠市勘測設(shè)計(jì)研究院,安徽蚌埠 233000)
在廣州SCS中,界址點(diǎn)、界址線的屬性都是以AutoCAD擴(kuò)展屬性的方式存儲在界址點(diǎn)中,沒有界址線屬性的查看與編輯命令。這樣界址點(diǎn)的檢查包含兩部分,第一部分是空間位置檢查,即界址點(diǎn)必須位于與界址線相對應(yīng)的拐點(diǎn)上;第二是界址點(diǎn)的屬性信息檢查,屬性信息包含兩部分,一部分是界址點(diǎn)屬性,如界址點(diǎn)名,點(diǎn)類型等,一部分是界址線屬性,如連接點(diǎn)名,界址線類型等。所以針對界址線的檢查與處理即是針對以上兩種空間位置和屬性信息檢查。
圖1 界址點(diǎn)屬性編輯對話框
在基于AutoCAD二次開發(fā)的廣州SCS地形地籍成圖軟件中,用封閉的重量多段線(Polyline)表示界址線,用多段線的頂點(diǎn)上繪制一個(gè)圓表示界址點(diǎn),其屬性如圖1所示。圓心位置表示界址點(diǎn)的位置,圓心與多段線對應(yīng)的定位置相同。因數(shù)據(jù)來源非常多,同時(shí)加上數(shù)據(jù)的不斷更新,經(jīng)常是調(diào)整了界址線的位置而界址點(diǎn)的位置沒有做同步調(diào)整,致使界址點(diǎn)不在對應(yīng)的界址線頂點(diǎn)上。對于位置相差較大的情況很容易發(fā)現(xiàn)錯(cuò)誤,手工調(diào)整即可。反而是位置相差極小的界址點(diǎn)人工不易發(fā)現(xiàn),在入庫后才被提示界址點(diǎn)位置錯(cuò)誤。為在入庫前能夠發(fā)現(xiàn)并解決這一問題,需在廣州SCS中解決這一問題。因界址點(diǎn)位置與界址線對應(yīng)頂點(diǎn)位置相差極小,人工查找,即使在放大倍率極大情況下也極難發(fā)現(xiàn),所以采用編程方式(采用c#2008與Auto-CAD 2008開發(fā),因程序過長,本處只介紹編程策略,不表示程序,以下同)進(jìn)行查找并進(jìn)行處理,其編程策略主要如下:檢索本街坊內(nèi)全部界址線,提取所有界址線的頂點(diǎn),形成以界址線頂點(diǎn)構(gòu)成的界址點(diǎn)庫;檢索所有的界址點(diǎn),逐個(gè)處理界址點(diǎn),如果本界址點(diǎn)在界址點(diǎn)庫中有和距離小于允許值(考慮計(jì)算誤差允許值設(shè)定一般為0.000001即可)的界址點(diǎn),則認(rèn)為本界址點(diǎn)位于界址線頂點(diǎn)上,否則認(rèn)為本界址點(diǎn)不在界址線頂點(diǎn)上。程序設(shè)計(jì)時(shí)一般采用自動處理,即如果界址點(diǎn)與界址點(diǎn)庫中最小距離的點(diǎn)其距離大于允許值而又小于允許自動調(diào)整最大值(自動調(diào)整總是在一定范圍內(nèi)進(jìn)行),在北京地籍調(diào)查中,要求界址點(diǎn)間距大于 0.1 m,設(shè)定一個(gè)界址點(diǎn)距離最近的界址線頂點(diǎn)的距離小于0.05時(shí)方自動將界址點(diǎn)自動調(diào)整到最近的界址線拐點(diǎn)上,否則做一個(gè)標(biāo)記,留待手工處理。如圖2為界址點(diǎn)位置自動檢查前情況,圖3為界址點(diǎn)位置檢查與處理后情況,可見界址點(diǎn)212不在界址線頂點(diǎn)上,但距離最近的界址點(diǎn)頂點(diǎn)距離小于允許自動調(diào)整最大值,檢查處理后的界址點(diǎn)212自動調(diào)整位置到界址線對應(yīng)的頂點(diǎn)上,而界址點(diǎn)208盡管也不在界址線頂點(diǎn)上,但距離最近的界址點(diǎn)頂點(diǎn)距離大于允許自動調(diào)整最大值,界址點(diǎn)位置檢查與處理后,位置沒有調(diào)整,做一個(gè)標(biāo)志,留待手工處理。
圖2 界址點(diǎn)位置檢查前
圖3 界址點(diǎn)位置檢查與處理后
理論上來說,一個(gè)界址線頂點(diǎn)上只應(yīng)該有一個(gè)界址點(diǎn),而基于AutoCAD二次開發(fā)的廣州SCS地形地籍成圖軟件中,使用閉合多段線表示界址線。當(dāng)有相鄰的宗地時(shí),界址線之間就會存在公共邊、公共頂點(diǎn),在一個(gè)頂點(diǎn)處就會有多個(gè)界址點(diǎn)存在。在一個(gè)街坊內(nèi),界址點(diǎn)要統(tǒng)一編號,這就要求一個(gè)街坊內(nèi)界址點(diǎn)不能有重號。另外,在同一個(gè)界址線頂點(diǎn)處,可以有多個(gè)界址點(diǎn),但界址點(diǎn)號必須相同,即同名界址點(diǎn)必須同位,同位界址點(diǎn)必須同名。因本次調(diào)查為變更調(diào)查,界址點(diǎn)號原已統(tǒng)編,本次只能對有變更的地方進(jìn)行調(diào)整,界址點(diǎn)號也只能手工編號,所以會存在同名界址點(diǎn)號不同位情況和同位界址點(diǎn)號不同名情況。采用編程進(jìn)行檢查,編程策略為,同點(diǎn)名不同位置界址點(diǎn)檢查策略為,定義結(jié)構(gòu)體數(shù)據(jù)類型,保存界址點(diǎn)名和界址點(diǎn)號,生成一個(gè)界址點(diǎn)的界址點(diǎn)名、界址點(diǎn)坐標(biāo)庫,兩兩進(jìn)行比較。如果兩個(gè)界址點(diǎn)名相同而界址點(diǎn)坐標(biāo)不同說明界址點(diǎn)同名不同位,進(jìn)行連線表示用于手工處理。對于同位不同名檢查策略則是兩兩比較界址點(diǎn)坐標(biāo)。如果坐標(biāo)相同而點(diǎn)名不同則為同位不同名界址點(diǎn),用一標(biāo)志標(biāo)示進(jìn)行手工處理。如圖4所示,對于同名不同位(圖面注記的界址點(diǎn)名和屬性中記錄的界址點(diǎn)名應(yīng)該相同,但有時(shí)會存在不同情況,檢查時(shí)以屬性中記錄的界址點(diǎn)名為準(zhǔn),為保持圖面注記和屬性記錄的一致,可在需要時(shí)將圖面注記刪除,然后用屬性記錄中的屬性重新進(jìn)行圖面注記即可。圖4中界址點(diǎn)227和界址點(diǎn)241顯示界址點(diǎn)同名,實(shí)為屬性記錄中界址點(diǎn)名相同)的界址點(diǎn),用連線表示何點(diǎn)與何點(diǎn)同名不同位,并加文字說明。對同位不同名界址點(diǎn),用一標(biāo)志表示,并加注文字說明,便于手工處理時(shí)方便查找和修改。
圖4 同名、同位界址點(diǎn)的同位、同名檢查
在地籍圖中,要求每一個(gè)界址線的頂點(diǎn)上至少有一個(gè)界址點(diǎn),本檢查的策略為將所有界址點(diǎn)生成界址點(diǎn)庫,然后逐個(gè)分析界址線頂點(diǎn),只要該頂點(diǎn)在界址點(diǎn)庫中沒有與其距離小于設(shè)定值的界址點(diǎn),即認(rèn)為該頂點(diǎn)處無界址點(diǎn),進(jìn)行標(biāo)示,留待手工處理。這一檢查只能檢查,不能自動處理,因?yàn)椴荒苷{(diào)整界址線的頂點(diǎn)到最近的界址點(diǎn)上,也不能將最近的界址點(diǎn)移動到界址線頂點(diǎn)上。圖5為界址線頂點(diǎn)上無界址點(diǎn)檢查結(jié)果。
圖5 界址線頂點(diǎn)上無界址點(diǎn)檢查
在廣州SCS地形地籍成圖軟件中,相鄰界址點(diǎn)號的賦值都是人工判斷進(jìn)行的,這一過程極為緩慢,而且容易出錯(cuò)。經(jīng)分析,這一過程可以自動進(jìn)行,處理方法如下:逐點(diǎn)分析界址點(diǎn),如果一個(gè)界址點(diǎn)其屬性記錄中沒有相鄰界址點(diǎn)號,則搜索經(jīng)過該界址點(diǎn)的界址線,產(chǎn)生該界址線的頂點(diǎn)庫和對應(yīng)頂點(diǎn)的界址點(diǎn)號,檢索到和本界址點(diǎn)對應(yīng)的頂點(diǎn)的上一頂點(diǎn),獲取對應(yīng)界址點(diǎn)號到本界址點(diǎn)的相鄰界址點(diǎn)號即可。
在廣州SCS地形地籍成圖軟件中,勘丈邊長的賦值是根據(jù)外業(yè)勘丈結(jié)果手工一個(gè)一個(gè)賦值的,在賦值的過程并沒有提醒理論值應(yīng)該為多少,所以即使輸入錯(cuò)誤也不能及時(shí)發(fā)現(xiàn),所以需對勘丈邊長進(jìn)行檢查。檢查的策略為使用界址邊的理論邊長和勘丈邊長進(jìn)行對比,界址邊的理論值可用本界址點(diǎn)的坐標(biāo)和相鄰界址點(diǎn)的坐標(biāo)計(jì)算獲得,如果大于限差,則予以標(biāo)示進(jìn)行提示。如圖6為界址點(diǎn)中勘丈邊長檢查結(jié)果,用標(biāo)示進(jìn)行標(biāo)識,并用文字進(jìn)行詳細(xì)說明便于查找和修改。
圖6 界址點(diǎn)中勘丈邊長檢查
本項(xiàng)目采用以上方式對北京市第二次土地調(diào)查中的界址點(diǎn)進(jìn)行界址點(diǎn)的檢查和處理,大幅提高了地籍圖中關(guān)于界址點(diǎn)的數(shù)據(jù)質(zhì)量和處理速度,提高了數(shù)據(jù)提交后驗(yàn)收的通過率。
[1][美]Bill Evjen,Rockford Lhotka等.Visual Basic 2005高級編程[M].北京:清華大學(xué)出版社,2006
[2][美]David F.Rogers.計(jì)算機(jī)圖形學(xué)的算法基礎(chǔ)[M].北京:機(jī)械工業(yè)出版社,2002
[3]曾洪飛,張帆,盧擇臨.AutoCAD VBA& VB.NET開發(fā)基礎(chǔ)教程與實(shí)例[M].北京:中國電力出版社,2008