8.1.7 系统编程实现
本系统的主要功能模块是应用工具型地理信息系统MapInfo的二次开发语言MapBasic进行开发的。采用结构化程序设计方法,按照从整体到局部、由主到次的原则,先构建城镇土地优化配置与集约利用潜力评价的主系统模块——整个系统由总体评价系统、功能区评价系统、样地评价系统、优化配置系统及城镇土地定级估价系统构成;然后开发各子系统的功能菜单;最后编写对应于各菜单的具体程序。
1.系统主功能界面
系统的主功能界面如图8-5所示。
图8-5 系统主功能界面
2.主菜单设计
根据城镇土地优化配置与集约利用潜力评价的要求,整个信息系统由五个子系统组成。每个子系统的主菜单均由自主研发菜单和MapInfo固有菜单两部分组成。
总体评价系统主要包括潜力计算、景观格局分析、结果输出、查询与统计、菜单转换等五个自主研发菜单。功能区评价系统主要包括功能区划分、指标分值量化、商业区评价、住宅区评价、工业区评价、其他功能区评价、结果查询、菜单转换等八个自主研发菜
单。样地评价系统主要包括典型宗地评价、查询与统计、菜单转换三个自主研发菜单。优化配置系统主要包括优化配置、查询与统计、菜单转换三个自主研发菜单。城镇土地定级估价系统主要包括手动分布操作、数据维护、因素因子权重、因素因子分值、土地级别划分等五个自主研发菜单。利用“菜单转换”功能可以方便地在所属子系统和MapInfo标准菜单之间自由转换。
子系统界面主菜单的创建用MapBasic语言的Create Menu Bar语句实现,以总体评价子系统菜单的创建为例说明(见图8-6):
图8-6 总体评价系统菜单设计布局图
Create Menu Bar As
″文件″,
″潜力计算分析″,
″景观格局分析″,
″结果输出″,
″地图″,
″浏览″,
″查询与统计″,
″选项″,
″菜单转换″,
″窗口″。
3.子菜单设计
子菜单的设计用Create Menu语句实现。以总体评价中“景观格局分析”菜单的子菜单设计为例说明:
Create Menu″景观格局分析″As
″创建景观格局图″as″创建景观格局图″,
″打开景观图”calling opentab,
″(-″,
″分析信息″as″分析信息″
Create Menu″创建景观格局图″As
″创建辐射区″calling fsx,
″创建环形区″calling hxx,
″创建景观区″calling jgq
Create Menu″分析信息″As
″扇形信息分析″calling shanxing,
″环形信息分析″calling huanxing,
″景观区信息分析″calling jingguanqu
这三个Create Menu语句分别建立基于一级菜单“景观格局分析”的下拉式分级菜单。子菜单的布局见图8-6。
4.对话框设计
1)标准对话框设计
使用Note语句显示一个有关提示信息并带有一个“确定”按钮的简单对话框即属于标准对话框。例如在功能区评价系统中采用宗地法划分评价单元时,应根据不同的评价区面积确定所划分评价单元的最小宗地面积,程序设计如下:
2)自定义对话框设计
使用MapBasic提供的Dialog语句可以建立自定义对话框。自定义对话框设计的优劣体现了人机交互的难易程度。总体评价系统中“景观格局分析”菜单的“创建环形区域”对话框设计如图8-7所示,具体程序编写在此略去。
图8-7 “创建环形区域”对话框
出现在对话框中的每一项称为控件。在“创建环形区域”对话框有StaticText静态文本控件、EditText输入文本控件、GroupBox组合框控件、Picker获取对象类控件、ListBox列表框控件、PopupMenu下拉列表框和Button按钮。
5.子程序编写与模型实现
系统功能是通过点击菜单或按钮从而调用相应的处理程序来实现的。这时计算机执行指令代码,完成一系列的计算分析功能。下面是总体评价系统的核心模块“集约度计算”的部分代码,按照集约度模型实现了功效值的计算。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。