版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聲卡機(jī)架調(diào)試課程設(shè)計(jì)
- 崗位與招聘課程設(shè)計(jì)
- 陜西省寶雞市2024屆中考數(shù)學(xué)四模試卷含解析
- 山西省朔州懷仁縣聯(lián)考2024屆十校聯(lián)考最后數(shù)學(xué)試題含解析
- 2024-2030年中國(guó)耐高溫連接器行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 2024-2030年中國(guó)美術(shù)培訓(xùn)市場(chǎng)投資潛力與未來(lái)前景預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)羅非魚加工行業(yè)發(fā)展?fàn)顩r分析及市場(chǎng)消費(fèi)趨勢(shì)調(diào)研報(bào)告
- 2024-2030年中國(guó)網(wǎng)絡(luò)競(jìng)技游戲?qū)?zhàn)平臺(tái)行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)研究報(bào)告
- 2024-2030年中國(guó)網(wǎng)紅經(jīng)濟(jì)行業(yè)經(jīng)營(yíng)風(fēng)險(xiǎn)及投資效益預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)細(xì)菌纖維素行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 骨腫瘤患者的護(hù)理查房-PPT課件
- 《干部履歷表》(電子版)
- 動(dòng)詞ing形式用法歸納
- 回彈法檢測(cè)泵送混凝土測(cè)區(qū)強(qiáng)度換算表
- 幼兒園中班語(yǔ)言課一起來(lái)洗澡公開課ppt
- Resume(簡(jiǎn)歷英文版)
- 臺(tái)灣民法典目錄
- (精選)剪力墻結(jié)構(gòu)優(yōu)秀畢業(yè)設(shè)計(jì)
- 中國(guó)道路交通標(biāo)志大全
- 智能電梯控制系統(tǒng)項(xiàng)目可行性研究報(bào)告寫作范文
- 精讀Unit2課文-The-Fun-They-Had(新)
評(píng)論
0/150
提交評(píng)論