![supermap-objects開(kāi)發(fā)實(shí)習(xí)報(bào)告_第1頁(yè)](http://file4.renrendoc.com/view/1d582b3adc63e9743a7520cee7deb208/1d582b3adc63e9743a7520cee7deb2081.gif)
![supermap-objects開(kāi)發(fā)實(shí)習(xí)報(bào)告_第2頁(yè)](http://file4.renrendoc.com/view/1d582b3adc63e9743a7520cee7deb208/1d582b3adc63e9743a7520cee7deb2082.gif)
![supermap-objects開(kāi)發(fā)實(shí)習(xí)報(bào)告_第3頁(yè)](http://file4.renrendoc.com/view/1d582b3adc63e9743a7520cee7deb208/1d582b3adc63e9743a7520cee7deb2083.gif)
![supermap-objects開(kāi)發(fā)實(shí)習(xí)報(bào)告_第4頁(yè)](http://file4.renrendoc.com/view/1d582b3adc63e9743a7520cee7deb208/1d582b3adc63e9743a7520cee7deb2084.gif)
![supermap-objects開(kāi)發(fā)實(shí)習(xí)報(bào)告_第5頁(yè)](http://file4.renrendoc.com/view/1d582b3adc63e9743a7520cee7deb208/1d582b3adc63e9743a7520cee7deb2085.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告姓名:學(xué)號(hào):專業(yè):地理信息系統(tǒng)班級(jí):指導(dǎo)教師:2011年12月2日
一、實(shí)習(xí)目的掌握利用SuperMapObjects+C#來(lái)開(kāi)發(fā)GIS系統(tǒng)。熟練應(yīng)用SuperMap來(lái)操作地圖,并對(duì)數(shù)據(jù)進(jìn)行處理。掌握SuperMapObjects開(kāi)發(fā)GIS系統(tǒng)的接口,方法。通過(guò)課程設(shè)計(jì)進(jìn)一步掌握了地理信息系統(tǒng)與應(yīng)用課程的有關(guān)知識(shí),掌握了GIS系統(tǒng)程序設(shè)計(jì)與開(kāi)發(fā)課程的相關(guān)知識(shí),掌握了進(jìn)行系統(tǒng)定義、系統(tǒng)總體設(shè)計(jì)方法、系統(tǒng)詳細(xì)設(shè)計(jì)、空間數(shù)據(jù)庫(kù)設(shè)計(jì)方法,掌握了利用開(kāi)發(fā)語(yǔ)言和GIS組件開(kāi)發(fā)進(jìn)行地理信息系統(tǒng)二次開(kāi)發(fā)的能力,實(shí)現(xiàn)地理信息系統(tǒng)的基本功能和擴(kuò)展功能,掌握面向?qū)ο筮M(jìn)行程序設(shè)計(jì)的方法,并且可以建立空間數(shù)據(jù)庫(kù)完成圖形數(shù)據(jù)和屬性數(shù)據(jù)的統(tǒng)一管理,將所學(xué)的內(nèi)容加以綜合,并且對(duì)GIS的二次開(kāi)發(fā)有了整體的理解,真正實(shí)現(xiàn)從課本到實(shí)踐的應(yīng)用。二、實(shí)習(xí)地點(diǎn)國(guó)防科技大樓602三、實(shí)習(xí)內(nèi)容C#是一種現(xiàn)代的面向?qū)ο笳Z(yǔ)言。它使程序員快速便捷地創(chuàng)建基于Microsoft.NET平臺(tái)的解決方案。利用C#+SuperMapObjects進(jìn)行二次開(kāi)發(fā),熟悉對(duì)GIS系統(tǒng)的二次開(kāi)發(fā)。在此我實(shí)現(xiàn)的主要功能有:1、空間操作功能、地圖瀏覽功能和地圖量算:(1)在這里實(shí)現(xiàn)的功能主要有:打開(kāi)工作空間、關(guān)閉工作空間、退出程序、點(diǎn)選、放大、縮小、平移、自由縮放、全幅顯示和長(zhǎng)度的量算、面積的量算、角度的量算。(2)需要添加的控件有:SuperMap控件、SuperWorkspaceManager控件、SuperLegend控件和SuperWorkspace控件。(3)主要使用的接口:a、控件的關(guān)聯(lián)和斷開(kāi):調(diào)用接口SuperMap.Connect()、SuperWkspMamager.Connect()、SuperLegend.Connct()實(shí)現(xiàn)上述控件的關(guān)聯(lián)。例:this.axSuperMap1.Connect(this.axSuperWorkspace1.CtlHandle);//關(guān)聯(lián)SuperMap,SuperWorkspaceManager控件b、打開(kāi)工作空間:調(diào)用接口SuperWorkspace.Open打開(kāi)工作空間。例:boolblnOpen=this.axSuperWorkspace1.Open(strOpenPath,"");//打開(kāi)工作空間c、關(guān)閉工作空間:調(diào)用接口SuperWorkspace.Close關(guān)閉工作空間。例:axSuperWorkspace1.Close();//關(guān)閉工作空間d、打開(kāi)數(shù)據(jù)源:調(diào)用SoLayers.AddDataset()打開(kāi)選中的數(shù)據(jù)集。例:soLayerobjLy=oaxSuperMap1.Layers.AddDataset(objDt,true);//添加指定數(shù)據(jù)集到地圖窗口中e、地圖瀏覽操作:通過(guò)設(shè)置SuperMap.Action的值將當(dāng)前鼠標(biāo)的操作狀態(tài)設(shè)置為地圖瀏覽操作。例:點(diǎn)選功能的操作:axSuperMap1.Action=SuperMapLib.seAction.scaSelect;ControlState(seAction.scaSelect);//設(shè)置菜單項(xiàng)的狀態(tài)f、地圖量算:通過(guò)接口SuperMap.TrackingLayer獲得跟蹤對(duì)象;然后通過(guò)設(shè)置SuperMap.Action的值將當(dāng)前鼠標(biāo)的操作狀態(tài)為跟蹤層上的繪制線;最后在繪制事件SuperMap.Tracking()中獲得量算結(jié)果,并顯示在狀態(tài)欄中。量算距離的程序:soTrackingLayerobjTLayer=axSuperMap1.TrackingLayer;//獲得跟蹤層對(duì)axSuperMap1.Action=seAction.scaTrackPolyline;//設(shè)置當(dāng)前鼠標(biāo)狀態(tài)為在內(nèi)存中畫(huà)折線(4)準(zhǔn)備的數(shù)據(jù):執(zhí)行屬性顯示功能的結(jié)果2、查詢功能(1)本章通過(guò)使用一幅美國(guó)行政區(qū)劃圖實(shí)現(xiàn)查找Missouri河、查詢Missouri河穿過(guò)的州、查詢Missouri河200公里以內(nèi)的縣、查詢SouthDakota州包含的州和關(guān)聯(lián)查詢SouthDakota州的人口數(shù)的功能。本章是在上一功能的基礎(chǔ)上開(kāi)發(fā)的,且不需要添加特殊的控件,所以控件和上一功能的一樣。(2)準(zhǔn)備的數(shù)據(jù):(3)主要使用的接口和操作:a、查找Missouri河:通過(guò)查詢操作soDatasetVector.Query(),soRecordset.GetGeometry()獲得查詢到的對(duì)象soGeometry,調(diào)用soTrackingLayer.AddEvent()將查詢到的對(duì)象添加到臨時(shí)圖層上顯示。例:soRecordsetobjRecordset=((soDatasetVector)axSuperMap.Layers["RiversL@us"].Dataset).Query("RIVER_NAME='Missouri1'",true,null,"");//查詢到Missouri河soGeometryobjGeo=objRecordset.GetGeometry();//獲得幾何對(duì)象axSuperMap1.TrackingLayer.AddEvent(objGeo,null,"Missouri1");//顯示b、查詢Missouri河穿過(guò)的州:先用a的方法查出Missouri的幾何對(duì)象,再調(diào)用空間查詢soDatasetVector.QueryEx(),并調(diào)用soSelection.FromRecordset()將查詢到的對(duì)象添加到選擇集并高亮顯示。例:soRecordsetobjRecordsetR=objDatasetVectorR.QueryEx(objGeo,seSpatialQueryMode.scsLineCross,"");//空間查詢axSuperMap1.selection.FromRecordset(objRecordsetR);//把帶有幾何對(duì)象的記錄集轉(zhuǎn)化為選擇集c、查詢Missouri河200公里以內(nèi)的縣:先用a的方法查出Missouri的幾何對(duì)象,再執(zhí)行距離查詢soDatasetVector.QueryByDistance(),調(diào)用soSelection.FromRecordset()將查詢到的對(duì)象添加到選擇集并高亮顯示。例:soRecordsetobjRecordsetR=objDatasetVectorR.QueryByDistance(objGeo,200000,"");//距離查詢d、查詢SouthDakota州包含的州:實(shí)現(xiàn)的過(guò)程和步驟與“查詢Missouri河穿過(guò)的州”相同。e、關(guān)聯(lián)查詢SouthDakota州的人口數(shù):新建soRelQueryTableInfo對(duì)象,設(shè)置被關(guān)聯(lián)數(shù)據(jù)集的相關(guān)參數(shù),新建soRelQueryTableInfos對(duì)象,添加一個(gè)或多個(gè)soRelQueryTableInfo對(duì)象,新建soQueryDef對(duì)象,設(shè)置查詢方式、查詢字段、查詢條件,設(shè)置關(guān)聯(lián)表信息soRelQueryTableInfos對(duì)象,通過(guò)soDatasetVector.QueryDef()函數(shù)查詢符合條件的記錄,得到記錄集,通過(guò)記錄集soRecordset.GetFieldValue()獲得關(guān)聯(lián)查詢到的值。例:soRelQueryTableInfosobjRelTables=newsoRelQueryTableInfos();//新建對(duì)象soRelQueryTableInfoobjRelTable=newsoRelQueryTableInfo();//新建對(duì)象soQueryDefobjQueryDef=newsoQueryDef();//定義查詢信息soRecordsetobjRecordset=objDV.Query2(objQueryDef);//查詢符合條件的記錄StringstrValue=objRecordset.GetFieldValue("POP").ToString();//獲得關(guān)聯(lián)查詢到的值查詢Missouri河200公里以內(nèi)的縣的到的結(jié)果3、緩沖區(qū)查詢:(1)本章通過(guò)用長(zhǎng)春市區(qū)圖和奧運(yùn)火炬?zhèn)鬟f路線實(shí)現(xiàn)了創(chuàng)建在奧運(yùn)火炬路線200米警戒范圍的緩沖區(qū),在緩沖區(qū)內(nèi)獲得派出所信息,并查詢各有多少警力。最后將查詢到的結(jié)果在跟蹤圖層上表現(xiàn)出來(lái)。本章是基于第二章的基礎(chǔ)上開(kāi)發(fā)來(lái)的,且不需要添加特殊的控件,所以控件和第二章一樣。(2)準(zhǔn)備的數(shù)據(jù):(3)主要的接口和操作:a、創(chuàng)建緩沖區(qū):調(diào)用接口soSpatialOperator.Buffer()獲得緩沖區(qū)面對(duì)像。b、緩沖區(qū)查詢:調(diào)用接口soDatasetVector.QueryEx(),根據(jù)緩沖區(qū)面對(duì)像對(duì)其他圖層做控件查詢,并對(duì)查詢結(jié)果進(jìn)行統(tǒng)計(jì)。c、顯示分析結(jié)果:通過(guò)接口SuperMap1.TrackingLayer獲得跟蹤圖層對(duì)象,然后將分析的結(jié)果添加到跟蹤圖層上。四、實(shí)習(xí)心得體會(huì)通過(guò)這次設(shè)計(jì),我不但對(duì)組件式的GIS二次開(kāi)發(fā)有了進(jìn)一步的認(rèn)識(shí),也進(jìn)一步熟悉了SuperMapObjects與C#相結(jié)合的應(yīng)用,提高了對(duì)c#和SuperMapObjects的操作能力。以前的學(xué)習(xí)只是學(xué)習(xí)一些單項(xiàng)功能,這些課讓我學(xué)會(huì)了如何靈活的使用和組合這些功能,從而得到一個(gè)新的作品。這在課設(shè)過(guò)程中,我們體會(huì)到了地理信息系統(tǒng)在人們?nèi)粘I钪邪l(fā)揮的廣泛作用,增加了我們對(duì)自己所學(xué)專業(yè)的信心。同時(shí),也增加了我們的理論知識(shí)儲(chǔ)備,鍛煉并提高了實(shí)踐能力,相信這一定會(huì)在今后的學(xué)習(xí)工作中為我們提供很大的幫助。附錄:緩沖區(qū)查詢的主要代碼:創(chuàng)建緩沖區(qū):privatevoid創(chuàng)建緩沖區(qū)ToolStripMenuItem_Click(objectsender,EventArgse){//獲得幾何對(duì)象soGeometryobjSelectGeo=axSuperMap1.selection.ToRecordset(true).GetGeometry();for(intiRecordCount=1;iRecordCount<=this.axSuperMap1.selection.ToRecordset(true).RecordCount;iRecordCount++){//進(jìn)行緩沖區(qū)分析soGeoRegionobjBufferRegion=((soGeoLine)objSelectGeo).SpatialOperator.Buffer(200,20);//顯示soTextPartoTp=newsoTextPartClass();soGeoTextoGt=newsoGeoTextClass();soTextStyleoTStyle=newsoTextStyleClass();oTp.Text="200米警戒范圍";oTp.x=objBufferRegion.CentroidPoint.x;oTp.y=objBufferRegion.CentroidPoint.y;oGt.AddPart(oTp);oTStyle.Align=seTextAlign.sctMiddleCenter;oTStyle.FontHeight=200;oTStyle.Color=(uint)ColorTranslator.ToOle(Color.Red);oTStyle.Bold=true;oGt.TextStyle=oTStyle;this.axSuperMap1.TrackingLayer.AddEvent((soGeometry)oGt,null,"");//將文本添加到跟蹤層上顯示this.axSuperMap1.TrackingLayer.AddEvent((soGeometry)objBufferRegion,null,"");}axSuperMap1.Refresh();}緩沖區(qū)查詢:privatevoid緩沖區(qū)查詢ToolStripMenuItem_Click(objectsender,EventArgse){//設(shè)置點(diǎn)風(fēng)格soStyleobjStyle=newsoStyleClass();objStyle.PenColor=(uint)ColorTranslator.ToOle(Color.Blue);objStyle.PenWidth=20;objStyle.SymbolSize=24;objStyle.SymbolStyle=66;//查詢政府單位圖層soLayerobjLy=this.axSuperMap1.Layers["Government@changchun"];//進(jìn)行空間查詢soRecordsetobjRd=((soDatasetVector)objLy.Dataset).QueryEx(this.axSuperMap1.TrackingLayer.get_Event(1).geometry,seSpatialQueryMode.scsContaining,"code=3");//顯示for(intiRecordCount=1;iRecordCount<=objRd.RecordCount;iRecordCount++){soGeometryoGeo=objRd.GetGeometry();soTextStyleoTStyl=newsoTextStyleClass();//創(chuàng)建文本oTStyl.FontHeight=200;oTStyl.Align=seTextAlign.sctBottomLeft;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二輪摩托車(chē)轉(zhuǎn)讓協(xié)議樣本(4篇)
- 2025年交通運(yùn)輸合同樣本(三篇)
- 2025年人事在企業(yè)實(shí)習(xí)心得體會(huì)(3篇)
- 2025年中學(xué)數(shù)學(xué)聽(tīng)課心得例文(4篇)
- 2025年個(gè)人設(shè)備維修合同(三篇)
- 2025年中學(xué)教學(xué)開(kāi)放日活動(dòng)總結(jié)(二篇)
- 2025年五年級(jí)少隊(duì)工作總結(jié)模版(四篇)
- 2025年中學(xué)政教員工作總結(jié)范文(二篇)
- 2025年二年級(jí)教師年度工作小結(jié)(2篇)
- 2025年臨床護(hù)理實(shí)習(xí)心得體會(huì)樣本(5篇)
- 保潔班長(zhǎng)演講稿
- 課題研究實(shí)施方案 范例及課題研究方法及技術(shù)路線圖模板
- 牙髓炎中牙髓干細(xì)胞與神經(jīng)支配的相互作用
- 勞務(wù)雇傭協(xié)議書(shū)范本
- 【2022屆高考英語(yǔ)讀后續(xù)寫(xiě)】主題升華積累講義及高級(jí)句型積累
- JGJ52-2006 普通混凝土用砂、石質(zhì)量及檢驗(yàn)方法標(biāo)準(zhǔn)
- 環(huán)境監(jiān)測(cè)的基本知識(shí)
- 電動(dòng)車(chē)棚施工方案
- 《中國(guó)十大書(shū)法家》課件
- 超實(shí)用可編輯版中國(guó)地圖全圖及分省地圖
- 西方法律思想史ppt
評(píng)論
0/150
提交評(píng)論