第四部分GIS底層開發(fā)技術(shù)_第1頁
第四部分GIS底層開發(fā)技術(shù)_第2頁
第四部分GIS底層開發(fā)技術(shù)_第3頁
第四部分GIS底層開發(fā)技術(shù)_第4頁
第四部分GIS底層開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

GIS軟件開發(fā)技術(shù)主講:蔡忠亮武漢大學(xué)資源與環(huán)境科學(xué)學(xué)院2課程主要內(nèi)容第一部分GIS軟件開發(fā)技術(shù)基礎(chǔ)第二部分MapInfo環(huán)境下的GIS開發(fā)技術(shù)第三部分Arc/Info環(huán)境下的GIS開發(fā)技術(shù)第四部分GIS底層開發(fā)技術(shù)3第四部分GIS軟件底層開發(fā)技術(shù)

第一章GIS軟件界面設(shè)計(jì)第二章數(shù)據(jù)管理模塊開發(fā)第三章視圖管理模塊開發(fā)第四章圖形編輯模塊開發(fā)第五章數(shù)據(jù)庫模塊開發(fā)第六章空間分析模塊開發(fā)第七章制圖模塊開發(fā)附錄常用開發(fā)技術(shù)4實(shí)例設(shè)計(jì)5實(shí)例設(shè)計(jì)CGeoLineCGeoPolyCGeoRegionCGeoRouteCGeoPointCGeoGroupCGeoMapCGeoObjectCGeoLayerCGeoAnno主要數(shù)據(jù)結(jié)構(gòu)6第一章GIS軟件界面設(shè)計(jì)1.1GIS用戶界面類型CommandLineWIMP(Windows,Icons,Menus,Pointingdevices)NL(NaturalLanguage)DM(DirectManipulation)DQ(DynamicQuerying)VR(VirtualReality)7第一章GIS軟件界面設(shè)計(jì)1.2GIS用戶界面設(shè)計(jì)原則可視化控件(Widget)一致性原則平臺(tái)一致性(Platform)原則盡量避免出現(xiàn)用戶警告或錯(cuò)誤信息用戶反饋(Feedback)原則創(chuàng)造安全的研究環(huán)境盡量讓應(yīng)用系統(tǒng)清晰明了(Self-Evident)節(jié)約(盡量少)使用聲音、顏色、動(dòng)畫等多媒體提供界面的自定制(Customize)和保存設(shè)置的功能避免模式(Modal)行為透明(Transparent)原則8第一章GIS軟件界面設(shè)計(jì)1.3GIS用戶界面設(shè)計(jì)樣式9第一章GIS軟件界面設(shè)計(jì)1.4GIS用戶界面設(shè)計(jì)樣式10第二章數(shù)據(jù)管理模塊開發(fā)數(shù)據(jù)管理系統(tǒng)開放性的標(biāo)志數(shù)據(jù)的輸入數(shù)據(jù)的輸出數(shù)據(jù)存儲(chǔ)數(shù)據(jù)的訪問方式數(shù)據(jù)維護(hù)DXF文件結(jié)構(gòu)11第二章數(shù)據(jù)管理模塊開發(fā)數(shù)據(jù)管理文件操作FILECFilefstream12第三章視圖管理模塊開發(fā)3.1與圖形顯示相關(guān)的MFC類繪圖類CDCCPaintDCCClientDC繪圖設(shè)備類CFontCPenCBrushCRgnCPaletteCBitmap13第三章視圖管理模塊開發(fā)3.1與圖形顯示相關(guān)的MFC類坐標(biāo)映射類設(shè)備無關(guān)性Windows的映射方式設(shè)置方式:CDC::SetMapMode(MM_ISOTROPIC);邏輯坐標(biāo)與物理坐標(biāo)的轉(zhuǎn)換方法CDC::LPtoDP()CDC::DPtoLP()窗口與視口窗口與視口概念操作函數(shù)CDC::SetViewportOrg()CDC::SetViewportExt()CDC::SetWindowOrg()CDC::SetWindowExt()14第三章視圖管理模塊開發(fā)3.1與圖形顯示相關(guān)的MFC類其他繪圖類操作函數(shù)選用繪圖設(shè)備對象SelectStockObject()SelectObject()繪圖屬性設(shè)置函數(shù)設(shè)置或獲取背景顏色SetBkColor()GetBkColor()設(shè)置或獲取背景模式SetBkMode()GetBkMode()設(shè)置或獲取繪制模式SetROP2()GetROP2()15第三章視圖管理模塊開發(fā)3.2文檔與視文檔文檔打開文檔保存文檔關(guān)閉數(shù)據(jù)的輸入/輸出視圖16第三章視圖管理模塊開發(fā)3.3交互式圖形繪制定義繪制菜單定義鼠標(biāo)消息OnMouseMove()OnLButtonDown()OnLButtonUp()OnRButtonDown()OnRButtonUp()OnLButtonDblClk()OnRButtonDblClk()捕捉/釋放鼠標(biāo)焦點(diǎn)SetCapture()ReleaseCapture()拖動(dòng)功能(橡皮條)繪制各種目標(biāo)(圖形、文字)17第三章視圖管理模塊開發(fā)3.3交互式圖形繪制圖形重繪Invalidate()InvalidateRect()視圖操作ZoomIn()ZoomOut()Pan()ShowAll()FullScreen()ScaleZoom()18第三章視圖管理模塊開發(fā)3.3交互式圖形繪制視圖放大實(shí)現(xiàn)19第四章圖形編輯模塊開發(fā)4.1GIS軟件中常用編輯功能定義20第四章圖形編輯模塊開發(fā)4.2環(huán)境設(shè)置定義鼠標(biāo)動(dòng)作定義編輯操作View中增加鼠標(biāo)消息View中增加菜單消息繪圖參數(shù)設(shè)置21第四章圖形編輯模塊開發(fā)4.3消息處理菜單消息處理鼠標(biāo)消息處理22第四章圖形編輯模塊開發(fā)4.4GIS編輯功能實(shí)現(xiàn)23第五章數(shù)據(jù)庫模塊開發(fā)5.1開發(fā)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)關(guān)系數(shù)據(jù)庫概念主要關(guān)系數(shù)據(jù)庫Oracle,SQLServer,Sybase,Informix,Access,F(xiàn)oxPro……數(shù)據(jù)庫的基本術(shù)語數(shù)據(jù)庫表(平面數(shù)據(jù)庫)視圖(虛擬表,一個(gè)或多個(gè)數(shù)據(jù)表中的全部或部分字段。全部或部分記錄組成)記錄集合24第五章數(shù)據(jù)庫模塊開發(fā)5.1開發(fā)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)SQL語言概念StructuredQueryLanguage,用于定義、操作和管理數(shù)據(jù)庫表的工業(yè)標(biāo)準(zhǔn)常用語言選擇:select*(FieldName1,…)fromtable1,…selecttable.*fromtable1,…

wheretable2.FieldName=“wuhan”

selecttable.*fromtable1,…

wheretable2.FieldName=“wuhan”

ANDtable1.FieldName>50過濾:select*fromtable1wherefieldvalue>50排序:select*fromtable1ORDERBYFieldNameASC(DESC)

select*fromtable1,table2,…

ORDERBYtable1.FieldNameASC,

table2.FieldNameDESC25第五章數(shù)據(jù)庫模塊開發(fā)5.1開發(fā)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)MFCODBC數(shù)據(jù)庫的訪問方式ODBC(OpenDatabaseConnectivity)26第五章數(shù)據(jù)庫模塊開發(fā)5.1開發(fā)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)數(shù)據(jù)庫的訪問方式DAO(DataAccessObject)27第五章數(shù)據(jù)庫模塊開發(fā)5.1開發(fā)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)數(shù)據(jù)庫的訪問方式OLEDB28第五章數(shù)據(jù)庫模塊開發(fā)5.1開發(fā)數(shù)據(jù)庫應(yīng)用程序的基礎(chǔ)數(shù)據(jù)庫的訪問方式ADO(ActiveXDataObject)29第五章數(shù)據(jù)庫模塊開發(fā)5.2數(shù)據(jù)庫應(yīng)用程序開發(fā)技術(shù)VisualC++開發(fā)數(shù)據(jù)庫技術(shù)的特點(diǎn)簡單性靈活性訪問速度快可擴(kuò)轉(zhuǎn)性訪問不同類數(shù)據(jù)源VC開發(fā)數(shù)據(jù)應(yīng)用程序基于ODBC基于DAO基于ADO30第五章數(shù)據(jù)庫模塊開發(fā)5.3VC開發(fā)實(shí)例ODBC31第五章數(shù)據(jù)庫模塊開發(fā)5.3VC開發(fā)實(shí)例ADO32第五章數(shù)據(jù)庫模塊開發(fā)5.4GIS數(shù)據(jù)庫混合數(shù)據(jù)庫模型(HybridModel)擴(kuò)展結(jié)構(gòu)模型(ExtentModel)統(tǒng)一數(shù)據(jù)模型(IntegratedModel)面向?qū)ο竽P停∣bject-OrientedModel)時(shí)空數(shù)據(jù)模型(Spatial-TemporalModel)33

關(guān)系數(shù)據(jù)庫存儲(chǔ)空間數(shù)據(jù)第五章數(shù)據(jù)庫模塊開發(fā)空間數(shù)據(jù)與屬性數(shù)據(jù)分開存儲(chǔ)應(yīng)用6.1空間分析模塊內(nèi)容緩沖分析疊置分析

網(wǎng)絡(luò)分析空間統(tǒng)計(jì)分析

聚類分析……第六章空間分析模塊開發(fā)6.2模塊設(shè)計(jì)算法基礎(chǔ)GIS空間分析應(yīng)用模型GraphicLevelGISLevelApplicationLevel第六章空間分析模塊開發(fā)6.2模塊設(shè)計(jì)GIS空間分析制圖輸出地理數(shù)據(jù)庫(DLM)地圖數(shù)據(jù)庫(DCM)GIS系統(tǒng)第六章空間分析模塊開發(fā)6.2模塊設(shè)計(jì)基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)圖形學(xué)算法基礎(chǔ)……第六章空間分析模塊開發(fā)6.2模塊設(shè)計(jì)網(wǎng)絡(luò)分析分層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)第六章空間分析模塊開發(fā)6.2模塊設(shè)計(jì)網(wǎng)絡(luò)分析第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)NodeArcRoute第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)Node節(jié)點(diǎn)編號關(guān)聯(lián)弧段節(jié)點(diǎn)坐標(biāo)1ArcID1,ArcID2,…X,Y2ArcID3,ArcID9,…X,Y………第六章空間分析模塊開發(fā)第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)Node弧段編號起始節(jié)點(diǎn)

終止節(jié)點(diǎn)弧段坐標(biāo)弧段長度1NodeID1NodeID2(x1,y1)(x2,y2)(…)20.502(x1,y1)(x2,y2)(…)78.98…………第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)Arc第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)Arc編號經(jīng)由的節(jié)點(diǎn)、弧段號長度1Node1,Arc2,Node2,Arc4,Arc5,Node3,…..2………第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)DirLine第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)DirLine距離矩陣路徑算法(Dijkstra等)路徑規(guī)劃換乘方案第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)Path6.3模塊實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成第六章空間分析模塊開發(fā)6.3模塊實(shí)現(xiàn)第六章空間分析模塊開發(fā)50第七章制圖模塊開發(fā)7.1圖面整飾7.2符號系統(tǒng)7.4專題地圖制圖7.5普通地圖制圖7.3制圖字體51第七章制圖模塊開發(fā)7.1圖面整飾52第七章制圖模塊開發(fā)53第七章制圖模塊開發(fā)7.2符號系統(tǒng)54第七章制圖模塊開發(fā)55第七章制圖模塊開發(fā)7.3制圖字體56第七章制圖模塊開發(fā)7.3專題地圖制圖57第七章制圖模塊開發(fā)58第七章制圖模塊開發(fā)7.5普通地圖制圖59第七章制圖模塊開發(fā)60附錄:常用開發(fā)技術(shù)1.模板類CArrayGetSize(),GetAt(),Add(),ElementAt(),RemoveAt(),SetAt(),……CObListGetCount(),AddHead(),AddTail(),GetNext(),GetPrev()(),InsertBefore(),……vectorsize(),at(),push_back(),reverse(),……mapinsert(),find(),clear(),,……61附錄:常用開發(fā)技術(shù)2.常用類的常用消息函數(shù)CWinAppInitInstance()ExitInstance()FileNew()FileOpen()OnIdle()CMainFrameOnCreate()OnClose()OnSize()PreCreateWindow()CDocumentOnNewDocument()OnOpenDocument()Serialize()62附錄:常用開發(fā)技術(shù)2.常用類的常用消息函數(shù)CViewOnInitUpdate()OnSize()OnMouseMove(),……OnPrepareDC()OnDraw()OnSetCursor()GetDocument()OnTime()CDialogOnInitDialog()PostNcDestroy()OnSize()PreCreateWindow()OnTime()UpdateData()63附錄:常用開發(fā)技術(shù)2.常用類的常用消息函數(shù)CListBoxOnCreate()OnSelchange()DrawItem(),……MeasureItem()CompareItem()OnChar()OnKillFocus(

溫馨提示

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

評論

0/150

提交評論