資源描述:
《gis設(shè)計-07122868梁瑩gis實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、成績中國礦業(yè)大學(xué)2012級1班課程實驗報告考試科目GIS設(shè)計與開發(fā)考試時間2015年7月1日學(xué)生姓名梁瑩學(xué)號07122868任課教師張海榮中國礦業(yè)大學(xué)環(huán)境與測繪學(xué)院2015年6月目錄【上機目的】1【上機內(nèi)容】1【上機要求】1【詳細步驟】11使用控件創(chuàng)建第一個桌面應(yīng)用程序12地圖打開與保存33縮放與漫游94屬性查詢135空間查詢166建立地理空間數(shù)據(jù)庫197添加shape數(shù)據(jù),柵格數(shù)據(jù)238鷹眼圖26【實習(xí)總結(jié)】28基于ArcObjects組件的常用GIS功能實現(xiàn)【上機目的】熟悉VisualStudio開發(fā)環(huán)境,掌握ArcGISEngine的組件式開發(fā)方式,掌握GIS基本功能
2、的開發(fā)方法。【上機內(nèi)容】以ArcObjectsfor.NET為開發(fā)包,用C#高級程序設(shè)計語言二次開發(fā)一個包含GIS基本操作的應(yīng)用程序,實現(xiàn)地圖文檔的打開、保存、地圖縮放/漫游,屬性查詢,空間查詢,建立并訪問地理空間數(shù)據(jù)庫,TOC控件的右鍵菜單,添加shape數(shù)據(jù),柵格數(shù)據(jù)等?!旧蠙C要求】1.完成代碼的編寫工作,通過對示例代碼的學(xué)習(xí),把這些分散的代碼相互粘合起來,形成一個能實現(xiàn)常用GIS功能的應(yīng)用程序。學(xué)會VisualStudio2010代碼常用調(diào)試方法,學(xué)會QueryInterface。2.了解利用ComGIS進行應(yīng)用型地理信息系統(tǒng)建設(shè)工作的基本思路。3.獨立實驗,認真、按
3、時完成實驗報告。代碼編寫過程中,同時思考以下問題:(1)數(shù)據(jù)源如何被加載訪問的?ArcGIS數(shù)據(jù)組織方式是怎樣的?(2)ArcGISEngine開發(fā)中所涉及的面向?qū)ο笾R中諸如類,繼承,對象,接口等如何表達的?【詳細步驟】1使用控件創(chuàng)建第一個桌面應(yīng)用程序1.1新建項目在開始菜單中找到MicrosoftVisualStudio2010(簡稱VS),打開新建一個Windows窗體應(yīng)用程序(文件--新建--項目--Windows窗體應(yīng)用程序),見圖1.1.1圖1.1.1新建工程1.2添加容器和控件拖動工具箱容器里的Panel控件至窗體(默認Name為panel1),右鍵屬性調(diào)整D
4、ock為Top;拖動分欄控件SplitContainer至panel1下面,調(diào)整Dock屬性為Fill,并添加TOC,Map,Toolbar控件,見圖1.2.1圖1.2.1構(gòu)建模塊1.3添加地圖文檔在Map處右擊,修改其屬性,添加地圖文檔,見圖1.3.1圖1.3.1添加地圖文檔1.4運行結(jié)果經(jīng)過調(diào)試,查看運行結(jié)果,見圖1.4.1圖1.4.1運行結(jié)果2地圖打開與保存2.1添加控件(1)在MicrosoftVisualStudio2010(以下簡稱VS)中新建工程,設(shè)計窗體布局,添加控件:AxMapControl即Map地圖控件,AxTOCControl目錄控件,AxToolb
5、arControlGIS工具欄控件,見圖2.1.1圖2.1.1添加控件(1)關(guān)聯(lián)控件,使窗體中添加的三個控件保持行為一致,即當(dāng)?shù)貓D發(fā)生變化的時候,其他控件相應(yīng)發(fā)生改變,同時可以利用其他控件對地圖進行操作,設(shè)置方法見圖2.1.2圖2.1.2控件關(guān)聯(lián)2.2添加事件(1)從工具箱中的菜單和工具欄把MenuStrip工具條拖到panel1里,新建文件菜單,在子菜單里新建“打開mxd文檔”項,修改屬性Name為OpenMxd,并建立OpenMxd的Click事件的委托處理函數(shù),見圖1.2.1圖2.2.1添加打開地圖文檔事件(1)在文件菜單的子菜單里新建“保存mxd文檔”項,修改Nam
6、e為SaveMxd,并建立其Click時間的委托處理函數(shù),見圖2.2.2圖2.2.2添加保存地圖文檔事件2.3設(shè)計代碼(1)打開代碼窗口,為OpenMxd_Click函數(shù)添加代碼,實現(xiàn)其打開地圖文檔的功能,代碼如下:privatevoidOpenMxd_Click(objectsender,EventArgse){OpenFileDialogopenFileDialog=newOpenFileDialog();openFileDialog.Title="打開mxd文檔;openFileDialog.Multiselect=false;openFileDialog.Filte
7、r="*.mxd
8、*.mxd";openFileDialog.RestoreDirectory=true;if(openFileDialog.ShowDialog()==DialogResult.OK){try{IMapDocumentmapDocument=newMapDocumentClass();boolisPasswordProtected=mapDocument.get_IsPasswordProtected(openFileDialog.FileName);if(!isPasswordProtected