您的位置:首页 > 其它

《深圳罗湖慢性病防治系统》—— 项目研发阶段性总结

2019-01-18 21:28 183 查看

作者:潘玉莹
本次任务完成时间:2018年1月10日~2018年1月15日
完成模块功能:显示某个地区全部医院分布图
开发工具: SuperMap iDesktop 9D、SuperMap_iserver 、Visual Studio 2015

一、功能实现

工具箱、图层管理器、搜索查询

1:工具箱功能

1.1 测量距离

在地图任意区域内都可进行测量,并得知测量结果。

1.2 测量面积
画面,可以测算一个面有多大。

1.3 方框区域查询
点击“框选” 框选一个方型区域,自动查询范围内医院,社康等,点击查询的信息点 即可查看该地址的详细信息。
1.4 圆形区域查询
点击“圆选” 框选一个圆区域,自动查询范围内医院,社康等,点击查询的信息点 即可查看该地址的详细信息。

1.5 自定义查询
以画面的形式,画出对应的区域,自动查询出此范围内的医院,社康等,点击查询的信息点 即可查看该地址的详细信息

2:图层管理器

2.1 医院分布图层管理
根据点击的医院显示相应的信息,点击地图中的医院的图标可显示详细信息

点击周边查询按钮可进行查询附近相应的信息,查询的结果显示在右侧导航栏中,点击名称可进行定位。

2.2 药店分布图层管理器

点击周边查询按钮可查询出附近相应的地点,查询结果显示在右边导航栏中,点击名称可进行定位,点击相应的药店图标可查看药店的详细信息。

2.3 社康分布图层管理器
不同颜色的图标代表社康不同的状态,点击周边查询按钮可查询出附近相应的地点,查询结果显示在右边导航栏中,点击名称可进行定位,点击相应的社康图标可查看社康的详细信息。

2.4 病例分布散点图层管理器
不同的病例类型需以不同风格的点进行呈现,点击周边查询按钮可查询出附近相应的地点,查询结果显示在右边导航栏中,击名称可进行定位,点击相应的病例可查看详细信息。

2.5病例分布热力图层管理器
颜色的深浅代表不同的数据类型

2.6病原基因分布图层管理器
不同的病原基因需以不同风格的点进行呈现,点击周边查询按钮可查询出附近相应的地点,查询结果显示在右侧导航栏中,点击名称可进行定位。

3:搜索地址查询

在输入框输入你要查询的地址的关键字,查询结果将会一一列举出来,找到你所要查询的地址进行定位,结果将会在地图定位出来。

4:周边查询

选择一个中心点,设置查询范围,选择查询目标,查询结果将会在右边导航栏显示出来,点击名称可进行定位。

经典代码段:

这段代码主要是查询出右边的导航栏的信息,查询出数据主要是用追加的方法插进去table表格里的

//周边分析医院查询(以医院为例)
function processHospital(queryEventArgs) {
var i, j, feature, features = [], featuress;
result = queryEventArgs.result;
if (result && result.recordsets) {
for (i = 0; i < result.recordsets.length; i++) {
if (result.recordsets[i].features) {
for (j = 0; j < result.recordsets[i].features.length; j++) {
var x = result.recordsets[i].features[j].geometry.x;
var y = result.recordsets[i].features[j].geometry.y;
var geometry = new SuperMap.Geometry.Point(x, y);
feature = new SuperMap.Feature.Vector(geometry);
featuress = result.recordsets[i].features[j];
if (featuress.data.TYPE == 7200){
feature.style = HospitalStyle;//医院
feature.int = 1;
feature.NAME = featuress.attributes.NAME;
feature.ADDRESS = featuress.attributes.ADDRESS;
feature.TELEPHONE = featuress.attributes.TELEPHONE;
feature.SmID = featuress.attributes.SmID;
X = featuress.attributes.SmX;
Y = featuress.attributes.SmY;
//$('#tabAddress2').append("<tr><td>" + feature.NAME + "</td><td></td></tr>");
var tr = document.createElement("tr");
tr.innerHTML = "<td>" + "<a href='javascript:' X='" + X + "'  Y='" + Y + "' NAME='" + feature.NAME + "' ADDRESS='" + feature.ADDRESS + "' SmID='" + feature.SmID + "' TELEPHONE='" + feature.TELEPHONE + "' onclick='addressLocation2(this)' style='color:#000;'>" + feature.NAME + "</a>" + "</td>";
tabAddress2.appendChild(tr); //把查出来的数据添加到右边查询结果框中
features.push(feature);
}
}
}
}
}
vectorLayer1.addFeatures(features);
}

发开总结:
刚开始接触这份项目计划书时,一脸茫然。因为其中的数据不知是来自地图的数据还是项目里的数据库,纠结了许多天。但只要多与同学交流,相互学习,多看看同学的项目加以借鉴,你会发现自己很多不足之处。结合老师给的API文档,其实这个项目很多东西都是可以从文档中找到的
我们只需复制过来便可应用。但文档中的一些代码还是没有理解,但是学习了这门课理解了GIS主要是用于哪一方面,生活中其实很多东西都跟GIS有联系。学习这一课程也让我理解了更多关于地理信息的方面。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: