回家!GIS温暖回家路,回家!GIS

折线图 0
温暖回家路 中国地质大学(武汉) 项目开发文档 报名号:作品名称:指导老师:团队成员:学校: 高级开发组K20175020回家 郭明强方芳余列冰王俊珏杨美娟中国地质大学(武汉) 二零一七年九月 回家!GIS温暖回家路 项目开发文档 目录 目录________________________________________________________________
1 1.系统概述__________________________________________________________31.1编写目的____________________________________________________________31.2项目背景____________________________________________________________31.3需求分析____________________________________________________________41.4系统说明____________________________________________________________61.4.1运行环境_________________________________________________________61.4.2开发环境_________________________________________________________61.5技术分析____________________________________________________________61.5.1MapGIS10________________________________________________________61.5.2IntelliJIDEA_______________________________________________________61.5.3MySQL___________________________________________________________
7 2.系统设计_________________________________________________________72.1架构设计____________________________________________________________72.1.1架构分析_________________________________________________________72.1.2设计思想_________________________________________________________72.1.3架构体系_________________________________________________________72.2功能模块设计_______________________________________________________122.2.1功能模块汇总表__________________________________________________122.2.2功能模块关系图__________________________________________________142.2.3功能模块详述____________________________________________________15
3.模型设计________________________________________________________183.1路段失踪风险评估模型_______________________________________________18 3.1.1算法原理________________________________________________________18 3.1.2模型构建与可视化________________________________________________19 3.2区域失踪风险评估模型_______________________________________________20 3.2.1算法原理________________________________________________________20
1 技术支持 回家!GIS温暖回家路 项目开发文档 3.2.2模型构建与可视化________________________________________________21 3.3走失点聚类模型_____________________________________________________22 3.3.1算法原理________________________________________________________22 3.3.2模型构建与可视化________________________________________________23
4.数据库设计______________________________________________________244.1逻辑设计___________________________________________________________244.2物理设计___________________________________________________________254.2.1表汇总__________________________________________________________254.2.2表[1]:[user_table]表_______________________________________________254.2.3表[2]:[missing_people_data_table]表_________________________________264.2.4表[3]:[user_attention_table]表_______________________________________284.2.5表[4]:[clue_table]表_______________________________________________30
5.系统亮点与技术特色______________________________________________325.1系统亮点___________________________________________________________325.1.1人脸搜索的运用__________________________________________________325.1.2建模思维的运用__________________________________________________325.1.2数据分析功能的添加______________________________________________325.2技术特色___________________________________________________________335.2.1MapGISWeb端插件式开发_________________________________________335.2.2实时通信系统____________________________________________________335.2.3爬虫技术________________________________________________________33
6.界面设计_________________________________________________________346.1设计原则___________________________________________________________346.2界面布局___________________________________________________________346.3界面展示___________________________________________________________35
7.项目总结______________________________________________________________36
2 技术支持 回家!GIS温暖回家路
1.系统概述 项目开发文档 1.1编写目的 项目开发文档能提高软件开发的效率,保证软件的质量。
为了详细说明“回家”——寻亲系统的设计与开发过程,达到指导,帮助,解惑的作用,同时便于开发人员的相互交流,以及系统的维护,我们编写了此文档。
本文档面向开发人员、项目指导老师、大赛评委老师、测试人员及最终用户编写,是了解“回家”——寻亲系统的导航。
1.2项目背景 全国两会上,利用“互联网+”创新打拐工作引起全国人大代表和有关专家的热议。
随着“互联网+”与大数据时代的到来,互联网正在改变寻亲的方式——“精准推送,全民助力”即通过互联网强大的时事通信功能进行实时消息的推送,通过互联网的广大用户发挥全体网民的集体力量。
互联网公益寻亲的话题也正受到越来越广泛的关注。
寻亲的关键是失踪人员地理位置的确定、相关信息的匹配(照片人脸、特征描述等)以及线索消息的推送,然而目前国内流行的寻亲网站都是单一的相关信息的登记与展示,没有与地理位置相结合,更没有一个强大的消息系统提供线索的广播以及用户之间的实时交流功能。
“百度寻人”等网站结合深度学习技术,运用人脸搜索将线索人物照片与失踪人员信息库中的失踪人员照片进行比对把数据库中相似度较高的失踪人员信息返回给用户来达到寻人的目的,但是失踪人员信息中最为重要的地理信息数据却任然没有被利用。
另一方面,目前国内的寻亲网站也缺乏对这些大量的失踪人员地理位置信息分布的统计与研究。
据不完全统计,全国每年的失踪人口高达800万,加之往年
3 技术支持 回家!GIS温暖回家路 项目开发文档 未找到的失踪人口,每年在寻人口高达1000万,失踪人口已经成为一个严重的社会问题。
如何探寻这些大量的失踪人员信息背后的规律与奥秘,从而辅助公安 机关等相关政府机构采取相应的措施来减缓甚至解决失踪人口问题,已经成为了 一个迫切需要解决难题。
基于上述现状,我们打算开发一个能够弥补传统寻亲网站不足的,具有地理
空间数据分析能力的,功能完善的互联网公益寻亲系统——“回家”。
我们所开发的寻亲系统,利用了MapGIS10平台良好的空间数据的存储、查询、展示、分析以及服务发布等强大的功能。
以地理位置信息为核心,结合相应的实际需求,增加人脸搜索,全网搜索,实时消息推送等功能。
建立一个功能完善的寻亲系统,充分发挥MapGIS在地理位置方面强大的功能,为互联网寻亲提供一个完整的需求分析与技术支持。
1.3需求分析 随着“互联网+”时代的到来,互联网寻亲愈来愈体现出重大的社会意义。
互联网寻亲系统可以充分利用网络的时效性,发挥广大互联网用户的力量以实现更加精准高效的寻亲。
然而,目前还没有一个功能完善的寻亲系统,为了提供一个完善的互联网寻亲系统,为寻亲所涉及的广大用户提供一个高效科学的平台,我们开发了“回家”——寻亲系统。
寻亲系统的用户主要可分为以下三类:
(1)寻亲者:急需寻找与自身直接相关的失踪人员。
需要在寻亲网站上发布失踪人员的相关信息,并接收相关线索。

(2)志愿者:不需寻找与自身直接相关的失踪人员,但是乐于帮助寻找网站上已经登记的失踪人员。
需要在寻亲网站上提供相应线索,集合其他志愿者开展 相关公益活动。

(3)决策者:公安机关等相关政府机构。
需要查看失踪人员的统计数据以及
4 技术支持 回家!
GIS温暖回家路 失踪人员地理位置的时空分布。
用户与相关用例之间的详细关系如图1所示: 项目开发文档 图1系统用例图
5 技术支持 回家!GIS温暖回家路 1.4系统说明 项目开发文档 1.4.1运行环境
(1)软件:MicrosoftWindows7/Windows8/Windows10,MacOS;
(2)硬件:2GB以上内存、2GB以上剩余硬盘空间 1.4.2开发环境
(1)操作系统:Windows10;
(2)开发语言:前端,Html,CSS,JavaScript;后台,Java;
(3)开发环境:IntelliJIDEA2017,MapGISServer,Tomcat8.5;
(4)数据库:MapGIS10空间数据库,MySQL;
(5)SDK:zongdyClient.js,ol.js,JDK1.8。
1.5技术分析 1.5.1MapGIS10 MapGIS10云GIS软件可由用户根据自己所需聚合、重构成各种GIS工具,最终迁移形成自己所需的行业应用;同时提供了完备的地图编辑数据工具、海量地理数据的可视化管理以及组件式开发模式,可进行数据的专业构建分析,为用户能够快速搭建数据服务体系。
开发人员可以很方便地在此基础上二次开发,构建多种应用功能。
1.5.2IntelliJIDEA IntelliJIDEA简称(IDEA),是Java语言开发的集成环境,IDEA是JetBrains公司的产品,支持HTML,CSS,JavaScript,MySQL,Python等。
IDEA是一个完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具。
由于失踪人员数据的爬取模块利用Python语言编写,IDEA对Python的支持大幅增加了后台编码效率。
同时IDEA对前端语言的强大支持能力也使得所开发的系统兼容更多的浏览器。
因此,利用IDEA对系统进行标准化的架构和开发能够增强工
6 技术支持 回家!GIS温暖回家路 作效率,同时使得开发系统的兼容性更高。
项目开发文档 1.5.3MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。
MySQL是最流行的关系型数据库管理系统之
一,在WEB应用方面,MySQL是最好的关系数据库管理系统应用软件。
因此,选用MySQL存储与地理位置数据无关的业务数据。

2.系统设计 2.1架构设计 2.1.1架构分析“回家”——寻亲系统的开发涉及大量的GIS服务、人脸搜索相关的业务 逻辑以及大量的地理信息数据展示。
因此采用一个合理的架构,能够将各个模块进行解耦实现前后端的分离,在提高开发效率的同时也能体现软件结构体系的科学性。
2.1.2设计思想项目借鉴传统的三层架构(即数据访问层、业务逻辑层和界面层)。
在传统 的三层架构之上增加数据爬取层和数据处理层,通过轮询存储将空间数据存储于MapGIS10空间数据库,利用MapGISIGServer发布的服务连接请求处理层与空间数据库。
数据访问层用于处理业务数据库的增删查改,业务逻辑层调用Face++第三方接口,负责人脸检测和人脸搜索相关逻辑。
2.1.3架构体系系统对当前现有寻亲网站的失踪人员信息进行爬取,通过正则表达式匹配失 踪人员失踪地点后进行逆地理编码得到具体的经纬度坐标,并将失踪人员照片加入项目对应的Face++人脸照片集合,用于之后的人脸搜索与匹配。
经过逆地理
7 技术支持 回家!GIS温暖回家路 项目开发文档 编码之后的数据通过轮询存储插入MapGIS10空间数据库。
我们基于数据建模,采用核密度分析、缓冲区分析、聚类分析等GIS分析技术分析失踪人员数据的时空特点,通过数据可视化手段展示失踪数据背后的规律与含义。
系统整体架构主要可分为空间数据部分和业务数据部分,空间数据部分,数据爬取层负责历史数据与实时数据的爬取,数据处理层负责相应数据的处理,并存入空间数据库,通过MapGISIGServer发布相应的服务,最终用于客户端的展示;业务数据部分由数据访问层负责业务数据的访问,业务逻辑层负责业务逻辑的处理,最终用于客户端的展示。
系统的整体架构图如图2所示: 终端展示层 请求处理层 空 地 间 要 图 分 素 服 析 服 务 服 务 务 MapGISIGServer 业务逻辑层 数据访问层 Face++第三方接口 空间数据库 轮询存储 业务数据库 Face++人脸照片集 数据处理层 数据爬取层图2系统整体架构图
8 技术支持 回家!GIS温暖回家路 项目开发文档 系统的后台架构主要可分为数据爬取层、数据处理层、服务发布层、数据访 问层和业务逻辑层。
数据爬取层:我们利用pyhton3原生urllib库编写的爬虫框架如图3所示:①将网站主页URL插入URL队列;②读取URL队列中元素发送至页面下载器;③对获取到的HTML文本进行解析,得到的URLs插入URL队列、Items进入项目管道;④遍历项目管道,将数据插入从数据库中;⑤(从②)重复直到URL队列为空。
数据库 URL队列 项目管道 URL插入队 URL进入下载页面下载器 解析得到Items进入管 道 获取HTML文解析网页文本 图3爬虫框架图 数据处理层:将数据爬取层得到的原始数据进行逆地理编码获得失踪人员所在地点的经纬度坐标,并将结构化数据存入MySQL数据库,将含有失踪人员人脸的照片加入项目对应的Face++人脸照片集合。
在数据分析上我们专注于GIS时空数据的分析。
将经过逆地理编码后的数据进行聚类分析获得失踪人员分布密
9 技术支持 回家!GIS温暖回家路 项目开发文档 度最大的点,并利用各个类簇的失踪人员个数计算该点的影响力范围。
在易失踪 路段分析上,我门采用核密度分析法,利用现有的失踪人员数据与路网数据计算 武汉市各路段的失踪风险,并对结果进行分类评估。
服务发布层:我们使用了
MapGISIGServer进行地理服务的管理。
其中失踪人员数据通过要素服务进行发布,轮询其Rest接口进行地理数据的增删查改;空间分析服务通过要素缓冲分析查询缓冲区失踪人员。
数据访问层:数据访问层与业务数据库中的表相对应,负责业务数据库的增删查改。
其类图如图4所示: 图4数据访问层类图 10 技术支持 回家!GIS温暖回家路 项目开发文档 其中类DBHelper负责数据库的连接工作,类UserDao负责系统用户数据的处理,对应数据库中的表user_table;类MissingPeopleDao失踪人员信息的数据处理,对应数据库中的表missing_people_data_table;类AttentionDao负责用户关注的失踪人员信息处理,对应数据库中的表user_attention;类ClueDao负责失踪人员先关线索的处理,对应数据库中的表clue_table;UserFriendsTable负责系统用户之间好友关系的处理,对应数据库中的表user_friend_table。
业务逻辑层:业务逻辑层可分为人脸搜索模块和实时消息推送模块。
人脸搜索模块主要负责调用Face++Rest接口进行人脸检测,人脸搜索,人脸相似度计算,其框架如图5所示: 信息 信息 登记 修改 照片 登记照片 未检测到人脸或检测到多个 人脸 人脸检测 成功检测到单个人脸 疑似失踪人员 人脸搜索 提供线索 照片 存在可能为同一人的失踪人员 不存在可能为同一人的失踪人员 图5人脸搜索模块框架图 11 技术支持 回家!GIS温暖回家路 项目开发文档 实时消息推送模块负责在线聊天功能的实现与相关线索的广播,其框架如图 6所示。
用户 好友 线索提供者 点对点聊天消息系统线索广播 信息登记者 线索 关注人员 图6消息系统模块框架图 系统的前端架构主要可分为请求处理层和终端展示层。
请求处理层:请求处理层负责处理前端请求,通过与MapGISIGServer相关服务以及业务逻辑层的交互将处理结果返回给终端展示层。
终端展示层:终端展示层负责最终的数据展示以及系统与用户之间的交互。
2.2功能模块设计 2.2.1功能模块汇总表功能模块汇总表如表1所示:表1功能模块汇总表 12 技术支持 回家!GIS温暖回家路 项目开发文档 寻亲功能子系统 模块名称 功能简述 显示所有失踪人员信息; 按属性进行查询与高级搜索; 信息管理模块对失踪人员进行添加、取消关注; 失踪人员信息登记; 失踪人员信息修改; 矢量图层交互式点查询; 矢量图层交互式线查询; 地图查询模块 矢量图层交互式圆查询;矢量图层交互式拉框; 矢量图层交互式多边形查询; 矢量图层属性查询模块; 图层叠加显示; 地图显示模块 地图聚合标注显示;popup弹出框显示,显示失踪人员详细信息;地图定位; 人脸搜索,相似度匹配; 人脸搜索模块对匹配相似度较高的失踪人员关注、注册者提供线索; 关注者、注册者与志愿者进行在线聊天; 消息推送模块对志愿者提供的信息进行实时推送; 志愿者模块 今日寻亲推送;寻亲宣传活动发起; 全网搜索模块 通过调用bing搜索引擎对失踪人员进行全网搜索;数据分析子系统 模块名称 功能简述 风险分析模块 易失路段分析,周边情况查看;区域失踪风险评估; 13 技术支持 回家!GIS温暖回家路 寻亲热力图; 图表分析模块各类统计图表; 地图分析。
图层叠加显示; 地图聚合标注显示; 地图显示模块 popup弹出框显示,显示失踪人员详细信息;地图要素动画,聚类点影响力范围图; 地图定位; 图层叠加查询; 地图查询模块矢量图层交互式点查询; 矢量图层交互式线查询; 空间分析模块要素缓冲区分析。
项目开发文档 2.2.2功能模块关系图 全 网 肤色切换 搜 索 模 块 回家系统 账户切换 寻亲功能子系统 数据分析子系统 消息推送模块地图查询模块地图显示模块地图查询模块地图显示模块空间分析模块 信 人人 人志 息 脸脸 脸愿 管 搜搜 搜者 理 索索 索模 模 模模 模块 块 块块 块 图7功能模块关系图 14 风 图 险 表 分 分 析 析 模 模 块 块 技术支持 回家!GIS温暖回家路 2.2.3功能模块详述 项目开发文档 寻亲功能子系统全网搜索模块:该模块通过利用Bing引擎进行全网搜索,扩大了失踪人员数据来源范围,将结果根据相关度排序展示主页浮动框中,用户通过点击标题可获取详情信息。
地图查询模块:该模块主要实现“回家”——寻亲系统中矢量图层查询的基本功能,其中包括矢量图层交互式点查询、矢量图层交互式线查询、矢量图层交互式圆查询、矢量图层交互式拉框、矢量图层交互式多边形查询、矢量图层属性查询功能,通过调用zongDyClient.js等脚本库从MapGISIGServer的空间数据中提取数据进行展示。
地图显示模块:该模块主要实现地图显示功能,展示数据有矢量图层数据、瓦片数据等,展示形式有图层叠加显示、聚合标注形式、Popup弹出框形式、要素动画形式,通过调用ol.js、zongDyClient.js等脚本库实现良好的交互功能,向用户展示相关信息。
信息管理模块:该模块实现系统中信息管理的基本功能,包括显示所有失踪人员信息、按属性进行查询与高级搜索、对失踪人员进行添加、取消关注、失踪人员信息登记、失踪人员信息修改等信息管理操作。
人脸搜索模块:该模块实现了大规模图像信息检索功能,志愿者通过上传含有疑似失踪人员人脸的照片,与服务器中已登记的失踪人员照片进行对比匹配,从而获得相似度最高的4张照片以及对应的失踪人员详细信息,供志愿者参考辨别。
此模块是驱动“回家”系统的核心引擎;对于相似度大于80%的照片提供“一键提供线索”功能,志愿者可以录入疑似失踪人员的详细信息,系统会实时对关注者、注册者进行消息广播,并提供“点对点在线聊天功能”,是连接志愿者与寻亲者的枢纽。
15 技术支持 回家!GIS温暖回家路 项目开发文档 大规模图像信息检索原理介绍:本系统调用Face++接口,利用深度学习框架训练人脸搜索模型,模型具体流程如图8所示: 1×1卷积层 池化层 样本 样本 样本三元组 权值共享的卷积神经网络层 分割编码层 三重排名损失函数 图8人脸搜索模型 ①获取样本集向量(三元组),如图8中、、,与为相似样本, 与为不相似样本;该三元组样本标签为:图片二进制编码与图片二进制编 码海明距离小于图片与图片距离; ②构建卷积神经网络进行训练,并利用权值共享提高模型效率与准确率; ③对训练后的结果进行分割与编码; ④将编码后的、、带入损失函数(式
(1)); ⑤不断重复调整模型参数直至模型收敛。
tripletFI,FI,FI =max(
0,FI FI 22 FI FI 22 1) 16 技术支持 回家!GIS温暖回家路 thtFI,FI,FI 项目开发文档 ∈0,1q
(1) 志愿者模块:志愿者模块实现了“今日寻亲”、“活动发起”两大功能,“今日寻亲”按时间列出最近一周丢失人员信息及地理位置供志愿者查看,通过“活动发起”功能,志愿者可以在地图上绘制路线并进行相关标注,制作自己的活动地图,打印出的地图也可以进行分享。
数据分析子系统:地图查询模块:该模块在地图查询基础功能上增加了图层缓冲区查询。
其流程如下:首先捕获用户交互式点击动作所在坐标,利用坐标组成的多边形形成缓冲区,然后查询缓冲区图层几何信息,最后对失踪点图层进行图层叠加查询,完成缓冲区查询模型。
地图显示模块:地图展示模块用于基本的地图展示,配合其他相关模块进行数据的展示。
空间分析模块:通过调用MapGISIGServe接口完成要素缓冲区分析。
风险分析模块:该模块提供“易失路段分析”、“区域风险分析”两种交互式风险分析功能。
“易失路段分析”主要利用“路段失踪风险评估模型”(见3.1)得出武汉市各路段风险指数,并分级显示于地图上,通过交互点击查询获得选中路段详细信息,通过交互式线查询获得该路段周边走失情况。
“区域风险分析”主要利用“区域失踪风险评估模型”(见3.2),通过图层缓冲区查询,得出缓冲区域内失踪风险指数,并分级显示于地图上。
图表分析模块:该模块结合E-chart与失踪人员数据绘制各类分析图,帮助决策人员分析历史与近期人口走失情况,通过分析图表可直观的查看失踪人口的时空分布于年龄分布,如“寻亲热力图”、“近10年全国各省份人口失踪情况”、 17 技术支持 回家!GIS温暖回家路 项目开发文档 “失踪人口年龄分布”、“近20年男女失踪人数折线图”、“最近10天失踪人数统计图”、“影响力范围图”、“各省份男女人数比例图”等。

3.模型设计 3.1路段失踪风险评估模型 在易失路段分析模块,项目基于武汉市路网数据与失踪点数据,结合地理学第一定律,利用核密度分析技术,构建了一个路段失踪风险评估模型,对武汉市路段失踪风险指数进行定性定量识别,并通过MapIGServer进行可视化展示。
3.1.1算法原理 核密度的计算方法是基于地理学第一定律,即距离越近的事物关联越紧密, 与核心要素越近的位置获取的密度扩张值越大。
由于其顾及和体现了空间位置的 差异性以及中心强度随距离衰减的特性,该方法适合于城市设施服务影响、交通 路段风险评估等连续性地理现象的密度估计。
本项目利核密度法实现走失点影响扩散。
核密度的公式定义为: = 1
=12
(2) 式中是位置s处的核密度估计函数;h是路径衰减阈值,即带宽;n是与位 置s的路径距离小于或等于h的走失点数;函数是空间权重函数,模型选择四次 权重方程(式
(3)
2 =
1 2
(3) 考虑到均衡不同走失点的分布情况其中带宽h由式
(4)决定: =0t㘵× t,1×t×2
2
(4) t==1()
2 =1()
2
(5)
(5)中和是要素i的坐标,,,表示输入点的平均中心,n为要素总数,
(4)式中SD为输入点平均中心与所有点的标准距离,t为输入点平均中心与所 18 技术支持 回家!GIS温暖回家路 项目开发文档 有点的距离中值。
核密度估计的主要算法如下: ①定义一个搜索半径r(由上式
(4)
(5)决定),即距离衰减阈值; ②计算每个发生元到衰减阈值r内所有相邻路段的距离(点到直线的距离是 点到直线的垂线或最近的折点的距离),所有距离小于r的相邻路段都应被考虑其 中; ③在每个发生元以及它所有相邻路段处,基于所选择的核函数、衰减距离、 走失点实体数计算其密度值; ④在与发生元的距离小于阈值以内的每条路段处,合计来自不同发生元的密 度值之和,并将总密度(风险指数)分配给该路段,对于其他路段,密度缺省值 为零。
最后,为了方便展示与计算,剔除风险度为0的路段并将各路段风险度进行 归一化处理至0-10之间(公式
(6))。
= ×
10
(6)
(6)中W为风险指数 3.1.2模型构建与可视化 按风险指数将武汉市易失路段分为5类,分类阈值如下: 风险指数 风险等级 W<0.1 可能失踪 0.11)风险指数分级表通过MapGIS根据图元属性更改参数,将路段按不同颜色与粗细分级显示并将矢量图层叠加至OSM底图上,通过交互式点击查询显示该路段具体信息,点击“周边情况”、输入查询半径、进行线查询即可查看周边走失情况。
可视化果 19 技术支持 回家!GIS温暖回家路 如下图所示: 项目开发文档 3.2区域失踪风险评估模型 在区域失踪风险评估模块,项目通过交互式缓冲区查询得到区域临近范围内走失点数目,结合缓冲区面积求得走失密度,并通过对走失密度进行分级处理。
帮助用户对各区域风险定性定量识别,并通过MapGISIGServer进行可视化展示。
3.2.1算法原理 失踪风险指数由缓冲区面积与区域内走失点数量得到(如式
(7)) =
(7)
(7)中,Z为风险指数、N为落入缓冲区内的点、S为缓冲区面积。
其中 缓冲区面积计算方法如下,首先根据式
(8)将缓冲区边界点经纬度反算为
X,Y 坐标,用解析法(式
(9))计算出缓冲区面积。
X=uBπ 0th ‫ރ‬2×2×2×sin×cos
(8) 1t0 Y=[1(DK2)×2]×ENcos 式
(8)中:u=667httt㘵6㘵;v=6㘵㘵6㘵tt㘵02; E=LAπ÷1t0;A为中央子午线经度; 20 技术支持 回家!GIS温暖回家路 项目开发文档 S=cos2; N=V[21h62t267(10tt㘵70t000S)×S]×
S D=0t 0t0012S×S0t1666667 F=0t2h0t002h2S×S0t0166 K=0t00t0t16670t1㘵6t0t000S×S×
S M=(0t166S0t0t)×S面积计算公式:P=12(11)
(9) 3.2.2模型构建与可视化 基于MapGISIGServer平台服务,首先通过用户所绘制图元生成缓冲区、并 获取缓冲区几何属性值,通过上式
(8)
(9)计算出缓冲区面积,其次通过缓冲 区几何属性进行图层叠加查询,获得缓冲区中走失点个数,最终计算该缓冲区的 走失点密度。
按走失点密度将区域失踪风险分为
5类,分类阈值如下: 走失点密度(人/km^2) 风险等级
1 可能失踪
2 较易失踪
3 易失踪
4 非常易失踪
5 极易失踪 通过图层叠加显示与弹出框形式对分析结果进行可视化分级显示。
可视化效 果如下图所示: 21 技术支持 回家!
GIS温暖回家路 项目开发文档 3.3走失点聚类模型 在走失点聚类模块,项目基于3,4000余条历史失踪人员信息,采用对空间数据聚类十分有效的均值漂移(MeanShift)聚类算法,对失踪人员经纬度坐标进行聚类,最终得到197个类簇,以及每个类簇的失踪人员个数,最后对不同类簇根据失踪人员个数给定相应权值,依据权值绘制失踪影响力范围图。
3.3.1算法原理 目前已有的研究工作表明,均值漂移(MeanShift)聚类算法对空间数据的聚 类非常有效。
均值漂移是一种非参数聚类方法,该聚类算法不需要指定聚类的数 量,而且对聚类的形状也没有约束,只需要指定“带宽”,“带宽”代表了观测的 尺度。
失踪人员数据点含有的经纬度坐标非常适合利用均值漂移聚类算法进行聚 类。
以下是算法的详细介绍: 给定
n个d维数据点,i=
1,…,n,∈到这n个点的概率密度为: =1=
1 ,利用核函数密度估计的方法,得(10) 其中K(x)为核函数,h为带宽。
如果使用高斯核函数等常见的径向对称的核函数,则K(x)可以表示成Kx=ck
(2),其中c是一个归一化常数。
为了寻找 22 技术支持 回家!GIS温暖回家路 项目开发文档 数据密集的极值点,即求解梯度为0的点,令∇fx=
0。

2 2 = 2( )( ) =
1 =2 2=
1 2
2 =
1 2 =
1 (11) 其中gs=()。
上式前半部分可以看作基函数为g
(2)的核函数密度 估计在x处的取值,后半部分是一个矢量,被称为meanshift,记为:
2 ==
1 2 =
1 (12) Meanshift矢量指向概率密度函数增加的方向。
因此,均值漂移聚类算法可 以使用如下的迭代步骤来得到∇fx=0的位置。
第t步:在位置处计算meanshift矢量() 第t+1步:跟新x的位置:1= () 重复以上步骤,直至收敛。
3.3.2模型构建与可视化 为了防止各类簇之间失踪人员数量的的差距过大,在构造失踪影响力圆时对 每个类簇的失踪人员数量取log。
最后得到的失踪影响力圆的半径的计算公式如 下: =㔠t (13) 式中,R表示失踪影响力范围圆的半径,num表示每个类簇的失踪人员数量, c表示一个常数,用于调整半径的大小以便于展示。
最后,我们利用ol.js开发库在地图上添加影响力范围圆用于展示,可以直 挂的看到全国各地失踪人员的分布情况与数量对比。
可视化效果如下图所示: 23 技术支持 回家!GIS温暖回家路 项目开发文档
4.数据库设计 4.1逻辑设计 数据库中的逻辑设计如E-R图(图9)所示: 24 技术支持 回家!GIS温暖回家路 图9数据库E-R图 项目开发文档 4.2物理设计 4.2.1表汇总 表名 功能说明 user_table 用于存储用户信息 missing_people_data_table用于存储失踪人员信息 user_attention_table用于存储用户与其关心的失踪人员关系 clue_table 用于存储线索信息 4.2.2表[1]:[user_table]表 表名 user_table 数据库用户 root 主键 userName 其他排序字段 无 索引字段 userName 序
字段名称数据类型(精允许唯一区别默认约束条件/说 号 度范围) 为空Y/N度值明 Y/N 1userNameARCHAR(11)
N Y高 主键 2passwordARCHAR(16)
N 3 tel CHAR(11)
N 4 location ARCHAR(50)
N N中Y高N低 25 技术支持 回家!GIS温暖回家路 项目开发文档 Mysql脚本 CREATETABLEIFNOTEXISTS`gohome`.`user_table`(`userName`ARCHAR(40)NOTNULL,`password`ARCHAR(16)NOTNULL,`tel`CHAR(11)NOTNULL,`location`ARCHAR(50)NULL,PRIMARYKEY(`userName`)) ENGINE=InnoDB; 4.2.3表[2]:[missing_people_data_table]表 表名 数据库用户 主键 其他排序字段 索引字段 序 字段名称 号
1 missingID
2 type 3
missingName
4 sex
5 birthDate
6 height
7 missingDate
8 missingPlace
9 description 10 extraData 11
registrationDate missing_people_data_table root missingID 无 missingID、userName 数据类型(精度
允许唯区默认 范围) 为空一别值 Y/NY/N度 INT(10) NY高 约束条件/说明主键 ARCHAR(11)
N ARCHAR(100)
N ARCHAR
(3)
N DATE
N ARCHAR(20)
N DATE
N TEXT(500)
N TEXT(500)
N TEXT(500)
N DATE
N N低N低N低N低N低N低N低N中N中N低 26 技术支持 回家!GIS温暖回家路 项目开发文档 12 lng DOUBLE NN低 13 lat DOUBLE NN低 14 hasPhoto INT
(2) NN低 15missingPeopleState INT
(2) NN低
0 16 userName ARCHAR(40)NN低admin外键 MySQL脚本 CREATETABLEIFNOTEXISTS `gohome`.`missing_people_data_table`( `missingID`INTUNSIGNEDNOTNULL AUTO_INCREMENT, `type`ARCHAR(11)NOTNULL, `missingName`ARCHAR(100)NOTNULL, `sex`ARCHAR
(3)NOTNULL, `birthDate`DATENOTNULL, `height`ARCHAR(20)NOTNULL, `missingDate`DATENOTNULL, `missingPlace`TEXT(500)NOTNULL, `description`TEXT(500)NOTNULL, `extraData`TEXT(500)NOTNULL, `registrationDate`DATENOTNULL, `lng`DOUBLENOTNULL, `lat`DOUBLENOTNULL, `hasPhoto`INT
(2)NOTNULL, `missingPeopleState`INT
(2)NOTNULL, `userName`ARCHAR(40)NOTNULL, PRIMARYKEY(`missingID`,`userName`), UNIQUEINDEX`missing_ID_UNIQUE` (`missingID`ASC), INDEX 27 技术支持 回家!GIS温暖回家路 项目开发文档 `fk_missing_people_data_table_user_table1_idx`(`userName`ASC), CONSTRAINT`fk_missing_people_data_table_user_table1` FOREIGNKEY(`userName`)REFERENCES`gohome`.`user_table`(`userName`)ONDELETENOACTIONONUPDATENOACTION) ENGINE=InnoDB; 4.2.4表[3]:[user_attention_table]表 表名数据库用户 主键其他排序字 段索引字段序字段名号称 数据类型(精度范围) 1missingID 2userName INT(10)ARCHAR(40) user_attention_tableroot userName、missingID无 missingID、userName 允许唯一区别默认值约束条件/ 为空Y/N度 说明 Y/N
N N中 外键
N N中admin外键 28 技术支持 回家!GIS温暖回家路 项目开发文档 Mysql脚本 CREATETABLEIFNOTEXISTS`gohome`.`user_attention_table`( `userName`ARCHAR(11)NOTNULL,`missingID`INTUNSIGNEDNOTNULL,PRIMARYKEY(`userName`,`missingID`),INDEX`fk_uesr_table_has_missing_people_data_table_missing_people__idx`(`missingID`ASC),INDEX`fk_uesr_table_has_missing_people_data_table_uesr_table_idx`(`userName`ASC),CONSTRAINT`fk_uesr_table_has_missing_people_data_table_uesr_table` FOREIGNKEY(`userName`)REFERENCES`gohome`.`user_table`(`userName`)ONDELETENOACTIONONUPDATENOACTION,CONSTRAINT`fk_uesr_table_has_missing_people_data_table_missing_people_da1`FOREIGNKEY(`missingID`)REFERENCES`gohome`.`missing_people_data_table`(`missingID`)ONDELETENOACTIONONUPDATENOACTION)ENGINE=InnoDB; 29 技术支持 回家!GIS温暖回家路 4.2.5表[4]:[clue_table]表 项目开发文档 表名数据库用户 主键其他排序字段 索引字段序字段名称号
1 clueID 2confidence
3 height
4 sex
5 findDate 6findPlace 7description 8uploadDate
9 clueState 10missingID 11userName clue_table root clueID 无 missingID、userName 数据类型(精允许唯一区别默认约束条件 度范围)为空Y/N度值/说明 Y/N INT(10)
N Y高 主键 FLOAT
N ARCHAR(20)
N ARCHAR
(3)
N DATE
N TEXT(500)
N TEXT
N DATE
N ARCHAR(10)
N INT(10)
N ARCHAR(40)
N N低N低N低N低N低N中N低N低N中N中 外键外键 30 技术支持 回家!GIS温暖回家路 项目开发文档 Mysql脚本 CREATETABLEIFNOTEXISTS`gohome`.`clue_table`(`clueID`INT(10)UNSIGNEDNOTNULL,`confidence`FLOATUNSIGNEDNOTNULL,`height`ARCHAR(20)NOTNULL,`sex`ARCHAR
(3)NOTNULL,`findDate`DATENOTNULL,`findPlace`TEXT(500)NOTNULL,`description`TEXTNOTNULL,`uploadDate`DATENOTNULL,`clueState`ARCHAR(10)NOTNULL,`missingID`INTUNSIGNEDNOTNULL,`userName`ARCHAR(40)NOTNULL,PRIMARYKEY(`clueID`,`missingID`,`userName`),INDEX `fk_clue_table_missing_people_data_table1_idx`(`missingID`ASC,`userName`ASC), CONSTRAINT`fk_clue_table_missing_people_data_table1` FOREIGNKEY(`missingID`,`userName`)REFERENCES`gohome`.`missing_people_data_table`(`missingID`,`userName`)ONDELETENOACTIONONUPDATENOACTION)ENGINE=InnoDB; 31 技术支持 回家!GIS温暖回家路
5.系统亮点与技术特色 项目开发文档 5.1系统亮点 5.1.1人脸搜索的运用 在寻人过程中,失踪人员的照片往往能起到决定性作用,可以帮助用户精准锁定疑似失踪人员,从而提供重要线索。
项目提供的人脸搜索功能使得用户能够上传疑似失踪人员的照片进行搜索,系统会返回已登记的失踪人员中相似度最大的4个人脸,并提供相似度。
当所上传的疑似失踪人员照片与已登记的失踪人员可能为同一人时(相似度超过80%),用户可提供疑似失踪人员的相关线索。
系统利用最前沿的深度学习技术,解决了以往棘手的疑似失踪人员身份确认的问题。
5.1.2建模思维的运用 数学模型与算法具有很强的科学性和正确性,利用合理的数学模型结合相应的算法,能够揭示数据背后的规律与奥秘。
本系统结合核密度分析,缓冲区分析以及均值漂移聚类算法,建立了路段失踪风险评估模型、区域失踪风险评估模型和走失点聚类模型。
我们利用MapGISIGSever提供的强大的服务发布功能和可视化功能,将建立的模型用于实际路段和区域的失踪风险分析,使得决策者可以直观的了解某一区域或路段的失踪情况,并查看已失踪人员的详细信息。
利用走失点聚类模型生成的失踪影响力范围图可以直观的了解全国各地的失踪人口情况。
5.1.2数据分析功能的添加 传统的寻亲网站往往只有简单的信息登记与展示,却忽视了这些大量失踪人 员信息背后蕴含的规律。
我们通过对这些大量含地理信息数据的挖掘,利用 MapGISIGServer与echart图表进行分析与展示,可以宏观的查看失踪人员信息 统计分析情况,为决策者提供一定启发。
32 技术支持 回家!GIS温暖回家路 5.2技术特色 项目开发文档 5.2.1MapGISWeb端插件式开发 为实现系统不同功能之间的解耦,本项目采用MapGis提供的纵生式开发模式,使用纵生式开发模式开发软件应用,可以同步开发,也可以异步开发、异步上线,所开发出来的软件应用具备纵生、飘移、聚合、重构4大云特性,能极大提高代码复用率,延长软件生命周期,降低生产成本,提高生产效率。
本系统共使用了5个功能插件,分别是菜单插件、Popup展示插件、热力图插件、易失路段分析插件以及区域失踪风险分析插件。
其中,菜单插件主要用于主页菜单的显示;Popup展示插件主要用于聚合失踪人员聚合标注以及Popup展示框的实现;热力图插件主要用于失踪人员热力图的展示;易失路段分析主要用于实现武汉市相应路段的失踪风险分析功能;区域失踪风险分析插件主要用于分析在地图上交互式绘制形成的区域指定半径内的失踪人员以及该区域的失踪风险。
5.2.2实时通信系统 寻亲系统需要解决的一大技术问题就是最新线索的广播,即将志愿者提供的最新线索及时推送给信息的登记者和关注者,在实时通信方面WebSocket是最理想的传输方式,除了能高效使用服务器内存,低延迟,还能实现客户端和服务器端的全双工通信。
我们利用Tomcat提供的WebSocketAPI实现失踪人员线索的及时广播和用户之间的点对点交流。
5.2.3爬虫技术 本系统数据来源于“宝贝回家网”,利用正则表达式对网站数据进行提取。
数据可以每日跟新,但不会对网站造成任何的安全隐患。
33 技术支持 回家!GIS温暖回家路
6.界面设计 项目开发文档 6.1设计原则 在界面设计方面我们遵循易用性原则、规范性原则、帮助设施原则以及美观与协调性原则。

(1)易用性原则:本系统所采用的按钮图标直观清晰,区分度高,菜单名称用词准确表达清晰。
多按钮使用展开方式,防止不同功能按钮之间相互影响。
在大多数情况下,用户能够不参照用户手册就能了解界面功能并进行正确的相关操作。

(2)规范性原则:本系统界面包含菜单栏、导航栏、操作区等部分,具有包含关系的菜单进行分级展示,导航栏可实时查看登录状态,操作区界面充足操作流畅。

(3)帮助设施原则:本系统提供了详尽而可靠的帮助文档,在用户使用产生迷惑时可以很容易从帮助文档中寻求解决方法。
帮助文档中的性能介绍与说明要与系统的实际操作完全一致。

(4)美观与协调性原则:界面分布合理,色彩搭配赏心悦目。
系统界面采用CSS3和Html5编写,简洁大方。
首先,菜单栏可进行隐藏,扩大操作界面;操作界面整体以地图为主体,相应的交互式输入输出均以弹出框的形式展现,交互功能多样而又不影响用户对地图的查看与操作。
其次,人脸搜索、全网搜索、区域失踪风险分析等耗时操作均展示加载动画,不至于让用户误以为系统停止响应。
6.2界面布局 界面主体部分由地图占据,可进行地图相关操作,界面左侧为多级功能菜单 34 技术支持 回家!GIS温暖回家路 项目开发文档 栏,可选择不同功能模块进行操作,切换按钮可以从失踪人员照片展示视图切换 为操作视图进行一系列地图相关操作。
界面整体布局如图10所示: 导航栏 地图控件 个人中心功能按钮 多 级 功 能 地图展示 菜 单 切换按钮 6.3界面展示 欢迎页面 图10界面布局设计 35 技术支持 回家!GIS温暖回家路 主页面 项目开发文档
7.项目总结 “回家”——寻亲系统是一个颇具社会意义的系统。
技术上,它巧妙地结合了MapGIS所提供的强大的GIS功能与深度学习所带来的人脸图像识别和大规模图像检索功能,极大地提高了寻人效率与精度;社会意义上,本系统能够联合大众的力量,发挥互联网的优势,帮助寻找失踪人员,于个人、于社会,都是非常有意义的。
在项目开发过程中我们将重心放在失踪人员数据的分析与可视化,利用MapGIS平台提供的存储、查询以及强大的空间数据分析功能实现所需功能。
同时,我们在仔细对比当前各大寻亲网站之后,总结不足,加入最前沿的人脸识别与大规模图像检索技术,使得寻亲过程更加高效准确。
整个项目以MapGIS为核心,展开各类空间数据的操作与分析功能。
以人脸搜索为桥梁,增加人脸关键信息的检索功能,弥补传统寻亲网站的不足。
36 技术支持

标签: #文件 #如何将 #cad #如何使用 #如何下载 #cppm #国外 #随机数