1. 研究目的与意义
流域治理历来是环境治理中的难点问题,不光涉及行政区域之间的利益冲突、还涉及跨部门协同的矛盾问题,在这个基础上我们建立了河长制解决这个问题[3]。
2. 研究内容和预期目标
一、研究内容
(1)分析河长联动管理系统需求,设计系统的原理与方案。
根据用户的需求和方案,设计出有清晰的操作界面以及明确的划分用户需求与系统各方连接起来,以及软件应有功能模块。
3. 研究的方法与步骤
|
河长联动管理系统主要依据IOS端,利用object c语言开发的软件,主要研究的内容有实现图片的上传查看,对于河流经纬度的定位和上报反馈以及查询水流污染情况的功能。 3.1概要设计 河长联动管理系统(iOS版)功能设计主要面向人群分为游客和河长,游客可以进行河湖一览以及我要上报功能,河湖一览可以浏览河流名称以及输入河流名称或者关键字查询河流基本资料(河道名称,市级河长,区级河长,相关负责人,起点,终点,长度,涉及村,备注等讯息),查看问题处理状况和河流图片,我要上报功能可以上报图片,地址以及内容,并且举报时进行实名,输入自己的姓名,手机号码和身份证号码。 河长登陆后,可以进行的操作有,开始巡河记录开始巡河的时间地点,异常上报上报巡河过程中发现的问题,可推送至其他人,亮点推送上报巡河过程中发现的风光、河湖亮点等,工作照片上传巡河过程中的现场照片,资料积累上传发现的企业、排污口、取水口的信息,历史上传查看以前上传的照片,结束巡河记录巡河结束的时间地点,5小时未结束自动结束。
3.2 在iOS中基于地图实现追踪和定位 在进行软件中的地图定位的时候,关于Map的定位方式使用预着色tiles,可以通过url地址实现。对于map,tile的url地址类似使用x和y来设置tile坐标和放大因子。放大因子从17(完全缩小)到0(最大比例)。当放大因子为17时,整个地球在一个tile中显示,此时x=0 ,y=0;放大因子为16时,地球被分为2x2部分,这时0=x=1 且0=y=1。每放大一次,每个tile被分为4个部分。因此,当放大因子为z时,显示的水平和垂直tile个数为2^(17-z)。
3.3 在iOS中与数据库进行关联 1. 在你的项目中配置头文件搜索路径 2.需要告诉编译器编译参数,在other linker flags添加:-L/usr/local/mysql/lib-lmysqlclient 3.在.m和.h文件中进行数据库连接的配置。
3.4 在iOS中上传图片 开发为了上传图片经常需要将图片进行压缩,其中也会遇到从手机相册中选择图片的需求,选择图片这个过程是一个消耗性能的过程,对图片进行压缩,iOS的API中提供了函数进行压缩 返回二进制的data值,可以了解到图片的大小进行了缩小,通过此方法能优化性能。还有另外一种方法,根据image从新绘制一张新的图片出来,第一种的方法多多少少会有些失真,第二种方法是根据图片从新绘制一张出来,不会失真,只是改变图片的大小,比如之前是5000 * 5000的分辨率,这个时候你压缩后可能就只有500 * 500 ,不会失真,只会改变大小。 在进行图片压缩之后,就可以进行图片的上传了,调用获取压缩图片,并将压缩图片转换成我们要请求上传的类型nsdata 更改完类型之后,使用封装的http调用方法,这样数据库就会收到已经压缩好的,可以上传的图片了。
3.5关于iOS开发中的MVC模式 在iPhone中,所有的图形控件都是继承于UIView,就是"V".UIView及其子类主要负责UI的实现,而UIView所产生的事件都可以采用委托的方式,交给UIViewController实现.对于不同的 UIView,都有相应的UIViewController对应MVC中的"C".对于"M",也就是数据模型,那就可以自由发挥.
MVC是model-view-control的简称。View——顾名思义,就是存放视图使用的。Model——即模型。模型一般都有很好的可复用性,统一管理一些数据。所以,我们就把数据库的所有操作都放在Model里面执行——包括但不限于数据库的创建、插入、查询、更新和删除。Controller——控制器,充当一个CPU的功能,即该应用程序所有的工作都由Controller统一调控。它负责处理View和Model的事件。在河长联动管理系统中,View里面拥有比如河长登陆,提交问题的界面。Model里面拥有对数据的基础操作,比如上传问题的操作,群众账号申请。在Controller中,调控两者,处理事件。
1、 Controller和View之间可以通信,Controllor通过outlet(输出口)控制View,View可以通过target-action、delegate或者data source(想想UITableVeiwDatasource)来和Controller通信; 2、 Controller在接收到View传过来的交互事件(View就是完成让人和程序的交互的呀,比如按B1按钮)之后,经过一些判断和处理,把需要Model处理的事件递交给Model处理,Controller对Model使用的是API; 3、 Model在处理完数据之后,如果有需要,会通过Notification或者KVO的方式告知Controller,事件已经处理完,Controller再经过判断和处理之后,考虑下一步要怎么办。 4、 Model和View之间不直接通信!
|
4. 参考文献
[1]郭皓.运用互联网思维构建河长制o2o联动体系的思考[j]. 中国水利,18, 2017.
5. 计划与进度安排
1、2022.1 ---- 2022.2 查阅资料,了解课题背景,撰写开题报告
2、2022.2 ---- 2022.3 根据课题要求,进行需求分析,熟悉开发工具
3、2022.3 ---- 2022.3 根据分析结果,对系统进行概要设计
