GIS项目开发总结

TNT,cnd 2019-01-16 08:07:14
《海珠区慢性防治系统》项目研发阶段性总结
作者:华境聪
本次任务完成时间:2018年12月22日~2019年1月16日
完成模块功能:前台【图层管理{医院、社康、药店】、后台【修改资料、密码、数据管理】
一、功能实现
图层管理主要包括医院、社康、药店的功能模块。
医院分布图:见图1,实现界面。

图1 医院分布图
点击图1“选择”按钮获取中心点的界面如图2,


图2 周边查询信息
单击查询按钮获取中心点和半径的数据以及查询目标的数据,绘制圆形查出相关范围的药店,并在右侧显示出来,如图2。
社康分布图:见图3,实现界面。

图3 社康分布图
点击图3“选择”按钮获取中心点的界面如图4,

图4 周边查询信息
单击查询按钮获取中心点和半径的数据以及查询目标的数据,绘制圆形查出相关范围的药店,并在右侧显示出来,如图4。

图5 详细信息
单击详细信息按钮,查询相关信息,在右侧显示出来,如图5。
药店分布图:见图6,实现界面。

图6 药店分布图
点击图7“选择”按钮获取中心点的界面如图7,

图7 周边查询信息
单击查询按钮获取中心点和半径的数据以及查询目标的数据,绘制圆形查出相关范围的医院,并在右侧显示出来,如图7。

后台菜单管理:见图8,实现界面。
登陆页面 可见下图



图8 菜单列表图
点击图8“尖号”按钮弹出模态窗个人资料界面如图9,

图9 个人资料信息
单击“确认修改”即可完成修改信息操作
单击 图9“修改密码”弹出模态窗修改密码界面如图10,

图10 修改密码界面
单击“确认修改”即可完成修改信息操作注:判断原始密码正确和两次输入新密码的正确

数据管理主要导入、导出的功能模块。
见图11,实现界面

图11 数据管理导入导出
单击 “数据导入”按钮,选择导入模块后,点击选择文件Excel类型文件,见图12

图12 选择导入模板
选择文件后跳转图13,查看数据

图13 查看数据信息
点击“开始上传数据”按钮保存数据到数据库
数据管理页面,可见图14

图14 数据管理页面
选择导出模板后。点击模板导出,见图15

图15 模板导出
再点击模板导出,即可导出到Excel表格,可见图16

图16 导出数据图
二、经典代码
自定义圆形代码:
1. var map, local, layer,
2. url = "http://localhost:8090/iserver/services/map-Zhuhaimap/rest/maps/County_R@Zhuhai";
3. function init() {
4. //初始化地图
5. map = new SuperMap.Map("map", {
6. control: [
7. new SuperMap.Control.PanZoomBar(),//平移缩放控件
8. new SuperMap.Control.ScaleLine(),//比例尺控件
9. new SuperMap.Control.Navigation(),//鼠标拖拽控件
10. new SuperMap.Control.LayerSwitcher(),//图层控件
11. new SuperMap.Control.MousePosition()//鼠标移动获取地理坐标
12. ],
13. });
14. //初始化图层
15. layer = new SuperMap.Layer.TiledDynamicRESTLayer("海珠地图", url, { transparent: true, cacheEnabled: true }, { maxResolution: "auto" });
16. //监听图层信息加载完成事件
17. layer.events.on({ "layerInitialized": addLayer });
18. klialin = new SuperMap.Layer.Vector("周边分析图层", { displayInLayerSwitcher: false });
19. markerLayer = new SuperMap.Layer.Markers("图标", { displayInLayerSwitcher: false });//标记层
20. //获取坐标
21. draw = new SuperMap.Control.DrawFeature(klialin, SuperMap.Handler.Point);//查询多变形
22. draw.events.on({ "featureadded": drawCom });//使用on()接口监听事件
23. //添加控件
24. map.addControl(draw);
25. map.addControl(new SuperMap.Control.LayerSwitcher());//图层
26. map.addControl(new SuperMap.Control.ScaleLine());//比例尺
27. }
28. //异步加载图层
29. function addLayer() {
30. map.addLayers([layer, markerLayer, klialin]);
31. map.setCenter(new SuperMap.LonLat(12616179.7635450009, 2641804.5424003000), 0);
32. }
33. $("#btnchaxun").click(function () {
34. klialin.removeAllFeatures();
35. markerLayer.clearMarkers();
36. var kl = $("input[name='yiban']:checked")
37. if ($("#zxdwbk").val() == "" || kl.length == 0) {
38. alert('请选择中心点或者查询目标!')
39. klialin.removeAllFeatures();
40. markerLayer.clearMarkers();
41. } else {
42. $("#ZHZSrightban1").addClass("none");
43. $("#ZHZSrightban").removeClass("none");
44. var li = $("#zxdwbk").val().split("-")[0];
45. var ijn = $("#zxdwbk").val().split("-")[1];
46. var chen_centerPoint = new SuperMap.Geometry.Point(li, ijn);//用来生成线串的点数组
47. var rou = $("#bjwbk").val();//半径
48. var polygon = SuperMap.Geometry.Polygon.createRegularPolygon(chen_centerPoint, rou, 360, 360);//实例化多边形
49. var circleVector = new SuperMap.Feature.Vector(polygon);//矢量数据集
50. circleVector.style = {
51. strokeColor: "#3f7ee5",
52. fillColor: "#ccc",
53. strokeWidth: 2,
54. fillOpacity: 0.3,
55. strokeOpacity: 0.5
56. };
57. klialin.addFeatures(circleVector);
58. map.zoomToExtent(circleVector.geometry.bounds);//缩放到指定范围,重新定位中心点。
59. circleselect(circleVector);
60. }
61. })

三、开发总结(不少于500字)

做一个GIS系统,首先要设计好所需要的地图和基础数据库,然后将地图发布到iServer里面去,在你的项目中引用SuperMap插件,设计好显示地图所需要的方法,然后,再你的地图上添加一些矢量图层和控件,构造一些方法,利用数据库将数据传到地图去,让地图更加完美呈现你所需要的功能效果。
对于第一次接触GIS项目的我来说,是充满挑战的。首先,自己对所要接触的代码,不熟;第二,对所需要实现的功能,初次感到困难重重;第三,规定完成项目的时间,比较短。对于初次接触GIS项目的我们,只能通过老师所发的SuperMap iClient forJavaScript HelpSuper指导文档去找到自己所要用到的方法,了解其中含义。为了让自己的项目做更好,而不断的去寻找一些令人感到头痛方法,人们都说“过程是痛苦的,结果是美好的”,正是因为这么一句话,我们才会不断探索,让自己的技术成长起来;事情不是一帆风顺的,也许,我们会在寻找真正的出口时,迷失方向;也许,我们会在看似充满荆棘的道路上,踌躇不前;也许,我们会在充满迷雾的岔道上,原地打转;但是,我们不应感到气馁,不应感到恐惧,更不应放弃;只有勇敢地迈出坚实的那一步,就算经历的挫折,也要勇敢面对,才会明白其中的秘密。或许,在一些比较聪明的人看来,这是多么简单的方法,为什么还会做不出来呢?这个就是,我们和他们的区别,只有经历更多的人才会开发更多道路出来,因为成功的方法不只一种。
...全文
177 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
刀锋&刺客 2019-01-17
  • 打赏
  • 举报
回复



刀锋&刺客 2019-01-17
  • 打赏
  • 举报
回复


GIS设计与开发是地理信息系统本科专业的一门专业基础课,当前地理信息系统的一个重要发展趋势是将其融入国家信息化和知识经济的主体,为资源环境问题研究提供高技术手段,形成国民经济新的生长点,为此需要实现业务化的GIS运行系统,提高GIS应用水平和效益,本课程就是在这样一个环境背景下产生的。 就本质而言,GIS是通过存储现实地理世界中的空间数据和属性数据,记录事物之间的关系和演变过程,并根据事物的地理坐标对其进行管理、检索、评价、分析、结果输出等处理,提供动态模拟、统计分析、预测预报、决策支持等服务。从软件设计开发的角度看,GIS系统的建设与运行是一个相对复杂的系统工程,既涉及到需求分析、系统设计、软件研制、数据建库、系统集成等诸多技术环节,也牵涉到用户自身业务重组、研制方与用户方之间的协作、系统运行的制度保障等非技术因素。为此需要运用软件工程学的思想和方法,并结合地理信息自身的特点和相关理论,制定出详尽的系统设计、实施以及项目计划管理方案,从而保证软件质量、提高开发效率、降低开发成本。 在GIS设计与开发过程中,由于GIS软件工程的复杂性和差异性,难以公式化地制定一套放之四海而皆准的固定方法,但采用通行的标准法则,可以形成一些针对特定问题集的一般方法,并供一般研发人员和学生作为实践的理论依据。
通过该课程的学习,主要掌握地理信息系统(GIS)概念,空间分析功能;开源GIS及内容;了解常见开源桌面、Web和移动GIS等各种平台软件功能和设计;学习开源开发方法和开源GIS项目设计。达到以下教学目的: 1、了解开源精神——自由、开放、共享,树立开源学习理念。掌握开源GIS设计方法和技术,重点掌握开源GIS软件的基本应用 2、通过对典型开源GIS项目的分析,重点学习GIS设计的基本内容:项目规划,组织管理,系统设计,编码技能和系统测试与维护 3、通过典型模式分析,掌握设计模式在GIS项目中的使用原则和方法以及技巧,难点是分析设计模式在GIS设计中应用 4、了解GIS应用性框架、插件式GIS、通用GIS解决方案设计等内容 课时1:试听 课时2:付费学员服务指引 课时3:1.GIS空间分析 课时4:2.开源软件 课时5:3.开源GIS课程 课时6:4.开源GIS实验环境 课时7:课件资料 课时8:1.PostgreSQL简介 课时9:2.空间数据库概述 课时10:3.PostGIS简介 课时11:4.PostGIS实践操作 课时12:课件资料 课时13:1.PostgreSQL扩展 课时14:2.PostgreSQL索引和PG的GIST注意事项 课时15:3.PostGIS raster 课时16:4.PostGIS开源开发 课时17:5.PostGIS栅格操作 课时18:6.实践操作 课时19:课件资料 课时20:1.PG企业应用 课时21:2.其他开源空间数据库 课时22:课件资料 课时23:1.QGIS简介 课时24:2.地图配准 课时25:3.GRASS TSP分析 课时26:4.实践操作 课时27:课件资料 课时28:1.GRASS栅格分析和影像分析 课时29:2.GRASS地图动画 课时30:3.GRASS TSP分析 课时31:课件资料 课时32:1.GRASS与PG的互链 课时33:2.GRASS开源开发 课时34:3.实践操作 课时35:课件资料 课时36:1.WEBGIS简述 课时37:2.WEBGIS模式和开源WEBGIS简介 课时38:3.CGI原理和编程 课时39:4.CGI模式WEBGIS-中国WEB地图 课时40:5.CGI模式WEBGIS-GeoMoose项目 课时41:课件资料 课时42:1.Mapserver项目(MIT) 课时43:2.Mapserver发布数据(1) 课时44:3.Mapserver发布数据(2) 课时45:4.Mapserver开发:两种开发方式 课时46:5.Mapserver应用 课时47:课件资料 课时48:1.GeoServer项目(GPL) 课时49:2.GeoServer体系特点(JavaServlet) 课时50:3.GeoServer体系特点和GeoServer发布数据 课时51:4.实践操作 课时52:课件资料 课时53:1.OGC OpenGIS 课时54:2.OGC OWS 课时55:3.SOA WEBGIS 课时56:4.实际操作 课时57:课件资料 课时58:1.开源移动GIS简介 课时59:2.gvSIG Mobile GIS 课时60:3.移动GIS开发模式 课时61:4.实践操作 课时62:《开源GIS》课程总结 课时63:课件资料 本课程为开源GIS视频课程的优化版(经改良过的完整版)。因此部分课程与该目录有出入,但是出入不大。

2,142

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧