词条 | GISDK |
释义 | GISDK简介GISDK的全称是Geographic InformationSystem Developer’s Kit (GISDK™) ,即为地理信息系统开发工具。Caliper公司的主要产品TransCAD, TransModeler和Maptitude均包含了GISDK二次开发工具。 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可以建立和管理诸如表、地图、地图要素、窗口、选择集以及工具、对话框、工具条等用户界面。如果您有开篇提到的各种想法,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等语言可以通过矩阵动态链接库,来方便地访问这些运算功能。 GISDK工作机理Caliper公司为了使其系列软件的一致性,开发了自成体系的GISDK语言。其语言核心的一系列用于在GIS中的函数库。这些GISDK函数库,TransCAD,Maptitude和TransModeler均可以访问。所以一个平台核心,多种应用程序的体系,就是这样形成的。 Caliper系列软件由两部分组成,一是基础平台(ThePlatform),二是用户界面(The UI Database)。 · 基础平台,是所有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 基础平台和用户界面相辅相成,不可分割,缺少它们之间任何一方,可执行文件均不能运行。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。