架构
系统总体架构图如下图所示:
技术选型
GIS平台选择
GIS基础平台选用ArcGIS 10.2系列软件,主要用到以下组件:
- GIS服务器:ArcGIS Server,用于地下管线图层数据的发布和管理,提供统一的WMS、WMTS等OGC服务,同时提供ArcGIS独有的查询和统计服务。
- 前端组件:ArcGIS Api for JS,用于实现管线系统前端地图页面的渲染,包括加载基础底图、加载管线图层和其他相关业务图层等信息;为系统GIS相关功能提供标准统一的调用接口,包括要素识别、点击查询、空间范围查询、属性查询等,为开发人员提供良好的封装条件和易用的代码编写规范。
- 数据加工:Desktop软件ArcMap,用于对发布前的管线数据进行数据加工和处理,包括图层的设置、样式的编辑、缩放范围的设定等地图渲染条件和地图交互操作。
数据库选择
基于ArcGIS空间数据引擎SDE,数据库选择SQL Server 2012,主要用途如下:
- 存储系统相关的数据,包括用户、角色、系统配置、系统运行管理等系统通用数据
- 存储业务相关的数据,包括二维地下管线业务数据,空间字段和属性字段信息,除传统的数据库增删改查用途,还用于GIS服务器连接和图层的发布操作,以保证数据的更改可实时反映到发布的数据中。
开发语言选择
系统开发语言主要涉及C#、html、css、js,具体如下:
- C#:实现用户登录、配置文件读取、系统变量读取、角色权限管理等基础逻辑
- html、css、js:实现前端页面布局、样式渲染、交互逻辑的实现,同时进行后台接口调用
开发框架
系统基于C#语言和前端语言实现功能搭建,为了提高开发效率,使用vs2010集成开发工具进行开发,采用经典的Asp.net框架进行前后端逻辑的搭建,采用浏览器devtools进行系统调试。并且在开发过程中尝试引入了vue框架,用于提高页面布局和数据渲染的效率。
发布部署
因为系统是网页端程序,故需要在服务器上进行部署发布,为了充分利用开发工具提供的功能,最终选择使用windows提供的IIS组件作为系统的发布工具。
代码目录
按照系统开发的逻辑架构,划分系统层级,主要包括业务逻辑层、数据访问层、通用层、显示层四个部分,每部分具体说明如下:
- 逻辑层 BLL
- 实现缓存处理
- 实现地下管线设施类映射
- 实现地下管线逻辑结构映射
- 实现菜单管理
- 数据访问层DAL
- 实现缓存数据处理
- 实现管线设施类数据访问
- 实现管线逻辑结构数据访问
- 实现菜单数据访问
- 通用层COMMON
- 缓存工具
- html处理工具
- 日志工具
- xml解析工具
- 界面显示层WebUI
- 样式
- js封装逻辑
- 页面
- 接口逻辑
- 静态资源,图片、字体等
- web配置
开发参考资料
关注以下公众号,及时发布各种技术交流,并下载相关文档和程序