空間數(shù)據(jù)的顯示和基本操作_第1頁
空間數(shù)據(jù)的顯示和基本操作_第2頁
空間數(shù)據(jù)的顯示和基本操作_第3頁
空間數(shù)據(jù)的顯示和基本操作_第4頁
空間數(shù)據(jù)的顯示和基本操作_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

空間數(shù)據(jù)的顯示和基本操作第1頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作第2頁,課件共30頁,創(chuàng)作于2023年2月本章目標(biāo)通過本章學(xué)習(xí),能夠使用SuperMapObjects控件編寫代碼,掌握并實現(xiàn)以下基本功能:

1、打開各種數(shù)據(jù)源;

2、顯示空間幾何圖形;

3、能進(jìn)行地圖的放大、縮小等基本操作;

4、對地圖窗口中的圖層進(jìn)行管理。第3頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作本章內(nèi)容

4.1打開數(shù)據(jù)源

4.2空間數(shù)據(jù)的顯示

4.3地圖放大、縮小、漫游等基本操作

4.4圖層管理第4頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作4.1打開數(shù)據(jù)源打開數(shù)據(jù)源思路:第5頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作4.1打開數(shù)據(jù)源控件

SuperWorkSpace、Button按鈕事件

SuperWorkSpace.OpenDatasourceSuperWorkspace.OpenDatasourceEx

傳遞的參數(shù)不同,Ex用于打開數(shù)據(jù)庫類型數(shù)據(jù)源第6頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作4.1打開數(shù)據(jù)源加載控件:SuperMapCoreControls核心控件,并將SuperWorkSpace控件添加到窗體上??丶皩ο蠓椒?、事件功能描述SuperWorkspace1OpenDataSource打開數(shù)據(jù)源文件soDataSource打開數(shù)據(jù)源文件:語法描述soDatasourceSuperWorkspace.OpenDataSource(strDataSourceNameAsString,strAliasAsString,nEngineTypeAsseEngineType,bReadOnlyAsBoolean)第7頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作參數(shù)可選類型描述strDataSourceName必選String數(shù)據(jù)源文件全路徑名(*.sdb)strAlias必選String數(shù)據(jù)源標(biāo)識名(在同一個工作空間中必須唯一)nEngineType必選seEngineType數(shù)據(jù)源引擎類型bReadOnly必選Boolean是否只讀4.1打開數(shù)據(jù)源參數(shù)說明:第8頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作實例:編寫代碼實現(xiàn)打開SDB數(shù)據(jù)源功能(1)窗體設(shè)計:添加Command控件到窗體上,將Command1.Caption屬性設(shè)置為“打開數(shù)據(jù)源”。第9頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作(2)代碼:PrivateSubCommand1_Click()'打開數(shù)據(jù)源

DimobjDsAssoDataSource'定義數(shù)據(jù)源對象變量

DimstrDsNameAsString'定義數(shù)據(jù)源名稱變量

strDsName=App.Path&''\world\world.sdb'''數(shù)據(jù)源相對路徑

SetobjDs=SuperWorkspace1.OpenDataSource(strDsName,"world",sceSDBPlus,False)'打開數(shù)據(jù)源

IfobjDsIsNothingThen'判斷是否打開成功

MsgBox''打開數(shù)據(jù)源失敗!''ExitSubElseMsgBox''打開數(shù)據(jù)源成功!''EndIfSetobjDs=Nothing'釋放變量EndSub第10頁,課件共30頁,創(chuàng)作于2023年2月本章內(nèi)容

4.1打開數(shù)據(jù)源

4.2空間數(shù)據(jù)的顯示

4.3地圖放大、縮小、漫游等基本操作

4.4圖層管理第4章空間數(shù)據(jù)的顯示和基本操作第11頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作4.2空間數(shù)據(jù)的顯示

加載控件:加載SuperMapCoreControls核心控件、工作空間管理器控件SuperWkspManager控件,并將SuperMap、SuperWorkspace控件和SuperWkspManager控件添加到窗體上。在工作空間中打開的數(shù)據(jù)源,可以通過VB中的TreeView控件、ListView控件將其顯示出來。SuperMapObjects為了降低開發(fā)難度,提高開發(fā)效率,提供了專門的輔助控件——工作空間管理器控件SuperWkspManager,其主要功能是將工作空間中管理的所有數(shù)據(jù)進(jìn)行樹狀的直觀顯示。顯示方法只需以下兩個步驟:

第12頁,課件共30頁,創(chuàng)作于2023年2月

Load/Unload事件

SuperWkspManager.ConnectSuperWorkspace.Handle

SuperMap1.ConnectSuperWorkspace1.Handle

SuperWkspManager.Disconnect

SuperWkspManager.Refresh控件

SuperWorkSpace、SuperWkspManager、SuperMap第4章空間數(shù)據(jù)的顯示和基本操作第13頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作控件及對象方法、事件功能描述SuperWkspManager1LDbClick當(dāng)用戶在選項卡列表中某一項上雙擊鼠標(biāo)左鍵時觸發(fā)SuperMap1soLayers(對象)AddDataset用于把一個數(shù)據(jù)集添加到地圖的圖層集合中(1)將工作空間管理器控件和工作空間控件進(jìn)行關(guān)聯(lián),方法為:PrivateSubForm_Load()SuperWkspManager1.ConnectSuperWorkspace1.Handle'在相關(guān)控件之間建立連接EndSub(2)在打開數(shù)據(jù)源成功后,刷新工作空間管理控件,方法為:SuperWkspManager1.Refresh

通過以上兩個步驟,可將工作空間中的數(shù)據(jù)顯示出來,但并沒有將圖形顯示出來,以下通過實例介紹通過工作空間管理器控件打開數(shù)據(jù)集顯示圖形方法和過程。第14頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作語法描述1、工作空間管理控件的雙擊事件SuperWkspManager.LDbClick(nFlagAsSeSelectedItemFlag,strSelectedAsString,strParentAsString)參數(shù)說明:參數(shù)可選類型描述nFlag必選seSelectedItemFlag當(dāng)前選中的項(Item)的類型,如數(shù)據(jù)源、數(shù)據(jù)集、地圖、布局、線型庫、符號庫等。strSelected必選String選中的項的文本。如果是數(shù)據(jù)源,則是數(shù)據(jù)源別名;如果是數(shù)據(jù)集或者地圖、布局,則是其名稱。strParent必選String選中對象的父節(jié)點的名稱,對數(shù)據(jù)集來說,就是數(shù)據(jù)源的名稱,其他類型的選中無用。第15頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作參數(shù)可選類型描述objDataset必選soDataset要添加的數(shù)據(jù)集對象,可以是soDatasetVector或soDatasetRaster對象。bAddToHead必選Boolean表示是否將數(shù)據(jù)集添加到SuperMap最頂層,True表示添加到最頂層;False表示添加到最底層。語法描述

2、添加數(shù)據(jù)集到地圖窗口的圖層集中soLayersoLayers.AddDataset(objDatasetAssoDataset,bAddToHeadAsBoolean)參數(shù)說明:第16頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作實例:

雙擊工作空間管理器中的某個數(shù)據(jù)集后,即可將該數(shù)據(jù)集顯示在地圖窗口上窗體設(shè)計:將工作空間管理器控件、地圖窗口控件添加到窗體上即

SuperWkspManager1、SuperMap1主要步驟:(1)判斷選中的節(jié)點是否是數(shù)據(jù)集(IfnFlag=scsDatasetThen);(2)將選中節(jié)點的父節(jié)點字符串(strParent)作為數(shù)據(jù)源的別名,獲得要顯示的數(shù)據(jù)集對應(yīng)的數(shù)據(jù)源;(3)將選中節(jié)點的字符串(strSelected)作為數(shù)據(jù)集的名稱,得到點中的數(shù)據(jù)集;(4)將步驟3中得到的數(shù)據(jù)集添加到地圖窗口的圖層中;(5)刷新地圖窗口。第17頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作SuperWkspManager_LDbClick(nFlagAsSeSelectedItemFlag,strSelectedAsString,strParentAsString)DimobjDsAssoDataSource'數(shù)據(jù)源變量

DimobjDtAssoDataset'數(shù)據(jù)集變量

IfnFlag=scsDatasetThen'如果點中的是數(shù)據(jù)集

SetobjDs=SuperWorkspace1.Datasources(strParent)IfNot(objDsIsNothing)Then'如果數(shù)據(jù)源非空

SetobjDt=objDs.Datasets(strSelected)IfNot(objDtIsNothing)Then'如果數(shù)據(jù)集非空‘將選中的數(shù)據(jù)集添加到地圖窗口的層中進(jìn)行顯示

SuperMap1.Layers.AddDatasetobjDt,TrueSuperMap1.RefreshEndIfEndIfEndIfSetobjDt=NothingSetobjDs=Nothing代碼:第18頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作注:地圖窗口中顯示的圖形數(shù)據(jù)來自于工作空間。因此,在顯示數(shù)據(jù)之前,需要將SuperMap控件和SuperWorkspace控件進(jìn)行關(guān)聯(lián)。方法是:SuperMap1.ConnectSuperWorkspace1.Handle(通常寫在Form_Load事件中),在使用完后需要斷開控件之間的連接。PrivateSubForm_Load()SuperWkspManager1.ConnectSuperWorkspace1.Handle‘加載地圖列表時需關(guān)聯(lián)

SuperMap1.ConnectSuperWorkspace1.Handle‘地圖顯示時需關(guān)聯(lián)EndSubPrivateSubForm_Unload(CancelAsInteger)SuperWkspManager1.DisconnectSuperMap1.CloseEndSub第19頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作本章內(nèi)容

4.1打開數(shù)據(jù)源

4.2空間數(shù)據(jù)的顯示

4.3地圖放大、縮小、漫游等基本操作

4.4圖層管理第20頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作4.3地圖放大、縮小、漫游等基本操作控件及對象屬性、方法功能描述SuperMap1Action改變地圖窗口的當(dāng)前操作ViewEntire全圖顯示語法描述SuperMap1.ActionseAction

通過該接口可以方便地實現(xiàn)地圖窗口中的五十多種基本操作和編輯功能,包括:(1)基本操作功能:如放大、縮小、漫游、自由縮放和選擇等功能;(2)圖層基本編輯功能:如在地圖窗口圖層中直接創(chuàng)建點、線、面,以及圓、弧、橢圓等參數(shù)化的幾何對象,還可以進(jìn)行節(jié)點編輯,以及生成流動注記等功能;(3)跟蹤層的相應(yīng)功能:直接在跟蹤層上添加各種幾何對象。第21頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作參數(shù)常數(shù)描述seActionscaPan地圖漫游scaZoomIn地圖放大scaZoomOut地圖縮小scaZoomFree地圖自由縮放scaSelect單點方式選擇目標(biāo)scaRectSelect矩形方式選擇目標(biāo)scaCircleSelect圓形方式選擇目標(biāo)scaRegionSelect多邊形方式選擇目標(biāo)…………參數(shù)說明:第22頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作實例:在地圖窗口中進(jìn)行放大、縮小、平移、自由縮放、全圖和選擇基本操作。本實例是增加了Toolbar與ImageList控件,制作了圖標(biāo)工具欄,實現(xiàn)了相應(yīng)功能。代碼:

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.IndexCase1:SuperMap1.Action=scaPanCase2:SuperMap1.Action=scaZoomInCase3:SuperMap1.Action=scaZoomOutCase4:SuperMap1.Action=scaZoomFree2Case5:SuperMap1.ViewEntireCase6:SuperMap1.Action=scaSelectCase7:SuperMap1.Action=scaRectSelectCase8:SuperMap1.Action=scaCircleSelectCase9:SuperMap1.Action=scaRegionSelectEndSelectEndSub第23頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作

運行結(jié)果:第24頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作本章內(nèi)容

4.1打開數(shù)據(jù)源

4.2空間數(shù)據(jù)的顯示

4.3地圖放大、縮小、漫游等基本操作

4.4圖層管理第25頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作4.4圖層管理采用SuperLegend圖例控件進(jìn)行圖層管理圖例控件用于管理地圖窗口中所有圖層的狀態(tài),使用非常方便。(1)將圖例控件與地圖控件相關(guān)聯(lián),方法是:SuperLegend1.ConnectSuperMap1.Handle;(2)當(dāng)?shù)貓D窗口中的圖層發(fā)生變化時刷新圖例,方法是:SuperLegend1.Refresh;(3)修改圖例中圖層屬性后會觸發(fā)SuperLegend_Modified事件,在該事件中刷新地圖即可看到圖層修改的結(jié)果。使用圖例控件后,其對圖層的基本控制的功能全部封裝在控件的右鍵菜單中,用戶可以直接使用完成對圖層的控制。第26頁,課件共30頁,創(chuàng)作于2023年2月第4章空間數(shù)據(jù)的顯示和基本操作控件及對象屬性、事件功能描述SuperLegendModified當(dāng)改變了圖層的可見、可選擇、可捕捉和設(shè)置圖層風(fēng)格等操作后觸發(fā)此事件BackColor返回/設(shè)置圖例控件的背景色EditLabels返回/設(shè)置是否可以編輯圖例中顯示的圖層的名稱Font返回

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論