張愛娟
(河南省地質礦產勘查開發局測繪地理信息院,河南 鄭州 450006)
地理信息基礎數據采集中多段線重復點檢查方法及應用
張愛娟
(河南省地質礦產勘查開發局測繪地理信息院,河南 鄭州 450006)
摘要:在地理信息產業突飛猛進發展的今天,對采集的基礎數據質量要求越來越嚴格,為了保證數據質量,結合地理信息工作實際和需求,開發研究圖形數據成果規范化檢查系統程序,在實際工作中得以應用并取得了良好效果。
關鍵詞:測繪;重復點檢查;多段線;搜索半徑
doi:10.13442/j.gnss.1008-9268.2015.02.022
中圖分類號:P 208
文獻標志碼:: A
文章編號:: 1008-9268(2015)02-0098-03
收稿日期:2015-02-11
作者簡介
Abstract:In the rapid development of geographic information industry today, the quality of the underlying data collection requirements become more stringent, in order to ensure the quality of data, articles and geographic information needs of actual work, the results of research and development graphic data standardization inspection system program, to be in the actual work application and achieved good results.
0引言
隨著當今測繪信息化工作的實施,地理信息數據獲取技術的不斷提高,地理信息系統應用推廣條件更加成熟,尤其是大數據時代的到來,加快了測繪時代的變革。
測繪已由傳統的手工、數字發展到當前的信息時代,是多種技術的綜合效應和高密度融合的結晶。測繪成果的表達形式也發生了根本性的變化。從傳統的手工描繪制圖變革到今天的微機自動繪制,承載介質亦從紙質到如今的數字記錄格式,極大地促進了信息化測繪工作的發展[1]。
盡管信息測繪以及地理信息應用對現代測繪成果的表達在不斷地規范化、標準化,實際測繪工作中由于工作人員技術水平的差異性、使用軟件的處理編輯功能不夠完善,使得測繪工作的最終成果還存在很多不規范的地方,往往難以滿足后續標準化建庫的需要,給成果的下一步應用帶來一定的困難。
圖形數據是測繪成果的主要表達形式,它主要由一系列的點、線、面等基本要素組成。而數據編輯過程中數據的多余重復點是編輯工作中經常存在的問題。而這些問題單靠人工查找判斷,效率極低,且難以完全消除。為此,研究開發一個查找多余重復點的程序,實現自動查找問題的技術方法,將會極大地提升實際工作效率。在大數據時代,更需要在測繪制圖工作中利用計算機技術,開發智能檢查工具,以便保證測繪數據成果質量。
1程序功能設計實現
Visual Lisp是一種微機編程語言,主要是基于Autodesk系統下開發設計的軟件開發工具。它直接包含在AutoCAD中,不需單獨安裝和配置,使用方便。Visual Lisp是在AutoLISP語言的基礎上發展而來的,不僅繼承了已有的優勢特點,而且增加了很多新的功能。它鑲嵌在AutoCAD系統程序中,與AutoCAD系統同時啟動使用[2]。
Visual Lisp盡管集成于AutoCAD平臺內,它同樣可以單獨環境使用。所以一直以來受到很多編程愛好者的青睞,尤其在圖形處理工作中得以廣泛應用。
現在進行的信息化測繪工作,成果多是以AutoCAD為平臺的軟件上進行編輯處理的。目前AutoCAD以操作簡單,圖形編輯功能強大而被廣大測繪工作者使用。但是,在數據采集結束后,編輯時往往會出現數據冗余現象,比如重復點、重復實體等現象,這些數據的存在增加了數據量,還會對數據之間的屬性關系產生錯誤,給后續分析應用帶來很多麻煩。這些數據錯誤無法靠人工消除,只能依靠查詢實體點逐一檢查,工作效率低下。為了提高工作效率減少數據冗余,結合工作實踐基于Visual Lisp語言開發了AutoCAD圖形數據多段線重復點檢查程序。
聯系人: 張愛娟 E-mail:624361734@qq.com
重復點按照常規的定義,就是在一條多段線上,其中有兩個或兩個以上連續點坐標相同的點稱為重復點。在實際工作中,有時需要檢查兩個連續的點,盡管坐標不一樣,但是,因為這兩個點距離很近,小于實際所允許的距離,這樣的點認為是不正常的,也稱為重復點。另外,有時一個封閉的圖形,正常情況需要首尾進行閉合處理,但是,實際操作時沒有進行閉合處理,而是采用首尾搭接方式,這種情況也是一種重復現象,在程序設計時,充分考慮了這些現象,設計了檢查內容控制變量,控制檢查內容,全部檢查時,是對所有的重復點、封閉圖形不閉合的圖形進行檢查;封閉圖形不閉合的圖形檢查時,只檢查封閉圖形的首尾搭接現象,封閉圖形不閉合以外的圖形檢查是檢查封閉圖形以外的圖形線條[3]。程序設計同時需要科學設置搜索半徑,不能過大也不能過小。
搜索半徑是指進行檢查時兩個連續點之間距離值,小于這個距離時認為也是重復點,會進行標記,而大于這個距離時,認為是正常合理地兩個點,不進行檢查。標記圓就是一個檢查標記,為了很好的說明檢查出來的重復點的位置,方便后續修改處理,標記圓的大小可以根據圖形內容多少和比例尺大小進行靈活設定,當圖形內容復雜,比例尺較小時,可以適當加大標記圓半徑,便于查找。在檢查后程序會統計出檢查了多少目標,重復點有多少個,并且會在圖形中新建一個“CKCFD”圖層,所有重復點的標記圓都標記在此圖層中,方便修改后統一刪除。
在程序中為了提高程序的運行效率,節省檢查時間,經過分析,根據程序設計的目的,只需要對多段線和二維多段線進行重復點檢查,不需要對所有目標都進行檢查,這樣,可以利用ssget‘((0 . "*POLYLINE"))語句,直接把不需要檢查的目標過濾掉,在選擇集中只保留多段線和二維多段線,從而提高程序運行效率[2]。
在選擇所有需要檢查的目標后,統計出目標的總個數M,以便后續逐條進行檢查時控制。當選擇一個目標線,并使用vlax-ename->vla-object命令獲取目標線上的點坐標列表,按照點坐標列表的順序,逐點進行檢查。在檢查時,從第一點開始逐點進行比對,先檢查坐標相同的點,是重復點時這個點為圓心繪制標記圓,然后再按照搜索半徑進行兩點距離計算對比,小于這個距離時,以前一個點的坐標為圓心繪制標記圓,以此類推檢查所有的選擇對象,直至檢查結束。在檢查時,每檢查出來一個重復點,都會在對話框上顯示重復點的個數,還會顯示已經檢查目標的個數,最后會顯示選擇的多少目標,統計檢查出來了多少重復點,提供后續修改時做參考。以下是檢查程序樣本。
;|重復點檢查|;
(progn (repeat (/ len1 i0)
(setq j (+ 1 j))
(setq ck0 ck1)
(setq ck1 (vlax-safearray->list (vlax-variant-value (vla-get-coordinate obj j))))
(setq ck1 (list (car ck1) (cadr ck1)))
(if (equal ck0 ck1)
(progn (command "layer" "m" "CKCFD" "on" "CKCFD" "c" 1 "" "")
(command "circle" ck0 r)
(setq k (1+ k))
) ;_ 結束progn
) ;_ 結束if
) ;_ 結束repeat
) ;_ 結束progn
2在地理信息數據采集應用
隨著城鎮地籍調查、農村集體土地調查工作的開展,需要對界址線進行檢查,要保證界址線上所有界址點的正確,不能出現無用多余的界址點,同時,界址點的設置也要合理。根據這些要求,使用本程序對界址線進行檢查。首先,可以解決多余重復界址點的問題,保證界址點成果表中不會出現相同坐標的界址點;其次,可以保證宗地圖顯示界址點個數和界址點成果表中界址點個數一致;再者,可以解決微距離界址點的問題,如在作圖時,因為捕捉沒有到位等問題,產生兩個界址點,點位距離很近只有幾厘米甚至更小,明顯是不合理的情況[4]。
另外,地理信息數據都是附帶信息的,方便后續數據庫建設,尤其對圖形需要構面時,這樣圖形數據量大,對圖形拓撲要求嚴格,如果圖形中存在重復點,會出現拓撲錯誤,數據冗余會加大,因此,測繪地理信息圖形數據均需要進行重復點檢查處理。
3結束語
Visual Lisp是一個AutoCAD系統下的編程語言,其強大功能是對AutoCAD系統的補充完善。結合AutoCAD應用實踐,可以很方便開展生產小革新,使工作更加順利,效率更加快速。通過實踐應用,所開發程序運行后程序的所有功能都得以實現,程序運行穩定可靠。所找到的重復點準確無誤,沒有出現找錯現象,極大的提高了工作效率,保證了成果的準確可靠,避免了對后期工作的影響。但是需要提醒注意的是,在實際工作中需要科學設置搜索半徑,如果設置較大,則會搜索錯誤,因此在設定搜索半徑時,一定要根據實際情況而定,搜索距離盡量小,以避免出現錯誤。
隨著信息化測繪的逐步深入,對圖形質量和數據冗余的要求越來越高,大家會遇到很多類似的問題,在遇到問題時,只要去細心研究,仔細分析,找到共同點和特點,然后充分利用計算機技術進行科學的程序編寫,不僅能提高勞動效率,還會推動信息化測繪的發展。
參考文獻
[1]王艷麗,丁文利,項鑫.在AutoCAD中懸掛點的檢查方法[J].中國煤炭地質,2010(B08):113-114.
[2]陳伯雄,馮偉著.Visual LISP 程序設計:技巧與范例;[M].北京: 人民郵電出版社,2002.
[3]胡勝華,何宗宜,陶利佳,等.AutoCAD與GIS數據轉換的研究[J].測繪通報,2007(12)44-47,55.
[4]袁進軍,馮仲科,趙曉米,等.城鎮土地調查及宗地圖成圖方法研究[J]. 測繪與空間地理信息, 2010,33(1):8-12.
張愛娟(1968-),女,河南鄭州人,高級工程師,主要從事地理信息數據處理技術的研究工作。
Inspection Method and Its Application for Multi Segment Line Repeat
Point in Geography Information Data Acquisition
ZHANG Aijuan
(HenanBureauofGeologyandMineralMappingGeographicInformation
Institute,Zhengzhou450006,China)
Key words: Surveying and mapping; repeated point inspection; multi segment line;search radius