简介
GISDK的全称是Geographic InformationSystem Developer’s Kit (GISDK™) ,即为地理信息系统开发工具。Caliper公司的主要产品TransCAD, TransModeler和Maptitude均包含了GISDK二次开发工具。
GISDK语言特点,个人感觉有点像python类似脚本语言,比较简洁,较少关注底层的问题,主要是尽快地实现功能。
![gisdk学习心得(一)-简介_第1张图片](http://img.e-com-net.com/image/info8/0ad152b6424a4974b9ccddd0eda46edc.jpg)
GISDK的作用主要是可以自动执行重复的TransCAD任务,创建用户设计的插件(也就是transcad的二次开发),集成其他程序或构建自定义应用程序。 GISDK还可以从其他软件应用程序调用TransCAD功能。我个人目前使用gisdk的某些应用场景:
- 集成四阶段法,以前使用transcad的时候,如果前期的一些基础数据发生变化(比如路网,发生量等),这个时候使用gisdk的batch mode,可以实现一键得到结果,直接调用相关的宏,提升工作效率。
- 发挥TC的gis功能,个人觉得TC的功能强大,不仅仅是因为它内置的交通模型算法,因为随着交通仿真软件的发展,像EMME,Cube等软件在算法层面都开始趋同性,但是TC的优势在于其gis处理能力较为强大,处理各种地理文件有其优势,但是TC工具栏的只是发挥其功能的一部分,而gisdk可以较好的分析其地理数据的一些特别,并且可以简化路网,比如重采样线网数据等(这里可以参考Jandy大神、闫小勇老师的一些demo)
- 利用TC作为后台,通过其他程序对软件进行COM接口调用,比如VB,java,c等语言来调用tc的一些后台算法,我自己之前就实现了用excel的VBA来调用TC的交通分布(交通分配)算法,至于为什么不直接在TC里写gisdk呢,是因为excel的数据处理能力非常强,结合TC的优势,可以将交通数据处理变得更快,提升效率。同时,利用VB或者java可以开发出适应自己的仿真平台,随着城市交通设施信息化的发展,越来越多的交通数据可以接入模型中,因此交通模型师可以结合这些数据开发出其他的衍生功能,如交通污染排放,路况信息平台等。
- batch mode,这个在TC 5.0之后出现了之后,可以通过画逻辑框图增加程序的可读性,而且对于初学者也更友好了,我觉得是非常不错的一个功能。
下面是某位大神对于gisdk的总结,我觉得很好,涵盖了GISDK的主要功能。![gisdk学习心得(一)-简介_第2张图片](http://img.e-com-net.com/image/info8/bdf07c2289f4461cbbf161c55b6ac6fd.jpg)