?

一種圖形化的縱橫斷面數據處理方法及實現

2011-12-20 03:49蒲生亮
城市建設理論研究 2011年23期
關鍵詞:圖形化數據處理

[ 作者簡介:蒲生亮(1986 - ),男,助理工程師,主要從事水利水電工程測量,2009年畢業于武漢大學,大學本科。]

(內蒙古自治區水利水電勘測設計院,內蒙古 呼和浩特 010020)

摘要: 常見的縱橫斷面數據處理方法主要從數據或格式著手,往往容易忽略了其“圖形”意義,本文嘗試從“圖形化”角度編寫了基于VISUAL LISP 的縱橫斷面數據處理程序,可以應用于各種縱橫斷面測量數據處理。

關鍵詞: 圖形化,縱橫斷面測量,數據處理,VISUAL LISP, AUTOCAD二次開發

A Graphical Data Processing Method and Implementation of Vertical and Horizontal Cross-Section

PU Shengliang1

(Inner Mongolia Water Resources and Hydropower Survey and Design Institute,Inner Mongolia Hohhot 010020)

Abstract : The common methods of data processing of vertical and horizontal cross-section mainly started from data or format, often easy to overlook its "graphics" meaning, this paper attempts from the "graphical" point of view to write the vertical and horizontal cross-section of data processing program based on VISUAL LISP, can be applied to the kinds of vertical and horizontal cross-section measurement data processing.

Keywords: Graphical, Vertical And Horizontal Cross-Section Measurement, Data Processing, VISUAL LISP, AUTOCAD Secondary Development

引言

隨著GPS-RTK技術在測量工作中的廣泛應用,傳統的測量手段得到了大程度地提升,以測點為主要方式的測繪任務面臨著“多文件”、“大體積”的數據整理及處理困境。雖然眾多斷面測量軟件大放異彩,可是各有其千秋,并且大多基于純程序設計語言的文本操作得以實現,有的以“固定”格式的數據成圖為主,有的僅以本職工作出發編寫而其他行業應用有限或繁瑣,而且都有一個共同的特點:無不使程序使用者容易陷于“文(件)山點?!?,極為不方便,且不得不犧牲了測點數據的可見性與直觀性,稍有特色者也不過參考點圖而已。正是基于以上思考,本文嘗試從點數據的圖形角度出發,增加了縱橫斷面數據整理及處理過程的形象直觀性、簡易性。

1 需求分析與功能設計

首先,我們必須知道“要解決的問題是什么?”也即如何從測點源數據得到目標數據,從而生成測繪最終成果。其次,也要知道“是否有行得通的解決辦法?”也即采用何種編程方法,達到什么樣的功能效果,實現數據的轉化,因而本文選擇了AUTOCAD VISUAL LISP集成開發環境作為程序編碼與測試工具。最后,要弄明白“怎樣具體實現?”也是程序開發最關鍵的步驟,需要反復進行模塊編碼、調試、精化與集成,從而實現程序編寫所預期的各項功能。

圖表 1.1 E-R圖

(1)開發目標。如圖1.1 所示,我們要實現測量點的集合AI到成果元數據的集合BJ的轉化,I為源點數據的數目,J為目標元數據的數目,也是眾多縱橫斷面數據處理程序的設計思路和目標,而我們要實現“圖形化”的目的,即要完成數據圖形化(DI)和圖形數據化(ID)兩個過程,其功能轉化過程如圖1.2 所示。

圖表 1.2 功能圖

(2)應用范圍。從理論上講,可以實現縱橫斷面設計與成圖。在實際測量工作中可以應用于渠道、河道縱橫斷面等相關數據成果的生產過程。

2 流程設計與編碼實現

(1)根據圖表 1.2 ,其功能所對應的程序流程圖如圖表2.1 所示:

圖表 2.1 程序流程圖

(2)根據圖表 2.1 我們可以編寫相關函數,以實現功能,函數列表如下:

主程序單元 C:ZD () C:HD ()

縱斷面數據處理程序 橫斷面數據處理程序

一級調用單元 C:E2C() C:L2C ()

高程點生成數據文件 復合線輸出XY坐標

二級調用單元 C:STRPARSE () C:L1R ()

字符串轉換為字符串列表 判斷點在直線上的位置

圖表 2.2 函數功能及其關系調用

(3)根據圖表2.2 我們可以得到其抽象數據類型定義,如下所示:

ADT ZD_HD {

數據對象:C={AI,BI|AI為點數據集合;BI為元數據集合}

數據關系:R={,}

基本操作:

C:ZD (/ LSTS LSTZ B D Z C ZA ZZ S SA FF Z1 ZA1 ZZ1)

// 操作結果:返回一個非NIL值

C:HD (/ LSTS LSTZ P PP P1 FF STR B Z C ZA S SA ZZ ZN FLAG D)

// 操作結果:返回一個非NIL值

E2C (/ SN LSTS P1 P2 SS I SI PT Y X H)

// 操作結果:返回一個XYH點列表

L2C (/ PL ENTDATE A N LSTZ FIND KEY YY XX)

// 操作結果:返回一個XYH點列表

STRPARSE (STR DELIMITER / SEARCHSTR STRINGLEN RETURN N CHAR)

// 操作結果:返回一個子字符串列表

L1R (P1 P2 P3 / B C P)

// 操作結果:返回一個INT值,等于0時點在線上,大于0時點在線的左側,小于0時點在線的右側。

} ADT ZD_HD

3 程序測試與成果生成

(1)打開AUTOCAD,加入CASS環境,展繪點號和高程點。輸入命令APPLOAD,選擇和加載文件“*.FAS/*.LSP/*.VLX”;若命令無效可重復加載。開啟圓心和節點捕捉,從上游至下游(前進方向)連接縱斷線,從前進方向左端至右端連接橫斷線。輸入命令“ZD”,框選高程點(包含縱斷線),生成縱斷數據文件及成果圖。輸入命令“HD”,框選高程點(包含橫斷線),選擇(橫斷線),選擇中心樁和方向點(前進方向),輸入中心樁號,生成縱斷數據文件及成果圖。

(2)以某長1KM縱橫斷測量項目所采集數據為實例,其原始數據格式為“點名,注釋,東坐標,北坐標,高程”,展繪后散點圖如3.1所示。目標縱斷成果和橫斷成果格式為“距離,高程”,并生成橫斷面圖(以第一條為例,如圖3.2所示)和縱斷面圖(如圖3.3所示)。

圖表 3.1 測點數據散點圖

圖表 3.2 縱斷面成果圖

圖表 3.3 橫斷面成果圖

4 結語

(1)通過該程序的設計、編碼與測試,以及成果生成,取得了預期的結果,操作更加簡便、尤其適合于電腦操作不太熟練的同志。

(2)通過斷面線的繪制,避免了多人協作測量數據凌亂無章的特點,斷面點的選擇也更具靈活性,斷面數據的可靠性更高,出錯率更低。

(3)LISP語言在人工智能方面有著稱奇的優勢,雖然本程序在生產實踐中應用尚可,但是仍立足于簡單數據源、圖元素,本質上還是文本操作處理,因而將來在數據處理智能化方面有著很大的空間,需要結合本職工作進行更深一步的學習和研究。

參考文獻:

[ 1 ] 閻聚群.AUTOCAD 2000 VISUAL LISP開發[M ] .武漢:華中理工大學出版社, 2000.

[ 2 ] 孫江宏,丁立偉,米潔. VISUAL LISP編程與應用[M]. 北京:科學出版社,1999.

[ 3 ] 郭劍峰,陳杉,王寧. 用VISUAL LISP開發AUTOCAD 2000應用程序[M]. 北京:人民郵電出版社, 2000.

[ 4 ] 魯玉甫. 用LISP程序擴展AUTOCAD在測量上應用[A]. 河南省土木建筑學會2009年學術大會論文集[C], 2009 .

[ 5 ] 陳馳原,劉占奎. VISUAL LISP編程在渠道縱斷面設計中的應用[J]. 新疆水利, 2009, (02) .

猜你喜歡
圖形化數據處理
基于Arduino圖形化編程的教學應用研究
電容式傳感系統數據處理電路的設計
淺談圖形化編程在小學教育中的作用
基于ARCGIS 的三種數據處理方法的效率對比研究
高層建筑沉降監測數據處理中多元回歸分析方法的應用研究
高層建筑沉降監測數據處理中多元回歸分析方法的應用研究
視頻大數據處理的設計與應用
Mixly米思齊:優秀的國產創客教育工具
如果你想,就可以做到更多!
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合