當前位置:學問君>學習教育>畢業論文>

PowerBuilder和MapInfo的集成開發技術

學問君 人氣:1.54W

摘要: 本文介紹了客戶/服務器開發工具PowerBuilder和桌面地圖資訊系統MapInfo集成開發的基本方法。重點討論了集成開發中的一些關鍵技術的實現方法。
 
關鍵詞:PowerBuilder,MapInfo,MapBasic,系統集成,OLE自動化,回調
 
0 引言

PowerBuilder和MapInfo的集成開發技術

PowerBuilder 是一個面向對象的用於構造基於客戶/服務器(Client/Server)數據庫應用系統的開發工具,它透過ODBC可同時支援Sysbase、Oracle、Informix、SQL Server等多種關係數據庫,具有強大的數據庫應用程序開發功能,尤其是它提供的如數據視窗(Data Window)等工具,使其能夠更加方便有效地訪問與操縱數據庫。

MapInfo是由美國MapInfo公司推出的地理資訊系統開發平臺,其核心包括MapInfo Professional和MapBasic兩個部件。透過MapInfo平臺,能把大量資訊直觀地與地理圖形有機聯繫起來,使枯燥的表格數據可視化,從而極大地方便了數據分析和輔助決策。

利用PowerBuilder強大的數據訪問與操縱能力和MapInfo的地圖資訊管理功能,結合Integrated Mapping技術、OLE自動化技術等,將MapInfo地圖集成到PowerBuilder的應用中,可以迅速地開發出具有強大地圖處理能力的應用程序,使數據庫中繁雜抽象的數據快速、準確、靈活地顯示於電子地圖之上,將數據可視化,實現空間數據和屬性數據的有機結合。

1 開發框架

使用PowerBuilder和MapInfo集成開發技術所開發的應用程序,稱爲集成的地圖應用程序(Integrated Mapping Application)。在集成的地圖應用程序中,以客戶/服務器的開發模式,使用PowerBuilder開發的應用程序稱爲客戶程序。客戶程序執行在前臺,透過OLE調用在後臺執行的作爲OLE自動化服務器的Mapinfo。

在集成的地圖應用程序中,根據MapInfo提供的Integrated Mapping接口,在PowerBuilder客戶程序中使用Outbound OLE Automation(輸出OLE自動化)技術,將MapInfo的地圖視窗集成到客戶程序中,從而使客戶程序具備地圖處理能力。客戶程序使用MapInfo OLE自動化對象、MapBasic OLE自動化對象的有關屬性和方法,透過MapInfo OLE自動化服務器對集成的地圖視窗進行控制。圖1給出了客戶程序和服務器程序間的關係。


圖1 PowerBuilder客戶程序和MapInfo服務器的關係

2.建立PowerBuilder客戶程序和MapInfo OLE服務器的連接

建立PowerBuilder客戶程序和MapInfo OLE服務器的連接在原理上是:在PowerBuilder開發的.客戶程序中,透過使用Outbound OLE Automation技術實現客戶程序和MapInfo服務器的連接,藉助OLE調用MapInfo服務器。具體實現上是:在包含地圖視窗的框架視窗的Open事件中添加代碼,創建一個新的OLEObject,而將MapInfo作爲這個新的OLEObject的OLE服務器。要調用MapInfo服務,則需調用ConnectToNewObject()函數並傳遞OLE Programmable Object的程序標識,即“ication”:

//OLEObject對象的實例

OLEObject MapInfo

//接收錯誤代碼

Integer ErrCode

//創建一個與MapInfo進行通信的OLE自動化對象

MapInfo = Create OLEObject

//連接OLE自動化對象到MapInfo服務器

ErrCode = ectToNewObject("ication")

If ErrCode