GISDK

GISDK的全稱是Geographic InformationSystem Developer’s Kit (GISDK™) ,即為地理信息系統開發工具。Caliper公司的主要產品TransCAD, TransModeler和Maptitude均包含了GISDK二次開發工具。

基本介紹

  • 中文名:GISDK
  • 外文名:Geographic InformationSystem Developer’s Kit
  • 性質:地理信息系統開發工具
  • 產品TransCAD, TransModeler
  • 組成:互動開發工具和程式語言
  • 特點:提供了非常完善的函式
組成介紹,實現功能,工作機理,

組成介紹

GISDK由兩部分組成:Caliper Script程式語言和用於應用程式編譯和測試的互動開發工具。Caliper Script程式語言由編譯器、調試器和運行工具箱組成。CaliperScript既囊括了C語言的簡潔,又繼承了VB語言的通俗,是一種功能強大、使用靈活的程式語言。它提供了一條訪問Caliper主要產品程式和數據的通道,用C或 Fortran編寫的程式代碼可以混合在GISDK 代碼檔案中,而且具有良好的兼容性。
為了易於學習和交流,Caliper Script語言也稱GISDK語言,本教材不再強調兩者的內在區別。GISDK語言的語法在Caliper所有產品中一致,但在不同產品中,所擁有的函式館會略有不同。本教材以Caliper最主要的產品TransCAD為例,深入介紹GISDK的功能及函式。
TransCAD中包含了1300多個GISDK函式,其中GIS部分函式全部由Maptitude中繼承而來,其餘均為交通建模型相關函式。通過套用GISDK函式,通過指令自動重複執行TransCAD所有的互動視窗功能,也可以根據項目需要擴展和定製TransCAD中沒有的功能。運用GISDK可以對TransCAD進行多方面的二次開發,其中通過創建Add-ins嵌入方式,來擴展或自動重複執行宏命令是適合非編程專業用戶進行二次開發的常用方法。
GISDK的特點有:
(1)提供了非常完善的函式,使得開發非常方便;
(2)可利用任何文本編輯器來書寫程式代碼;
(3)通過嵌入方式可擴充TransCAD/Maptitude/TransModeler的功能;
(4)在TransCAD中提供Debug調試器,可快速定位錯誤;
(5)可以通過.NET語言訪問其Dll的函式館;
(6)如Excel錄製宏一樣,部分批處理可以通過錄製而得到程式代碼;
(7)可建立選單、對話框、工具條等用戶自定義界面;
(8)不能脫離Caliper的核心DLL而單獨運行。

實現功能

GISDK可以建立和管理諸如表、地圖、地圖要素、視窗、選擇集以及工具、對話框、工具條等用戶界面。如果您有開篇提到的各種想法,GISDK正好可以幫助您自定義和擴展TransCAD的功能,而GISDK的主要實現功能包括:
1. 嵌入程式(Add-ins),可以擴展TransCAD的功能或者自動重複操作
利用Add-ins嵌入方式, 用戶可方便地使用現有的軟體功能,可以增加 GI S引 擎的新功能, 或者創建 自己 的應用程式連線器。而且Add-ins嵌入程式可以毫無限制地在 TransCAD用戶之間自由使用。Add-ins是最容易的GISDK二次開發,其本質是在TransCAD強大的功能基礎上,再加上自己定製的一些功能,其實現並非脫離TransCAD平台,而是在此平台上添加功能。此嵌入程式套用最為廣泛。
比如選擇把停車位有10個的小區選擇出來,你會覺得可以做一個選擇集,但如果停車位從1-500個的小區依次選出來,你就得做500次選擇集,這對你來說,是不是成了一個不可能完成的任務了。而在做高級交通分析的過程中,這類似的情況會經常遇到。其實,有了GISDK,只需那么幾行代碼,就可以實現這重複的選擇集功能;而且,這個過程是可以不斷重複。
此外,TransCAD錄製得到的宏,往往也是通過Add-ins的形式進行重複操作。
2. 自定義應用程式(Custom application)
用於擴展或者替代標準用戶界面,進行自定義功能和操作。利用自定義界面功能,可以修改TransCAD的界面,增加或減少TransCAD原有的選單或工具列功能,使界面更為簡潔。
3. 以批處理模式
和Excel的宏錄製功能一樣,GISDK的交通模型部分代碼,也可以通過錄製獲得。在TransCAD的界面操作中,可以設定錄製宏功能,操作完成後,自動生成代碼,在批處理模式下,僅需要修改小部分代碼,即可實現模型功能的自動化。這在測試模型過程中,套用較為廣泛。
批處理模式,沒有獨立的對話框,必須依賴於TransCAD方能運行。
4. COM組件服務程式
以Automation Server的COM方式訪問TransCAD ,以在您的應用程式上添加製圖和交通運輸分析功能。
運用COM模式訪問TransCAD,在運行GISDK代碼的同時,TransCAD也在後台運行,此模式效率較低,但開發較為簡單,可以在Visual Basic等開發語言,載入COM組件即可訪問GISDK語言。
5. 通過.Net方法訪問TransCAD的GISDK函式DLL動態連線庫
利用.net語言,開發設計自己的用戶界面,包括選單,工具列和對話框,在需要GISDK功能的地方,通過.Net方法,靈活地訪問GISDK的函式館,實現GIS功能和交通模型功能。這在設計更為複雜的軟體系統,交通模型僅為此軟體系統中的一部分,在這裡情況下,尤為有用。
利用.Net方法開發運用程式,是未來的發展趨勢。
6. 矩陣動態程式庫(Matrix DLLs)
GISDK包括了強大的矩陣運算功能,C, C++, FORTRAN,and Java等語言可以通過矩陣動態程式庫,來方便地訪問這些運算功能。

工作機理

Caliper公司為了使其系列軟體的一致性,開發了自成體系的GISDK語言。其語言核心的一系列用於在GIS中的函式館。這些GISDK函式館,TransCAD,Maptitude和TransModeler均可以訪問。所以一個平台核心,多種應用程式的體系,就是這樣形成的。
Caliper系列軟體由兩部分組成,一是基礎平台(ThePlatform),二是用戶界面(The UI Database)。
GISDK工作機理GISDK工作機理
· 基礎平台,是所有Caliper軟體的基礎,包含了封裝的Geographic Information System (GIS)核心功能和資料庫管理系統;這個核心用來管理地圖和進行各種交通分析。基礎平台用一個執行檔(如tcw.exe)和一系列的動態程式庫(Dlls)以及其它一些必要檔案組成。
· 用戶界面,即是一整套的選單,對話框,工具列和工具箱組成。它是利用GISDK語言來設計的。界面與基礎平台功能的連線,也是通過GISDK的函式館來進行的。例如TransCAD的UI database名字為gis_ui,它由下列的檔案共同組成:gis_ui.dbd, gis_ui.1, gis_ui.2, gis_ui.3, gis_ui.4,gis_ui.5, and gis_ui.6
基礎平台和用戶界面相輔相成,不可分割,缺少它們之間任何一方,執行檔均不能運行。

相關詞條

熱門詞條

聯絡我們