畢業(yè)論文:基于MAPX的房屋測繪管理系統(tǒng)設(shè)計.doc

上傳人:good****022 文檔編號:116649775 上傳時間:2022-07-06 格式:DOC 頁數(shù):24 大小:493KB
收藏 版權(quán)申訴 舉報 下載
畢業(yè)論文:基于MAPX的房屋測繪管理系統(tǒng)設(shè)計.doc_第1頁
第1頁 / 共24頁
畢業(yè)論文:基于MAPX的房屋測繪管理系統(tǒng)設(shè)計.doc_第2頁
第2頁 / 共24頁
畢業(yè)論文:基于MAPX的房屋測繪管理系統(tǒng)設(shè)計.doc_第3頁
第3頁 / 共24頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)論文:基于MAPX的房屋測繪管理系統(tǒng)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文:基于MAPX的房屋測繪管理系統(tǒng)設(shè)計.doc(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、本科生畢業(yè)論文(設(shè)計)題 目:基于MAPX的房屋測繪 管理系統(tǒng)設(shè)計 專業(yè)代碼: 070703 作者姓名: 歐陽任彬 學(xué) 號: 2007202065 單 位: 環(huán)境與規(guī)劃學(xué)院 指導(dǎo)教師: 肖 燕 2011年5月31日原創(chuàng)性聲明本人鄭重聲明:所提交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下,獨立進(jìn)行研究取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,論文中不含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得聊城大學(xué)或其他教育機構(gòu)的學(xué)位證書而使用過的材料。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人承擔(dān)本聲明的相應(yīng)責(zé)任。學(xué)位論文作者簽名: 日期 .指導(dǎo)教師簽名: 日期 .聊城大學(xué)本科畢業(yè)論文(設(shè)計

2、)目錄1 前言11.1 系統(tǒng)設(shè)計背景11.2 系統(tǒng)開發(fā)相關(guān)技術(shù)11.2.1 Visual Basic 6.0中文版介紹11.2.2 MapX 5.0中文版簡介12 系統(tǒng)總功能22.1繪制房屋平面圖22.2平面圖屬性設(shè)置22.3平面面積的計算22.4系統(tǒng)輔助功能22.5系統(tǒng)維護23 系統(tǒng)程序?qū)崿F(xiàn)33.1主界面設(shè)計33.2 圖層控制功能設(shè)計43.3 平面圖屬性設(shè)置功能設(shè)計43.4 平面圖面積計算功能設(shè)計73.5 系統(tǒng)輔助功能設(shè)計153.6 系統(tǒng)維護功能設(shè)計164 結(jié)語16參考文獻(xiàn)17致 謝18摘 要房屋測繪管理是對房屋屬性描述的有效系統(tǒng),針對房屋管理中需要解決的如何實現(xiàn)測繪平面圖、屬性設(shè)置、房屋面

3、積計算、輔助功能和系統(tǒng)維護等管理功能,文章提出建立基于MAPX的房屋測繪管理系統(tǒng),以數(shù)據(jù)庫為基礎(chǔ),在計算機軟硬件支持下,運用系統(tǒng)工程和信息科學(xué)的理論和方法,綜合地、動態(tài)地獲取、存儲、管理、分析和應(yīng)用地理信息的多媒體信息系統(tǒng)。該系統(tǒng)的建立,將以其快速高效收集、存儲、整理、輸出、查詢、檢索等功能來提高房屋測繪管理效率,更以其優(yōu)越的空間分析功能使房屋測繪管理更為科學(xué)。關(guān)鍵詞:MAPX;房屋測繪;管理系統(tǒng);設(shè)計AbstractHouses of surveying and mapping management is the effective system house property descrip

4、tion .Aimed at building management of how to realize the need to be solved in surveying and mapping plan,attribute set ,building area calculation,the auxiliary function and system maintenance management function.This paper based on the house MAPX surveying and mapping management system, based on dat

5、abase, in support of computer software and hardware , uses system engineering and information science, the theory and methods of comprehensive dynamicly 、acquire、store 、manage 、analysis and apply of multimedia information system of geographic information.With its efficient collection, storage, sorti

6、ng, output, inquiry, retrieval functions to improve the efficiency of surveying and mapping administration more houses, with its superior spatial analysis function of surveying and mapping administration of the building is more scientific, this system sets up successly.Key words: MAPX;housing survey

7、ing and mapping;management system;design基于MAPX的房屋測繪管理系統(tǒng)設(shè)計1 前言1.1 系統(tǒng)設(shè)計背景 隨著房價日益上漲,房屋測繪管理系統(tǒng)顯得尤為重要。房屋測繪管理系統(tǒng)包括測繪平面圖、屬性設(shè)置、房屋面積計算、輔助功能和系統(tǒng)維護五大管理功能,實現(xiàn)了房屋測繪的全面管理,是各種房地產(chǎn)公司進(jìn)行電腦信息化管理的理想選擇。最重要的就是利用Mapx控件進(jìn)行房屋圖層的管理和控制.并將數(shù)據(jù)庫同圖層緊密的結(jié)合在一起。該系統(tǒng)可以廣泛的應(yīng)用于各種測繪企業(yè)以及房地產(chǎn)公司。以空間信息處理為核心的地理信息系統(tǒng)(GIS) 技術(shù), 因具有強大的空間信息管理、空間信息分析、空間信息查詢及三

8、維影像顯示等功能 1。而成為房屋測繪信息化的首選平臺。基于VB+MapX的房屋測繪管理系統(tǒng)是以數(shù)據(jù)庫為基礎(chǔ),在計算機軟硬件支持下,運用系統(tǒng)工程和信息科學(xué)的理論和方法,綜合地、動態(tài)地獲取、存儲、管理、分析和應(yīng)用地理信息的多媒體信息系統(tǒng)。該系統(tǒng)的建立,將以其快速高效收集、存儲、整理、輸出、查詢、檢索等功能來提高房屋測繪管理效率,更以其優(yōu)越的空間分析功能使房屋測繪管理更為科學(xué) 2。1.2 系統(tǒng)開發(fā)相關(guān)技術(shù)1.2.1 Visual Basic 6.0中文版介紹Visual Basic是在原有Basic語言基礎(chǔ)上的進(jìn)一步發(fā)展,它包含了數(shù)百條語句、函數(shù)及關(guān)鍵詞,其中很多與Windows GUI有直接的關(guān)系

9、。可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序3。1.2.2 MapX 5.0中文版簡介MapX是一種集MapInfo強大功能于一身的性價比非常高的ActiveX控件,MapX支持用戶將地圖功能添加到任何應(yīng)用中,提供了一種高度可視化的方法,來顯示和分析基于位置的數(shù)據(jù),它和眾多的可視化編程工具例如Visual Basic、Visual c+、PowerBuilder、Delphi等緊密結(jié)合,使得眾多的用戶利用它可以很快的開發(fā)出非常專業(yè)的地理信息系統(tǒng)應(yīng)用軟件4。2 系統(tǒng)總功能2.1繪制房屋平面圖在這個功能模

10、塊中,包括基本信息設(shè)置、平面圖文件操作、繪制房屋平面圖、設(shè)置平面圖屬性和編輯平面圖5個方面。通過一系列正確的操作,可以方便地生成房屋平面圖。2.2平面圖屬性設(shè)置在這個圖形屬性設(shè)置中,包括層數(shù)設(shè)置、類型設(shè)置、分?jǐn)偤完柵_閣樓歸屬4個方面。類型設(shè)置和分?jǐn)偸欠课菝娣e計算中關(guān)鍵的參數(shù),是是否能夠計算出房屋面積的關(guān)鍵。類型設(shè)置中的功能模塊以準(zhǔn)確的類型基礎(chǔ),提供了對各封閉平面的類型設(shè)定,類型包括戶室、封閉陽臺、陽臺、閣樓、墻體、分?jǐn)偯娣e和未知類型幾種,按封閉面和不同種類分別給予設(shè)定。2.3平面面積的計算能否準(zhǔn)確合理地計算所需的平面圖的數(shù)據(jù),是評價系統(tǒng)好壞的關(guān)鍵。為了達(dá)到一個比較好的計算效果,系統(tǒng)中綜合運用了

11、數(shù)據(jù)庫的后臺備份技術(shù)及其MapX空間強大的前臺繪圖機計算機技術(shù),較好地實現(xiàn)了計算機平面圖面積的功能。2.4系統(tǒng)輔助功能在這個模塊中,包括轉(zhuǎn)成區(qū)域、區(qū)域合并、生成墻體、三角形角度計算和計算器5個方面。該模塊用來實現(xiàn)平面圖統(tǒng)一集中的管理,為其他幾個管理系統(tǒng)提供了基本信息,用以提高工作效率。2.5系統(tǒng)維護在這個模塊中,包括系統(tǒng)日志、數(shù)據(jù)庫整理、數(shù)據(jù)庫備份、數(shù)據(jù)庫還原4個方面。系統(tǒng)維護中的功能模塊用來保障數(shù)據(jù)庫和系統(tǒng)的安全。綜上所述,系統(tǒng)的功能需求框圖如圖1所示。繪制房屋平面圖平面圖面積計算系統(tǒng)維護系統(tǒng)輔助功能平面圖屬性設(shè)置房屋測繪管理系統(tǒng)圖1 系統(tǒng)總功能需求框圖 Fig.1 systems tota

12、l functional requirements diagram3 系統(tǒng)程序?qū)崿F(xiàn)3.1主界面設(shè)計本程序采用流行的界面設(shè)計技術(shù),符合商業(yè)化軟件設(shè)計的要求。采用菜單、工具欄、狀態(tài)條相結(jié)合的方法,使得用戶能夠在主界面上快速的進(jìn)入所需要的程序模塊,具體的程序運行界面如圖2所示。圖2 系統(tǒng)主界面 Fig.2 system interface3.2 圖層控制功能設(shè)計 圖層控制,最主要的就是能夠新建圖層或者打開現(xiàn)有的圖層。打開圖層以后,能夠選取或者刪除圖層中的元素等。3.3 平面圖屬性設(shè)置功能設(shè)計 平面圖屬性設(shè)置主要包括層數(shù)設(shè)置、類型設(shè)置、分?jǐn)傇O(shè)置和陽臺、閣樓歸屬設(shè)置4個功能模塊。上圖形繪制完成了,才對各

13、個封閉面進(jìn)行各種設(shè)置,以便以后的面積計算。在對封閉面進(jìn)行層數(shù)設(shè)置時,點擊選區(qū)域或框選后選中一個或幾個封閉面,如圖3所示。圖3選定封閉面后窗體 Fig.3 after selecting areas form 在“屬性”菜單中選中“層數(shù)設(shè)置”,在其中輸入基層和結(jié)束層數(shù)。完成對剛才選定的封閉的層數(shù)的設(shè)定。 在對封閉面進(jìn)行分?jǐn)傇O(shè)置時,應(yīng)先畫好平面圖,點擊選區(qū)域或框選后選中多個封閉面(一定要有一個封閉面的類型為戶屋),在“屬性”菜單中選中“分?jǐn)傇O(shè)置”,選擇是一次分?jǐn)傔€是多次分?jǐn)?。則對剛才選定的封閉的分?jǐn)傔M(jìn)行了設(shè)定,被分?jǐn)偯娴念愋桶l(fā)生了變化。 對陽臺、閣樓歸屬的設(shè)置和分?jǐn)傇O(shè)置基本相同,不再贅述。 下面就

14、屬性設(shè)置中重要的功能模塊的設(shè)計和核心代碼實現(xiàn)進(jìn)行分析。 菜單“屬性 類型設(shè)置”單擊事件代碼,用于進(jìn)行圖層類型設(shè)置,類型設(shè)置界面如圖4所示。圖4 類型設(shè)置窗體 Fig.4 type settings form類型設(shè)置代碼如下:Private Sub mnuProperties_Click() Dim fs As Features Dim f As MapXLib.Feature Dim txtLyrF As New MapXLib.Feature Dim rs As ADODB.Recordset Dim szSQL As String Dim frm As frmSProperies Dim

15、ct As Long Dim ret As Long Dim OldType As Long 老的類型 On Error GoTo ErrHandler Set fs = Map1.Layers.Item(REGION_LAYER).Selection - ct = GetCountFromFeatures(fs) If ct = 1 Then 先從數(shù)據(jù)庫刪除數(shù)據(jù) DeleteFromTBFir REGION_LAYER, f.FeatureKey 將新類型寫入tbFeature szSQL = UPDATE tbFeature & _ SET jchh= & CStr(frm.HuHao)

16、& , & _ ftype= & CStr(frm.Htype) & _ WHERE tbName= & REGION_LAYER & AND ftkey= & f.FeatureKey & MAP_CONN.Execute szSQL 改變Feature的顏色 f.Style.RegionPattern = miPatternSolid Select Case frm.Htype Case 0 未知類型 f.Style.RegionColor = lblWZ.BackColor Case 1 戶室 f.Style.RegionColor = lblHS.BackColor Case 2 陽臺

17、 f.Style.RegionColor = lblYT.BackColor Case 3 封閉陽臺 f.Style.RegionColor = lblFBYT.BackColor Case 4 閣樓 f.Style.RegionColor = lblGL.BackColor Case 5 未分?jǐn)偯?f.Style.RegionColor = lblFT.BackColor Case 6 墻體 f.Style.RegionColor = lblQT.BackColor Case Else End Select f.Update End If - If Not rs Is Nothing The

18、n If rs.State = adStateOpen Then rs.Close End If End If Next close the rs If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If Set rs = Nothing End If Exit SubErrHandler: Screen.MousePointer = 0 Set rs = Nothing Set frm = Nothing ErrMessageBox mnuProperties_Click(), Me.CaptionEnd

19、 Sub3.4 平面圖面積計算功能設(shè)計既然是房屋測量系統(tǒng),那么面積計算的功能是不可少的,下面介紹面積測量模塊中的重要代碼。 (l)菜單“屬性 面積計算”單擊事件代碼,用于樓層面積計算,面積計算的結(jié)果如圖5所示。菜單單擊事件代碼如下:Private Sub mnuCalcArea_Click() 面積計算 Call CalculateArea 顯示計算結(jié)果 Call mnuAreaDisp_ClickEnd Sub其中函數(shù)CalculateArea用于計算面積,rnnuAreaDispes-Click用于顯示計算窗體。圖5 面積計算窗體 Fig.5 calculate area form(2)計

20、算面積的核心函數(shù)CalculateArea面積計算Private Sub CalculateArea() Dim frm As Form Dim fs As MapXLib.Features Dim f As MapXLib.Feature Dim szSQL As String Dim szCydy As String 參與分?jǐn)偟膯卧?Dim rs As ADODB.Recordset Dim rs1 As ADODB.Recordset Dim MaxCS As Long 最大層數(shù) Dim MinCS As Long 最小層數(shù) Dim Zjzmj As Double 總建筑面積 Dim Z

21、Gymj As Double 部共用面積 Dim Ztljzmj As Double 總套內(nèi)建筑面積 Dim Zglmj As Double 總閣樓面積 Dim Zftxs As Double 總分?jǐn)傁禂?shù) Screen.MousePointer = 11 Set rs = New ADODB.Recordset Set frm = New frmBusy frm.Message = 正在進(jìn)行面積計算,請稍候. Load frm frm.Show vbModeless, Me DoEvents On Error GoTo ErrHandler 10:在進(jìn)行面積計算之前,做一些初始化的工作 MAP

22、_CONN.Execute DELETE FROM tbHS 20:先計算幾何面積并存入tbFeature中 Set fs = Map1.Layers.Item(REGION_LAYER).AllFeatures For Each f In fs If f.Type = miFeatureTypeRegion Then szSQL = UPDATE tbFeature SET Farea= & CStr(f.Area) & _ WHERE tbName= & REGION_LAYER & & _ AND FtKey= & CStr(f.FeatureKey) & MAP_CONN.Execut

23、e szSQL End If Next 25:將戶室數(shù)據(jù)轉(zhuǎn)入tbHS中 MAP_CONN.Execute INSERT INTO tbHS SELECT * FROM tbFeature & _ WHERE tbFeature.tbName= & REGION_LAYER & & _ AND tbFeature.FType=1 30:計算戶室面積(實用面積),包括陽臺和封閉陽臺 30.10#:將戶室的幾何面積存入tbArea中 MAP_CONN.Execute DELETE FROM tbArea MAP_CONN.Execute INSERT INTO tbArea(tbName,FtKey

24、,CH,Harea) & _ SELECT tbHS.tbName,tbHS.FtKey, & _ (CSTR(jc) & - & Cstr(JC+CS-1) as CH, & _ tbHS.Farea FROM tbHS 30.20#:計算陽臺的幾何面積并加到tbArea.Harea中去 rs.Open SELECT * FROM qryYT, MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText Do While Not rs.EOF MAP_CONN.Execute UPDATE tbArea & _ Set tbArea.Harea

25、= tbArea.Harea + & CStr(rs!YTArea) & , & _ tbArea.YT=tbArea.YT+ & CStr(rs!YTArea) & _ Where tbArea.tbName = & CStr(rs!tbName) & And & _ tbArea.FtKey = & CStr(rs!FTKey) & rs.MoveNext Loop If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 30.30#:計算封閉陽臺的幾何面積并加到tbArea.Harea

26、中去 rs.Open SELECT * FROM qryFBYT, MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText Do While Not rs.EOF MAP_CONN.Execute UPDATE tbArea & _ Set tbArea.Harea = tbArea.Harea + & CStr(rs!YTArea) & , & _ tbArea.YT=tbArea.YT+ & CStr(rs!YTArea) & _ Where tbArea.tbName = & CStr( & rs!tbName) & And & _ tb

27、Area.FtKey = & CStr( & rs!FTKey) & rs.MoveNext Loop If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 40:計算一次分?jǐn)傁禂?shù)及面積 rs.Open SELECT tbName,FtKey,Sum(YCFTMJ) as FTMJ FROM qryHSYCFT GROUP BY tbName,FtKey, MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText Do While Not r

28、s.EOF MAP_CONN.Execute UPDATE tbArea & _ SET tbArea.ycftxs= & CStr(rs!YCFTXS) & , & _ TbArea.YCFTMJ = & CStr(rs!YCFTMJ) & _ WHERE tbArea.tbName= & CStr(rs!tbName) & AND & _ tbArea.FTKey = & CStr(rs!FtKey) & MAP_CONN.Execute UPDATE tbArea & _ SET tbArea.YCFTMJ = & CStr(rs!FTMJ) & _ WHERE tbArea.tbNam

29、e= & CStr(rs!tbName) & AND & _ tbArea.FTKey = & CStr(rs!FTKey) & rs.MoveNext Loop If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 50:計算多次分?jǐn)傁禂?shù)及面積 rs.Open SELECT tbName,FtKey,Sum(DCFTMJ) as FTMJ FROM qryHSDCFT GROUP BY tbName,FtKey, MAP_CONN, adOpenKeyset, adLockPessimi

30、stic, adCmdText Do While Not rs.EOF MAP_CONN.Execute UPDATE tbArea & _ SET tbArea.dcftmj = & CStr(rs!FTMJ) & _ WHERE tbArea.tbName= & CStr(rs!tbName) & AND & _ tbArea.FTKey = & CStr(rs!FTKey) & rs.MoveNext Loop If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 55:計算墻體分?jǐn)?/p>

31、系數(shù)及面積(已經(jīng)納入一次分?jǐn)傆嬎阒腥チ? 60:閣樓面積 rs.Open SELECT * FROM qryGL, MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText Do While Not rs.EOF MAP_CONN.Execute UPDATE tbArea & _ SET tbArea.GLmj = & CStr(rs!GLArea) & & _ WHERE tbArea.tbName= & CStr(rs!tbName) & AND & _ tbArea.ftKey = & CStr(rs!FTKey) & rs.MoveNe

32、xt Loop If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 70:計算建筑面積 MAP_CONN.Execute UPDATE tbArea & _ SET jzmj = Harea + ycftmj + dcftmj + glmj 75:處理報表數(shù)據(jù) 75.10#:清空分?jǐn)偯娣e表tbFTarea MAP_CONN.Execute DELETE FROM tbFTarea 75.20#:插入一次分?jǐn)偯婷娣e szSQL = INSERT INTO tbFTarea ( FtKey,

33、 CH, Jhmj, zmj, HSzmj, ftlx ) & _ SELECT tbFeature.FtKey AS Ftkey, & _ (CStr(tbFeature.Jc) & - & CStr(tbFeature.JC + tbFeature.CS - 1) AS CH, & _ tbFeature.Farea AS Jhmj, (tbFeature.Farea * tbFeature.CS) AS zmj, & _ qryYCFTZMJ.YCZMJ AS HSzmj, 一次分?jǐn)?AS Ftlx & _ From tbFeature, qryYCFTZMJ & _ WHERE qry

34、YCFTZMJ.tbName=tbFeature.tbName AND & _ qryYCFTZMJ.FtKey=tbFeature.FtKey MAP_CONN.Execute szSQL 75.30#:插入多次分?jǐn)偯娣e szSQL = INSERT INTO tbFTarea(FtKey,CH,Jhmj,zmj,HSzmj,Ftlx) & _ SELECT tbFeature.FtKey AS Ftkey, & _ (CStr(tbFeature.Jc) & - & CStr(tbFeature.JC + tbFeature.CS - 1) AS CH, & _ tbFeature.Far

35、ea AS Jhmj, (tbFeature.Farea * tbFeature.CS) AS zmj, & _ qryDCFTZMJ.DCZMJ, 多次分?jǐn)?AS Ftlx & _ From qryDCFTZMJ, tbFeature & _ WHERE qryDCFTZMJ.tbName=tbFeature.tbName AND & _ qryDCFTZMJ.FtKey=tbFeature.FtKey MAP_CONN.Execute szSQL 75.40#:更新分?jǐn)傁禂?shù)、參與分?jǐn)偟膯卧?分?jǐn)傁禂?shù) MAP_CONN.Execute UPDATE tbFTarea SET Ftxs=zmj

36、/HSzmj 參與分?jǐn)偟膯卧?rs.Open SELECT FtKey,Cydy FROM tbFTarea, MAP_CONN, adOpenKeyset, adLockPessimistic, adCmdText Set rs1 = New ADODB.Recordset Do While Not rs.EOF szSQL = SELECT (A & H_FtKey) as HFK FROM tbFir WHERE F_TbName= szSQL = szSQL & REGION_LAYER & AND F_FtKey= & & rs(FtKey) & rs1.Open szSQL, MA

37、P_CONN, adOpenKeyset, adLockPessimistic, adCmdText Set rs1 = MAP_CONN.Execute(szSQL) szCydy = Do While Not rs1.EOF szCydy = szCydy & & rs1(HFK) & , rs1.MoveNext Loop If Right(szCydy, 1) = , Then szCydy = Left(szCydy, Len(szCydy) - 1) End If update the recordset rs.Update Array(Cydy), Array(szCydy) -

38、 If Not rs1 Is Nothing Then If rs1.State = adStateOpen Then rs1.Close End If End If - rs.MoveNext Loop release the pointer If Not rs1 Is Nothing Then If rs1.State = adStateOpen Then rs1.Close End If Set rs1 = Nothing End If 77:統(tǒng)計 77.10#:計算層數(shù) Set rs = MAP_CONN.Execute(SELECT Max(jc+cs-1) as MaxC FROM

39、 tbFeature WHERE tbName= & REGION_LAYER & ) If Not rs.EOF Then MaxCS = rs(MaxC) End If If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If Set rs = MAP_CONN.Execute(SELECT Min(jc) as MinC FROM tbFeature WHERE tbName= & REGION_LAYER & ) If Not rs.EOF Then MinCS = rs(MinC)

40、End If If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If If MinCS 0 Then MaxCS = MaxCS - MinCS End If 77.20#: Dim Zjzmj As Double 總建筑面積 Dim ZGymj As Double 總共用面積 Dim Ztljzmj As Double 總套內(nèi)建筑面積 Dim Zglmj As Double 總閣樓面積 Dim Zftxs As Double 總分?jǐn)傁禂?shù) 總共用面積 Set rs = MAP_CONN.Ex

41、ecute(SELECT Sum(Zmj) as GYMJ FROM rptFT) If Not rs.EOF Then If Not IsNull(rs(GYMJ) Then ZGymj = rs(GYMJ) End If End If If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 總套內(nèi)建筑面積 szSQL = SELECT Sum(tbArea.Harea*tbFeature.cs) as TLMJ FROM tbArea,tbFeature & _ WHERE tbArea

42、.Tbname=tbFeature.tbName AND tbArea.FtKey=tbFeature.FtKey Set rs = MAP_CONN.Execute(szSQL) If Not rs.EOF Then If Not IsNull(rs(TLMJ) Then Ztljzmj = rs(TLMJ) End If End If If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 總建筑面積 Zjzmj = ZGymj + Ztljzmj 總閣樓面積 szSQL = SELEC

43、T Sum(cs*farea) as GLMJ FROM tbFeature WHERE tbName= & REGION_LAYER & AND Ftype=4 Set rs = MAP_CONN.Execute(szSQL) If Not rs.EOF Then If Not IsNull(rs(GLMJ) Then Zglmj = 0 + rs(GLMJ) End If End If If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If End If 總分?jǐn)傁禂?shù) If Ztljzmj 0 Then

44、 Zftxs = ZGymj / Ztljzmj End If 寫入數(shù)據(jù)庫 szSQL = UPDATE tbTable SET Cs= & CStr(MaxCS) & , & _ Zjzmj= & CStr(Zjzmj) & , & _ Zgymj= & CStr(ZGymj) & , & _ Ztljzmj= & CStr(Ztljzmj) & , & _ Zglmj= & CStr(Zglmj) & , & _ Zftxs= & CStr(Zftxs) & _ WHERE LyrName= & REGION_LAYER & MAP_CONN.Execute szSQL 80:計算結(jié)束,顯

45、示計算結(jié)果 Screen.MousePointer = 0 If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End If Set rs = Nothing End If Unload frm - Exit SubErrHandler: Screen.MousePointer = 0 If Not frm Is Nothing Then Unload frm End If - If Not rs Is Nothing Then If rs.State = adStateOpen Then rs.Close End

46、 If Set rs = Nothing End If - If Not rs1 Is Nothing Then If rs1.State = adStateOpen Then rs1.Close End If Set rs1 = Nothing End If ErrMessageBox CalculateArea():面積計算出錯!, Me.CaptionEnd Sub以上計算函數(shù),主要是從數(shù)據(jù)庫中讀取各種數(shù)據(jù),然后進(jìn)行各種統(tǒng)計計算。 在計算面積的同時。還可以打印。在圖5中,單擊“打印預(yù)覽”按鈕,可以進(jìn)行預(yù)覽并打印,如圖6所示。圖6 打印預(yù)覽窗體 Fig.6 print preview fo

47、rm3.5 系統(tǒng)輔助功能設(shè)計“系統(tǒng)輔助”模塊主要完成圖形轉(zhuǎn)換、合并等操作,輔助平面圖繪制人員進(jìn)行圖形的繪制。系統(tǒng)輔助功能包括區(qū)域轉(zhuǎn)換、區(qū)域合并、三角形角度計算和生成墻體。三角形角度計算的窗體frmTriangle如圖7所示,可以計算三角形的角度。用戶只需要在3個文本框中輸入三角形三條邊的長度,就可以計算出三條邊之間的角度,可以在窗體中畫出三角形。圖7 三角形角度計算窗體 Fig.7 triangle angle calculation form可以通過選擇一定的區(qū)域,然后將其變成墻體。生成墻體可以實現(xiàn)這個功能。例如墻體厚度設(shè)定為13米,墻體設(shè)定前后,圖層的外觀分別如圖8和圖9所示。 圖8 設(shè)定墻體前窗體 圖9 設(shè)定墻體后窗體Fig.8 before setting wall form Fig.9 after setting wall form3.6 系統(tǒng)維護功能設(shè)計在這個模塊中,包括系統(tǒng)日志、數(shù)據(jù)庫整理、數(shù)據(jù)庫備份、數(shù)據(jù)庫還原4個方面。系統(tǒng)維護中的功能模塊用來保障數(shù)據(jù)庫和系統(tǒng)安全性。系統(tǒng)日志的窗體如圖10所示。圖10 系統(tǒng)日志窗體 Fig.10 system log form4 結(jié)語本文提出的房屋測繪管理系統(tǒng)是基于MAPX

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!