GISDK全称为Geographic Information System Developer’s Kit,是一种强大的宏编程语言,用于增强和定制Caliper公司的GIS产品。GIS大家庭的后起之秀Maptitude具有迄今为止最好的性能价格比,而其增值开发语言GISDK 更使其如虎添翼。GISDK由三部分组成:Caliper Script程序开发语言,用于应用程序编译和测试的交互开发工具以及客户服务器功能。

Caliper Script 程序语言是开发基于Maptitude应用程序的关键。由于其一组由命令组成的程序流,隐含变量说明,灵活的数组处理,结构化的函数调用等等而使得类似BASIC语言的 GISDK别有特色。Caliper Script可以建立和管理诸如表、地图、地图要素、窗口、选择集以及工具、对话框、工具条等用户界面。此外, Caliper Script还包含多达 600个函数的函数库。高级函数调用充分调用Maptitude的功能 。

 

  1. GISDK功能强大使用简单。即使具有很少程序经验的人都能很快掌握。

  2. GISDK共有600多个函数和200多条语句。高级函数的应用可充分调用Maptitude的功能。

  3. GISDK提供灵活的add-ins的方式。Add-ins可以使用户很方便地获取现有软件的功能,增强新的功能,add-ins可繁可简,简单的是一个当被点中即可运行的宏,而复杂的则可显示对话框,并能通过宏的运行选择系统配置。

  4. GISDK可开发自己所需要的用户界面。象菜单、工具条、对话框等,用户还可以开发出满足特殊需要的应用程序以增强GISDK的功能,自行开发的程序的执行与在其它windows上运行的程序无异,设定自己的图标双击之即可运行。

  5. 用户还可用GISDK开发基于服务器上的应用程序。即该程序可将服务器上的数据,地理分析功能等传给网上终端或客户,而客户端上的程序可以有VB、VC、C++或其它任何程序组成,由于服务器在后台运行因此不存在用户界面,它只对客户端的要求作出应答。

  6. GISDK开发后的产品可含有多个资源。这样可方便用户编写程序,用户可单个编写资源文件,编译时,可编译到同一资源库中。

  7. 语言要素使用比较方便,隐含变量说明,灵活的数组处理使GISDK别具特色。GISDK变量不需要先定义,随赋值类型可变,这就避免了用户对多个变量的混淆。

应用举例

菜单的制作。

用户只要把自己的菜单如下面的例子一样编写即可,若有分级菜单,还是象写主菜单一样,当菜单完成后,在菜单中就可编写自己的功能了。例:

// The INTERFACE macro is the one that "bootstraps" the application...

Macro "INTERFACE"

// The follwing statement identifies the main system menu to load when the application starts

SetDefaults({{"Menu", "Main Menu"}})

endMacro

// There are two main menus in our application: File and Map

Menu "Main Menu"

MenuItem "file menu" text: "File" Menu "file menu"

MenuItem "map menu" text: "Map" Menu "map menu"

endMenu

// The File menu has three items in it, and one horizontal separator

Menu "file menu"

Menuitem "Open Map" Macro "open a map file" // This item runs a macro

Menuitem "Close Map" Macro "close a map file" // So does this one

Separator

Menuitem "Exit" do Exit() enditem // Closes the program

endMenu

// The Map menu also has three items in it.

Menu "map menu"

Menuitem "Tile Maps" do TileWindows() enditem // Tiles just like Windows

Menuitem "Count Maps" Macro "count maps" // This item runs a macro

Menuitem "List Map Names" dbox "list map names" // This one runs a dialog box

EndMenu

工具条的编写。

当工具条编写完毕,只要与菜单连接就能运行,通过工具条上的按钮可调一些象子程序一样的宏来完成所需的功能。例:

Toolbar "default system toolbar"

update do

// showmessage(choices[user]+";;")

enditem

Tool "放大" //4,1.5

icons: "bmp\\bt11.bmp", "bmp\\bt12.bmp"

help: "放大","放大"