![Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/8/d033ef8b-284c-49dc-ad2f-7b12a666df01/d033ef8b-284c-49dc-ad2f-7b12a666df011.gif)
![Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/8/d033ef8b-284c-49dc-ad2f-7b12a666df01/d033ef8b-284c-49dc-ad2f-7b12a666df012.gif)
![Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/8/d033ef8b-284c-49dc-ad2f-7b12a666df01/d033ef8b-284c-49dc-ad2f-7b12a666df013.gif)
![Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/8/d033ef8b-284c-49dc-ad2f-7b12a666df01/d033ef8b-284c-49dc-ad2f-7b12a666df014.gif)
![Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-8/8/d033ef8b-284c-49dc-ad2f-7b12a666df01/d033ef8b-284c-49dc-ad2f-7b12a666df015.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討第28卷第5期2005年lO月測(cè)繪與空間地理信息GEOMATICS&SPATIALINFORMATIONTEcHNolDGYVo1.28,No.5Oct.,2005Oracle空間數(shù)據(jù)庫(kù)與VB集成開發(fā)GIS應(yīng)用軟件探討莫才健(西南科技大學(xué),四川綿陽(yáng)621010)摘要:以基于空間數(shù)據(jù)庫(kù)的城鎮(zhèn)地籍管理信息系統(tǒng)為例,介紹了以Maplnfo與VB作為開發(fā)工具.采用Oracle空間數(shù)據(jù)庫(kù)與OLE自動(dòng)化技術(shù),集成開發(fā)應(yīng)用GIS軟件的方法,分析了開發(fā)過(guò)程中遇到的幾個(gè)關(guān)鍵技術(shù)點(diǎn),并給出了相應(yīng)技術(shù)點(diǎn)的實(shí)現(xiàn)方法.關(guān)鍵詞:GIS;Maplnfo;空間數(shù)據(jù)
2、庫(kù);OLE中圖分類號(hào):P208文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):16725867(2005)05004102ProbingintotheDevelopmentofGISApplicationSoftwarebyIntegratingOracleSpatialDatabasewithVBMOCai-jian(SouthwestUniversityofScienceandFechnology,Mianyang621010,China)Abstract:TakingtheinformationsystemofUrbanCadastralManagementbasedonSpatiMDatabaseasanex
3、ample,thispaperintro-ducesthemethodfordevelopingGISapplicationsoftwarebyusingVBandMaplnfoasdevelopingtoolandadoptingtheOLEautomatictechnologyandOracleSpatialDatabase.Thenitanalysessometechnologicalkeypointsintheprocessofdevelopmentandpresentheircorrespondingsolutions.Keywords:GIS;Maplnfo;SpatialData
4、base;OLEO引言隨著具有工業(yè)化標(biāo)準(zhǔn)的商業(yè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的開展和成熟,充分利用RDBMS數(shù)據(jù)管理的功能,使空間數(shù)據(jù)與非空間數(shù)據(jù)一體化集成,能夠?qū)崿F(xiàn)真正的C/S和B/S結(jié)構(gòu),并通過(guò)中間件(空間引擎)將G1S平臺(tái)與空間數(shù)據(jù)庫(kù)有機(jī)結(jié)合,將面向空間數(shù)據(jù)管理及應(yīng)用所需的技術(shù)高度專業(yè)化的實(shí)現(xiàn)出來(lái),這必將成為GIS開展趨勢(shì).本文介紹了采用OLE自動(dòng)化技術(shù)與空間數(shù)據(jù)庫(kù)進(jìn)行GIS開發(fā)過(guò)程中的幾個(gè)關(guān)鍵問(wèn)題并給出實(shí)現(xiàn)方法.1系統(tǒng)結(jié)構(gòu)筆者在開發(fā)基于空間數(shù)據(jù)庫(kù)的城鎮(zhèn)地籍管理信息系統(tǒng)過(guò)程中,就是利用Oracle作為后臺(tái)數(shù)據(jù)庫(kù)支持,以Maplnfo與VB作為開發(fā)_T具,集成開發(fā)GIS應(yīng)用軟件.利用MaplnfoPr
5、ofessional的OLE自動(dòng)化技術(shù),將Maplnfo和VB連接起來(lái).再利用ODBC連接將Oracle空間數(shù)據(jù)庫(kù)中的地籍圖形資料和Maplnfo建立連接.由VB提供用戶控制和操作界面,在應(yīng)用程序中嵌入Maplnfo地籍圖形資料,將MaplnfoProfessional作為ActiveX(OLE)自動(dòng)化服務(wù)器,為VB程序提供效勞,用來(lái)操縱和處理地籍圖形資料.在Maplnfo的支持下,系統(tǒng)可實(shí)現(xiàn)對(duì)空間圖形的查詢,空間分析和地圖瀏覽,利用地籍號(hào)可實(shí)現(xiàn)圖形數(shù)據(jù)和屬性數(shù)據(jù)的關(guān)聯(lián).圖1顯示了VB程序與ActiveX(OLE)和ORACLE空間數(shù)據(jù)庫(kù)三者之間在連接控制過(guò)程中的分工與地位,以及應(yīng)用表現(xiàn)層,應(yīng)
6、用效勞層和數(shù)據(jù)效勞層之間的三層構(gòu)架關(guān)系.圖1VB與ActiveX的結(jié)合方式和三層構(gòu)架Fig.1IntegrationofVBandActiveXandthethreelevelsstructure收稹日期:20050224作者簡(jiǎn)介:莫才健(1978一),男,重慶萬(wàn)州人,西南科技大學(xué)環(huán)資學(xué)院任教,主要從事國(guó)土資源管理的GIS軟件開發(fā)和應(yīng)用.42測(cè)繪與空間地理信息2005年2系統(tǒng)實(shí)現(xiàn)方法利用VB開發(fā)客戶端程序,在程序中通過(guò)構(gòu)造一些表示Mapbasic語(yǔ)句的字符串,利用OLE的方式將這些字符串傳給Maplnfo,Maplnfo會(huì)像處理Mapbasic語(yǔ)句一樣處理這些字符串.當(dāng)要查詢一個(gè)Mapbasi
7、c表達(dá)式的返回值時(shí),可以用Eval方法來(lái)發(fā)送表達(dá)式字符串給MapInfo.例如:/將圖層SE添加到NavigatorWinID所指代的窗口上Maplnfo.DoAddMapWindow+strfNavi-gatorWinID)+LayerSE/得到Maplnfo的窗口句柄mapHWnd=CLng(Maplnfo.Eval(“WindowInfo(“&mapWinID&,&WININFOWND&)在空間數(shù)據(jù)庫(kù)實(shí)現(xiàn)上,屬性數(shù)據(jù)和文檔數(shù)據(jù)就像其他關(guān)系型數(shù)據(jù)庫(kù)一樣,將數(shù)據(jù)存儲(chǔ)在Oracle表中,通過(guò)ADO或ODBC連接來(lái)訪問(wèn);對(duì)于圖形數(shù)據(jù),當(dāng)客戶端需要操作圖形對(duì)象時(shí),首
8、先向Maplnfo發(fā)送請(qǐng)求,MapInfo就會(huì)將請(qǐng)求通過(guò)與空間數(shù)據(jù)庫(kù)的連接傳遞到Oracle中,Oracle就會(huì)通過(guò)一系列的空間運(yùn)算返回一張臨時(shí)的Table表到客戶端,這時(shí)對(duì)圖形數(shù)據(jù)的操作就像對(duì)本地表操作一樣方便了.3關(guān)鍵技術(shù)點(diǎn)及解決方案3.1從VB中取得對(duì)MaplnfoProfessional的控制和效勞主要指在VB程序中通過(guò)特定的ActiveX控制接口,執(zhí)行相應(yīng)接口方法函數(shù),向MaplnfoProfessional發(fā)出控制命令,取得其效勞,到達(dá)操縱嵌入在VB程序界面上的Maplnfo圖形數(shù)據(jù)的目的.對(duì)于此技術(shù)點(diǎn)可以利用VB對(duì)ActiveX支持的函數(shù)啟動(dòng)和控制MaplnfoProfessio
9、nal運(yùn)行.OLE自動(dòng)化是Windows程序之間相互操作的技巧,VB完全支持OLE自動(dòng)化操作,可以創(chuàng)立自動(dòng)化客戶程序來(lái)操作其他程序,而Maplnfo那么可以作為OLE對(duì)象的效勞器,并提供了相應(yīng)的一套方法./例如PublicMaplnfoAsObject定義一個(gè)Maplnfo對(duì)象PublictheResponderAsObject接受Maplnfo中返回的對(duì)象PublicmapWinIDAsLong存儲(chǔ)Maplnfo窗口的句柄/VB通過(guò)建立一個(gè)OLE對(duì)象來(lái)創(chuàng)立客戶自動(dòng)化程序.并且把返回結(jié)果賦給一個(gè)對(duì)象類型的變量,以后程序就是通過(guò)這個(gè)變量來(lái)訪問(wèn)OLE對(duì)象SetMaplnfo=CreateObjec
10、t(“Maplnfo.Application)/確信所有的Maplnfo對(duì)話框都作為Mapwin的子級(jí)對(duì)話框Maplnfo.DoSetApplicationWindow&Mapwin.hwnd;/創(chuàng)立一個(gè)新類來(lái)存儲(chǔ)由mapinfo內(nèi)部返回到VB中的值SettheResponder=NewMIResponderMapInfo.SetCallbacktheResponder通過(guò)以上三步就根本建立了VB和MaplnfoProfes-sional之間的通信,后面的一些功能需要用戶根據(jù)自己的實(shí)際需要建立自己的用戶菜單,工具條,工具按鈕等.3.2與空間數(shù)據(jù)庫(kù)的連接及將表數(shù)據(jù)上傳到空間數(shù)據(jù)庫(kù)Mapl
11、nfo從Professional5.5開始,才支持向Oracle8iSpatial中存取空間數(shù)據(jù).在Professional5.5以前,Maplnfo只支持通過(guò)ODBC向Oracle數(shù)據(jù)庫(kù)中存取MaplnfoTable表的屬性數(shù)據(jù).Oracle也只從Oracle8.1.5開始,才向MapInfo提供了OCI底層接口,并通過(guò)OCI接口來(lái)實(shí)現(xiàn)與Maplnfo之間的空間數(shù)據(jù)存取.用戶需要通過(guò)Easyloader來(lái)實(shí)現(xiàn)Maplnfo地圖數(shù)據(jù)向Oracle數(shù)據(jù)庫(kù)中的第一次上載.Maplnfo中的原有的Table表將對(duì)應(yīng)Oracle數(shù)據(jù)庫(kù)中的一張空間表;Maplnfo表中的每一個(gè)對(duì)象將對(duì)應(yīng)Oracle表中
12、的一條記錄,其中記錄的前半局部將存儲(chǔ)原有對(duì)象的屬性數(shù)據(jù),將圖形數(shù)據(jù)上傳到Oracle時(shí)會(huì)自動(dòng)創(chuàng)立3個(gè)字段來(lái)存儲(chǔ)圖形對(duì)象,分別是MISTYLE(對(duì)象的樣式),MIPRIN(對(duì)象的惟一索引),GEOLOC(圖形對(duì)象),Table表的元數(shù)據(jù)(坐標(biāo)系,坐標(biāo)范圍,屬主等信息)存儲(chǔ)在Map-InfoMapCATALOG中./Maplnfo與Oracle之間的2種連接方式?Oracle8iSpatial?hdbc=ServerConnect(“ORAINET,UID=scott;PWD=tiger;SRVR=Orasrv,?ODBChdbc=Server_Connect(“QELIB,DSN=O8idsn;
13、SRV=Orasrv;USR=scott;PWD=tiger)以后對(duì)表的修改,只需要通過(guò)Maplnfo提供的刷新表功能,即可將對(duì)地圖數(shù)據(jù)的新編輯保存到Oralce數(shù)據(jù)庫(kù)中./Maplnfo刷新空間數(shù)據(jù)庫(kù)中的表Maplnfo.DoServerRefresh“&Tablename&3.3向OracleSpatial中上載文本對(duì)象如果直接利用Easyloader向OracleSpatial中上傳Maplnfo表,就會(huì)喪失文本對(duì)象,為了解決這個(gè)問(wèn)題,在向數(shù)據(jù)庫(kù)中上傳表之前就需要先在表中增加幾個(gè)屬性字段,將文本對(duì)象的信息(如:文本對(duì)象的內(nèi)容,文本樣式等)當(dāng)作對(duì)象的屬性值保存到表中,并連同
14、表的其他屬性一起上載到Oracle數(shù)據(jù)庫(kù)中.當(dāng)用戶通過(guò)程序?qū)⒃摫韽腛racleSpatial中下載到Maplnfo中后,再根據(jù)保存在表中的文本對(duì)象的信息,利用程序?yàn)槊總€(gè)記錄再重新創(chuàng)立一具體文本對(duì)象./將文本對(duì)象的屬性信息寫入到對(duì)應(yīng)的字段中updatenewTXTsettxt=strTXT.fontname=fnt_name,fontstyle=fntstyle,fontpointsize=fntpointsize,fontforec-olor=fnt_forecolor,fontbackcolo:fntbackcolor,minx=Lminx,minyf_miny,maxx=f_miny,ma
15、xyf_maxy,fangle=f_angle/根據(jù)字段中的信息生成新的注記CreateTextintoWindowFrontwindow()st(fminx,fminy)(fmaxx,fmaxy)FontMakeFont(fntname,fntstyle,Maximum(fntpointsize,1),fntforecolor,fntbackcolor)Anglef_anglef下轉(zhuǎn)第54頁(yè))54測(cè)繪與空間地理信息2005年(上接第42頁(yè))3.4加快空間數(shù)據(jù)的訪問(wèn)速度由圖2可知.影響空間數(shù)據(jù)庫(kù)的訪問(wèn)速度的因素分為硬件,源數(shù)據(jù)和數(shù)據(jù)庫(kù)的管理3局部,硬件局部需要通過(guò)改善效勞器的性能和網(wǎng)絡(luò)的帶寬來(lái)
16、提高矢量數(shù)據(jù)的傳輸速度.在這里主要談一下解決源數(shù)據(jù)的問(wèn)題和數(shù)據(jù)庫(kù)的管理問(wèn)題.影響源數(shù)據(jù)的主要因素包括圖元質(zhì)量,圖元類型,圖元樣式,圖元壓縮,復(fù)合圖元和文本對(duì)象.因此從源數(shù)據(jù)的角度來(lái)提高空間數(shù)據(jù)的訪問(wèn)速度也必須要從這幾個(gè)方面著手,將數(shù)據(jù)上傳到數(shù)據(jù)庫(kù)之前要節(jié)點(diǎn)疊加,縫隙覆蓋,區(qū)域自交;單一空間表的MDSYS.SDOGEOMETRY所存儲(chǔ)的圖元類盡可能一致;利用節(jié)點(diǎn)抽稀技術(shù)壓縮不必要的節(jié)點(diǎn)信息;減少?gòu)?fù)合圖元的數(shù)量等方式.在數(shù)據(jù)導(dǎo)入時(shí)優(yōu)化構(gòu)件參數(shù),將數(shù)據(jù)進(jìn)行分散存儲(chǔ),使得數(shù)據(jù)庫(kù)能夠防止每次從數(shù)據(jù)庫(kù)中讀人多行數(shù)據(jù)時(shí),對(duì)LOB數(shù)據(jù)必須執(zhí)行掃描操作.根據(jù)索引的建立和性能調(diào)優(yōu),索引占用的存儲(chǔ)空間量,空間數(shù)據(jù)的
17、維護(hù)頻繁度等一些參圖2影響空間數(shù)據(jù)運(yùn)算訪問(wèn)速度的因素Fig.2Thefactorsinfluencedthecalculationandaccessingspeedofspatialdata數(shù)來(lái)選擇R_tree或者Q_tree的空間索引方式.根據(jù)實(shí)際需要對(duì)回滾段,SORTAREASIZE,臨時(shí)表空間等系統(tǒng)參數(shù)進(jìn)行優(yōu)化.選擇適宜的空間算子和合理的連接方式來(lái)提高空間數(shù)據(jù)的訪問(wèn)速度.4結(jié)束語(yǔ)利用OLE自動(dòng)化技術(shù),將MapInfo,VB和Oracle空間數(shù)據(jù)庫(kù)連接起來(lái),構(gòu)建三層結(jié)構(gòu),集成開發(fā)GIS應(yīng)用軟件,既發(fā)揮了VB軟件開發(fā)平臺(tái)擁有豐富的控件和第三方的支持,完全支持Activex技術(shù),強(qiáng)大的數(shù)據(jù)庫(kù)開發(fā)等優(yōu)勢(shì),又發(fā)揮了MapInfoProfessional地理信息系統(tǒng)開發(fā)平臺(tái)具有的對(duì)地理空間數(shù)據(jù)的查詢,分析,輸出等方面具有的強(qiáng)大功能和空間數(shù)據(jù)庫(kù)在存儲(chǔ),管理等方面的優(yōu)點(diǎn).將三者結(jié)合,既能大大提高程序開發(fā)效率,又能使所開發(fā)的應(yīng)用程序界面友好,功能完善,是今后開發(fā)應(yīng)用型GIS軟件的主要方法
溫馨提示
- 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í)數(shù)學(xué)上冊(cè)第一單元《兩、三位數(shù)乘一位數(shù)》聽評(píng)課記錄
- 七年級(jí)數(shù)學(xué)上冊(cè)第5章一元一次方程5.4一元一次方程的應(yīng)用第4課時(shí)利率等其他問(wèn)題聽評(píng)課記錄(新版浙教版)
- 人教版數(shù)學(xué)七年級(jí)下冊(cè)5.1.2《垂線》聽評(píng)課記錄2
- 統(tǒng)編版初中語(yǔ)文七年級(jí)下冊(cè)第四課《孫權(quán)勸學(xué)》聽評(píng)課記錄
- 新版湘教版秋八年級(jí)數(shù)學(xué)上冊(cè)第四章一元一次不等式組課題不等式聽評(píng)課記錄
- 聽評(píng)四年級(jí)音樂(lè)課記錄
- 聽評(píng)課記錄七年級(jí)歷史
- 七年級(jí)數(shù)學(xué)上冊(cè)第11課時(shí)有理數(shù)的乘法運(yùn)算律聽評(píng)課記錄新湘教版
- 人教版七年級(jí)數(shù)學(xué)上冊(cè):1.4.2 《有理數(shù)的除法》聽評(píng)課記錄
- 粵人版地理七年級(jí)下冊(cè)《第三節(jié) 巴西》聽課評(píng)課記錄2
- 中英旅游文本用詞的共同特點(diǎn)及其翻譯
- Meta分析的步驟與實(shí)例分析
- 城市區(qū)域環(huán)境噪聲監(jiān)測(cè)實(shí)驗(yàn)報(bào)告
- 芯片可靠性分析
- MBTI量表完整版本
- 中醫(yī)適宜技術(shù)-腕踝針
- 初二上勞動(dòng)技術(shù)課件電子版
- 創(chuàng)業(yè)計(jì)劃書模板-創(chuàng)業(yè)計(jì)劃書-商業(yè)計(jì)劃書模板-項(xiàng)目計(jì)劃書模板-商業(yè)計(jì)劃書30
- 2023年貴州省畢節(jié)市中考物理試題(原卷+解析版)真題含答案
- 四川虹科創(chuàng)新科技有限公司高強(qiáng)超薄耐摔玻璃智能制造產(chǎn)業(yè)化項(xiàng)目環(huán)境影響報(bào)告
- 口腔種植技術(shù)臨床應(yīng)用能力評(píng)估報(bào)告范本
評(píng)論
0/150
提交評(píng)論