MAPGIS的基本概念和體系結(jié)構(gòu)_第1頁(yè)
MAPGIS的基本概念和體系結(jié)構(gòu)_第2頁(yè)
MAPGIS的基本概念和體系結(jié)構(gòu)_第3頁(yè)
MAPGIS的基本概念和體系結(jié)構(gòu)_第4頁(yè)
MAPGIS的基本概念和體系結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

MAPGIS二次開發(fā)的基本概念及其數(shù)據(jù)管理本章內(nèi)容1.1、MAPGIS二次開發(fā)的基本概念

1.2、MAPGIS的數(shù)據(jù)組織

1.3、MAPGIS的工作區(qū)操作

1.4、編寫你的第一個(gè)MAPGIS程序

1.1MAPGIS二次開發(fā)的基本概念成熟實(shí)用的地理信息系統(tǒng)(GIS)的重要標(biāo)志就是它提供給用戶的二次開發(fā)能力。MAPGIS提供完整的二次開發(fā)函數(shù)庫(kù)。用戶完全可以在MAPGIS平臺(tái)上開發(fā)面向各自領(lǐng)域的應(yīng)用系統(tǒng)。 操作系統(tǒng)、MAPGIS開發(fā)庫(kù)及MAPGIS應(yīng)用程序的相互關(guān)系如下圖所示

MAPGIS應(yīng)用程序工作區(qū)管理空間分析圖形、圖象Windows3.x、Windows95、

MAPGIS開發(fā)庫(kù)MAPGIS應(yīng)用程序工作區(qū)管理空間分析圖庫(kù)操作圖形、圖象I/OWindows98、Windows2000、WindowsNT

MAPGIS開發(fā)庫(kù)窗口操作1.1MAPGIS二次開發(fā)的基本概念MAPGIS二次開發(fā)函數(shù)庫(kù)包括下表所列部分,這些庫(kù)函數(shù)都支持Windows98,2000,NT操作系統(tǒng)。32位函數(shù)庫(kù)(支持Windows98,2000,NT)函數(shù)庫(kù)名稱動(dòng)態(tài)庫(kù)文件c,c++連接文件c,c++說(shuō)明文件工作區(qū)基礎(chǔ)函數(shù)bas32.dllBas32.libWin_area.h圖形顯示輸出Mapdsp32.dllMapdsp32.libMap_out.h工作區(qū)管理函數(shù)w32_area.dllW32_area.libWin_area.h圖形窗口操作W32_oper.dllW32_oper.libWin_oper.h空間分析函數(shù)W32_anly.dllW32_anly.libSpc_anly.h地圖庫(kù)讀取顯示D32_view.dllD32_view.libDbs_view.h圖形編輯函數(shù)Maped32.dllMaped32.libMapedit.h1.1MAPGIS二次開發(fā)的基本概念

API函數(shù)MAPGIS二次開發(fā)支持的開發(fā)方式

函數(shù)庫(kù)提供了從最基本數(shù)據(jù)單元的讀取、保存、更新和維護(hù)到MAPGIS地圖庫(kù)的建立和漫游,以及空間分析,圖象處理等一系列功能,MAPGIS應(yīng)用程序可以根據(jù)需要在任何層次上進(jìn)行開發(fā)。2基于MFC類庫(kù)C++類可重用基類,將應(yīng)用程序所需的常見圖形編輯,工程管理功能作了封裝,使用便利,改動(dòng)靈活。

3COM組件是MAPGIS新一代體系結(jié)構(gòu)的表現(xiàn),可實(shí)現(xiàn)高效率的開發(fā)。4ActiveX控件1.2MAPGIS的數(shù)據(jù)管理工作區(qū)

工作區(qū)是MAPGIS提出的一個(gè)概念,簡(jiǎn)單地說(shuō),工作區(qū)就是一個(gè)數(shù)據(jù)池,存放實(shí)體的空間數(shù)據(jù)、拓?fù)鋽?shù)據(jù)、圖形數(shù)據(jù)和屬性數(shù)據(jù),每個(gè)工作區(qū)都對(duì)應(yīng)于一個(gè)MAPGIS數(shù)據(jù)文件。深入了解工作區(qū)的邏輯結(jié)構(gòu)和工作區(qū)操作函數(shù)的使用,是進(jìn)行成功的二次開發(fā)的關(guān)鍵。MAPGIS數(shù)據(jù)管理的核心就是對(duì)工作區(qū)的操作。

1.2MAPGIS的數(shù)據(jù)管理工作區(qū)管理模塊的位置MAPGIS應(yīng)用程序應(yīng)用模塊工作區(qū)開發(fā)接口MAPGIS工作區(qū)管理模塊工作區(qū)(空間數(shù)據(jù)、圖形數(shù)據(jù)、屬性數(shù)據(jù))1.2MAPGIS的數(shù)據(jù)組織工作區(qū)的分類工作區(qū)類型實(shí)體類型點(diǎn)工作區(qū)(.WT文件)點(diǎn)(PNT)線工作區(qū)(.WL文件)線(LIN)、結(jié)點(diǎn)(NOD)區(qū)工作區(qū)(.WP文件)線(LIN)、結(jié)點(diǎn)(NOD)、區(qū)(REG)網(wǎng)工作區(qū)(.WN文件)線(LIN)、結(jié)點(diǎn)(NOD)、網(wǎng)(NET)表工作區(qū)(.WB文件)無(wú)空間實(shí)體,僅有表格記錄由于不同種類的工作區(qū)中空間實(shí)體的類型不同,各類型的工作區(qū)所適用的數(shù)據(jù)操作函數(shù)也就不同。例如,對(duì)點(diǎn)工作區(qū)只能使用操作點(diǎn)實(shí)體數(shù)據(jù)的函數(shù);而對(duì)區(qū)工作區(qū)則可對(duì)線、結(jié)點(diǎn)和區(qū)實(shí)體的數(shù)據(jù)進(jìn)行操作。

1.2MAPGIS空間實(shí)體及數(shù)據(jù)組織實(shí)體類型空間數(shù)據(jù)及拓?fù)鋽?shù)據(jù)圖形參數(shù)缺省屬性點(diǎn)PNT位置D_DOTPNT_INFOID線LIN位置D_DOT數(shù)組拓?fù)銵IN_TOPLIN_INFOID結(jié)點(diǎn)NOD位置D_DOT連接的弧段附加數(shù)據(jù)PNT_INFO,也可以沒(méi)有圖形參數(shù)ID區(qū)REG區(qū)數(shù)據(jù)(邊界弧段號(hào))REG_INFOID、周長(zhǎng)面積網(wǎng)NET網(wǎng)數(shù)據(jù)(組成網(wǎng)的弧段號(hào))NET_INFOID相關(guān)頭文件

basDefine.h1.2MAPGIS空間實(shí)體及數(shù)據(jù)組織例:R2R1L1L3L2L4n4n3n1n21.3MAPGIS的工作區(qū)操作1.3.1初始化和關(guān)閉工作區(qū)實(shí)例1.3.2工作區(qū)基本操作1.3.3工作區(qū)中文件操作1.3.1初始化和關(guān)閉工作區(qū)實(shí)例

1初始化和關(guān)閉工作區(qū)實(shí)例

*創(chuàng)建工作區(qū)實(shí)例AREA_HINST_InitWorkArea(HINSTANCEhInst);*關(guān)閉所有工作區(qū)

int_CloseAllArea(AREA_HINSTahInst);

*釋放工作區(qū)實(shí)例int_FreeWorkArea(AREA_HINSTahInst);

1.3.2MAPGIS工作區(qū)的基本操作

2、工作區(qū)基本操作

*打開某種類型工作區(qū)

short_OpenArea(AREA_HINSTahInst,shorttype);*關(guān)閉指定的工作區(qū)

int_CloseArea(shortai);*設(shè)置指定的工作區(qū)是否改變

short_SetChangeFlag(shortai,charchg);*設(shè)置數(shù)據(jù)壓縮標(biāo)志

short_SetPackFlag(shortai,shortflag);1.3.3工作區(qū)中文件操作

*將某個(gè)文件裝入指定工作區(qū)

short_LoadFile(shortai);*將指定文件裝入指定工作區(qū) _LoadAFile(char*datName,shortai,char*szDSN=NULL, char*szLOG=NULL,

char*szPSW=NULL)

注意:*datName文件名指針這個(gè)參數(shù),若為本地?cái)?shù)據(jù),則必須帶路徑。若為網(wǎng)絡(luò)數(shù)據(jù),則不帶路徑。3工作區(qū)中文件操作

*保存操作_SaveFile_SaveFileAs修改VC的相關(guān)設(shè)置(1)設(shè)置頭文件及庫(kù)文件路徑步驟:選擇Tools菜單下的Options命令,在Directory頁(yè)面上在 Showdirectoriesfor:一欄選擇includefiles,下面填寫MAPGIS二 次開發(fā)庫(kù)頭文件目錄;(安裝SDK時(shí)產(chǎn)生的INCLUDE文件夾的路徑) 再選擇libraryfiles,下面填寫MAPGIS二次開發(fā)庫(kù)目錄.(安裝SDK 時(shí)產(chǎn)生的LIB文件夾的路徑)。原因: 設(shè)置INCLUDE頭文件的路徑是讓編譯器知道類型和函數(shù)的 定義,編譯時(shí)保證正常通過(guò);設(shè)置LIB文件的路徑,是為了連接的 時(shí)候讓程序找到對(duì)應(yīng)的連接庫(kù)文件。

1.4

編寫你的第一個(gè)MAPGIS程序修改VC的相關(guān)設(shè)置(3)設(shè)置字節(jié)步驟: 選擇Project菜單下的Settings命令,在C/C++頁(yè)面上,Category 一欄選擇CodeGeneration,并將StructMemberAlignment設(shè)定 為1Byte。原因: 實(shí)體屬性記錄的字段值是靠字節(jié)的偏移來(lái)取得,還有MAPGIS中定 義的一些Struct,如果不設(shè)為一字節(jié)的對(duì)齊,可能取出亂的數(shù) 值。1.4編寫你的第一個(gè)MAPGIS程序修改VC的相關(guān)設(shè)置(2)設(shè)置輸出路徑步驟:把生成的可執(zhí)行文件輸出到MAPGIS動(dòng)態(tài)連接庫(kù)所在的目錄下:選擇Project 菜單下的Settings命令,在General頁(yè)面上,Outputfiles一欄,填寫mapgis 應(yīng)用程序目錄。 這里注意的是最好開始就在Settingfor中選擇 AllConfigurations,同時(shí) 修改生成的debug和release版本的路徑,以免其中 的一個(gè)版本由于忘記設(shè)置, 找不到相應(yīng)的動(dòng)態(tài)連接庫(kù)而不能運(yùn)行。原因: 程序運(yùn)行是需要相應(yīng)的動(dòng)態(tài)連接庫(kù)的支持。1.4編寫你的第一個(gè)MAPGIS程序

示例打開區(qū)文件并顯示

AREA_HINST m_ahInst; short rai; m_ahInst=_InitWorkArea(AfxGetInstanceHandle());//構(gòu)造函數(shù)中

rai=_OpenRegArea(m_ahInst); //打開一個(gè)工作

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論