基于ASP. NET MVC的海域海岸带整治修复项目信息管理系统的设计和实现

1 研究背景

海岸带是指海岸线向陆地和海洋2个方向扩展一定宽度,且具有海陆过渡特点的带型区域,是陆、海相互作用的地带,拥有十分丰富的自然资源和可再生海洋能资源,是我国国民经济健康可持续发展的重要载体。由于城市化进程的加快,人口不断向海岸带地区集聚,随着开发利用活动的增多,海岸带面临的压力越来越大,资源和环境问题也越来越严重[1]。面对严峻的形势,国家海洋局于2010年下发《关于开展海域海岛海岸带整治修复保护工作的若干意见》,要求通过及时有效地开展海域海岸带整治修复工程,努力满足社会经济发展的用海需求,改善生态环境,促进海域海岸带的健康稳定可持续发展。

海域海岸带整治修复项目信息管理系统设计和实现的目的是对我国海域海岸带整治修复项目信息进行现代化管理并为用户的正确决策提供支持。早期信息管理系统的开发模式采用混合编码的方式,造成程序代码的杂乱,增加系统维护的难度。本研究采用ASP. NET框架,是Web应用程序开发、部署和执行的平台,可充分支持动态网站和分布式应用的设计和开发[2]。此外,传统的. NET应用开发是面向过程型的程序开发方法,其扩展性由于基础架构的不足而受限,且代码数量庞大、复用性不足,而采用M VC设计方式可将视图和业务逻辑等代码有效分离,提高代码的可读性和重用性,为程序的后期维护和扩展提供便利。

2 系统需求

从2010年开始,国家利用海域使用金返还资金开展我国重要海域海岸带空间资源整治修复工作,在全国范围内支持开展了海岸侵蚀防护、海域空间整治、海岸景观美化和海域清淤疏浚等50余项海域海岸带空间资源整治修复项目。这些项目在提升海域空间资源开发利用价值、改善海域生态环境和美化海岸带社会环境等方面已初步发挥出显著的资源环境和社会经济效益。

2014年,国家海洋环境监测中心开展了“近岸海域空间整治效果与开发存量评估关键技术研究及应用”项目,该项目的“子任务四”中的第3条规定:“结合地理信息系统、遥感、全球定位系统以及日益成熟的网络技术,建立海域空间整治与优化利用管理决策支持系统,包括海域空间整治规划设计技术、效果评估技术、开发存量评估技术、利用潜力评估技术等技术方法综合查询与分析应用模块,为项目管理提供更加准确、多层次和全面的信息服务”。本研究在这一实际项目背景下,针对我国海域空间整治与优化利用的管理和技术支撑需求,开发海域海岸带整治修复项目信息管理系统。

3 系统的设计和实现

3. 1 系统框架

海域海岸带整治修复项目信息管理系统的框架主体采用M VC架构。M VC模式是Web应用程序开发中被广泛应用的设计模型之一,其将应用程序强制分成输入、处理和输出3个部分,因而基于M VC模式的应用程序被划分为3层,即模型、视图和控制器[3]。与传统意义上的Web应用程序开发框架相比,M VC架构将视图层和业务层分离,当程序员需要更改视图层的代码时,不需更改控制器和模型的代码,这样就加大了代码的可读性、适用性和重用性,便于程序员分模块进行开发,大大增强程序的可维护性[4]

系统运行的模式为:浏览器传来的H T TP请求首先被控制器接收,然后把请求的信息从控制器传送到模型,从而实现模型和视图间的交互;模型中的数据层包括业务逻辑和数据访问组件等,模型通过数据访问组件对原始数据进行操作,进而接收数据库传来的数据,从而实现数据和业务逻辑间的交互;当模型完成对数据的处理后,再由控制器选择相对应的视图,将结果以响应H T TP的形式返回到浏览器展示给用户[5](图1)。

picture

图1 海域海岸带整治修复项目信息管理系统框架

3. 2 数据库建设

本系统数据库基于IH O S- 57《IH O数字海道测量数据传输标准》和GB15702—1995《电子海图技术规范》2个数据标准,使用SQL Server 2014数据库软件进行建设,用于汇总和存储各地方申报的海域海岸带整治修复项目的基本信息。

通过研究整理海域海岸带整治修复项目的原始数据,根据不同分类信息,分别在数据库中建立表和数据字典,提取数据中的关键词作为字段,设置项目标志码为主键,使项目和项目标志码一一对应,利用项目标志码对不同表的数据进行联动管理。其中,原始数据多为Excel表格存储,还有大量PDF等格式的招标文件和合同文件等文本,传统的人工录入方式效率低且容易出错,因此采用C#编程语言开发录入程序,实现数据到数据库的快速录入。

3. 3 Web应用程序开发

海域海岸带整治修复项目的基本信息大体分为属性数据和空间数据2种。项目信息通过属性数据展示界面和空间数据展示界面集成开发,具体流程如图2所示。

picture

图2 集成开发技术流程

3. 3. 1 属性数据展示

在Visual Studio 2013开发平台上,运用M VC系统框架,开发海域海岸带整治修复项目信息属性数据展示的Web应用程序。

模型表示企业数据和业务规则,负责数据库数据的处理。被模型返回的数据是中立的,可为多个视图提供数据。由于应用于模型的代码只需写1次就可被多个视图使用,减少了代码的重复性。

视图是用户看到并与之交互的界面。MVC的优点在于能为应用程序处理很多不同视图。在视图中并没有真正的处理发生,不管这些数据是联机存储还是项目列表,对视图来讲,其只是作为输出数据并允许用户操作的方式之一。

控制器接受用户的输入并调用模型和视图去完成用户需求。当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何信息和做任何处理,只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

此Web应用程序主要用于项目的分类展示,同时可实现项目的修改以及相关文件的上传、下载和查阅等功能。

3. 3. 2 空间数据展示

海域海岸带整治修复项目的地理信息多采用Shape文件进行存储,属性表中包含每个项目的项目标志码、地理范围、岸线长度和修复面积等。将地图数据通过ArcGIS Server发布,采用Ajax技术与服务数据进行连接获取。应用HTML5开发语言定义界面元素,应用CSS3层叠样式表完成界面元素样式和大小方位的调整,应用JavaScript语言实现界面的弹窗、翻页和滑动效果等,调用ArcGIS API for JavaScript功能接口和界面控件实现项目定位和遥感图像展示等功能。运用Dojo前段框架构建前段响应式布局,实现交互式地图的应用,方便整治修复项目的定位展示以及与基础数据之间的交互。

当用户需要查看项目的具体空间位置时,在Web应用程序中点击项目的“地理范围”选项,系统即加载新标签页显示图形和交互界面,方便用户对项目进行空间逻辑处理。此界面可进行不同图层展示、根据项目编号定位具体项目以及显示项目所在地区的遥感影像并高亮显示已修复的海岸带等一系列交互操作。

4 结语

本研究利用现有数据,采用B/S模式和ASP. NET

开发架构,结合ArcGIS API for JavaScript接口中的Dojo小部件和Ajax技术,实现海域海岸带整治修复项目基本信息的前段显示和数据交互,通过ADO. NET实体框架实现对后台数据库内容的访问和管理,最终设计并实现基于. NET M VC架构的海域海岸带整治修复项目信息管理系统。系统在开发新的功能模块或对原有模块进行更改编译时不会影响其他模块的正常工作,大大提高系统的可维护性、可扩展性、灵活性和封装性,可促进我国海域海岸带整治修复项目信息管理实现现代化。

手机扫一扫
加入收藏