地震信息微信公众平台服务开发

2016-04-01 05:22韩艳杰张诺男寇曼曼高冠龙中国郑州450016河南省地震局
地震地磁观测与研究 2016年1期
关键词:位置服务微信公众平台

徐 丹 韩艳杰 张诺男 寇曼曼 高冠龙(中国郑州450016河南省地震局)



地震信息微信公众平台服务开发

徐 丹 韩艳杰 张诺男 寇曼曼 高冠龙
(中国郑州450016河南省地震局)

摘要微信公众平台作为一种新的即时通讯产品,被广泛应用于各行各业。利用微信公众服务平台开发模式下的高级接口,实现震情信息的即时推送、历史地震查询、位置服务、应急避难场所查询和地震科普知识宣传等功能,从而扩展地震信息的服务渠道,提升地震行业公众服务能力,具有较强的实用性。

关键词微信公众平台;震情推送;位置服务;科普宣传

0 引言

随着移动互联网技术的不断发展,智能手机的快速普及,各种即时通讯应用软件层出不穷。微信公众平台作为目前影响力最大、发展最为成熟的即时通讯传播媒介,已为人们广泛应用。根据中国互联网信息中心(CNNIC)的研究:自2012年8月微信公众平台诞生,2013年11月就突破200个公众账号,截至2014年7月底微信公众号达580万,每日新增1.5万个。截至2014年5月,65%的中国网民(8亿)使用微信。目前微信公众平台已经被广泛用于图书馆信息服务(黄浩波等,2013;江波等,2103;张蓓等,2014;李文江等,2014)、航运信息服务(詹鑫红,2014)、中小企业CRM系统(肖富春,2014)、移动银行服务(甘荣石,2014)、媒体、公益组织等领域。

在2013年4月20日四川芦山地震中,近15万人使用微信关注“芦山地震救助”,实时发送消息达20余万条,在震后灾情收集和应急救援工作中发挥了巨大作用。如何借助微信公众平台向社会民众推送震情信息,提供历史地震信息查询、震中信息展示(和朝霞,2012)、震中距测算、应急避难场所查询、地震科普知识宣传等功能,是本文研究的主要内容。

1 设计方案

1.1 设计思路

微信公众平台账号类型分为服务号和订阅号。服务号特点是,每月可以群发4条信息给用户,群发消息不显示在聊天列表,下发消息即时推送用户,默认可以自动获得自定义菜单,在申请并获得微信认证后可以获得高级接口权限,并开启编辑模式进行个性化开发,服务号旨在为用户提供个性化定制服务。订阅号特点是,每天可群发一条信息给用户,群发消息隐藏在订阅号文件夹,群发消息不会提示推送,认证后可以申请自定义菜单,订阅号主要用于提供信息和资讯。

在开发模式下,地震微信公众平台可以进行关注回复、发送地理位置信息、推送图文消息,还可以结合腾讯地图等第三方地图提供商进行基于LBS的个性化开发,具有交互性强、即时性强的特点。平台在获取用户地理位置信息基础上,能够将地震信息通过地图标注的方式立体直观地展现给用户,并进行震中距测算;还可将应急避难场所的名称、位置、容纳、人数,以图文消息方式进行推送,实现地图展示;同时能够将地震科普知识编辑成多图文消息进行推送。

1.2 架构

管理员利用开发模式,在微信公众平台中配置消息接口,接入微信消息处理模块;微信用户向微信公众号发送查询消息指令时,微信服务器将消息转发至微信公众平台;微信公众平台根据预先配置的接口,将消息转发给消息处理模块;消息处理模块会分析用户发送消息的内容,按照功能模块对应的Web应用服务生成回复消息并返回给微信公众平台,用户最终接受到回复消息。功能模块对应的Web应用服务是微信公众平台服务实现的关键,负责分析用户发送的消息指令并将其转化为相应服务子模块的功能调用。系统平台架构见图1。

图1 总体架构Fig.1 Overall architecture

1.3 功能

地震微信公众平台的主要功能有震情服务、地震应对和科普宣传。

(1)震情服务。震情服务为一级菜单,包含最新震情、历史震情两个二级菜单。同时,可实现最新震情的自动推送功能,主要包括震中、时间、震级信息,可将震中位置标注在腾讯地图上,并测算震中距离(图2)。

最新震情为最近发生的一次地震,包括地震三要素,震中距等信息。用户点击菜单后,以图文信息格式推送给用户,图文格式与自动推送震情时的格式相同。历史震情显示最近发生的10次地震,点击后可在地图上查看震中位置及地震三要素等信息(图3)。

图2 震情自动推送Fig.2 Earthquake information automatically push

图3 最新震情和历史地震Fig.3 The latest earthquake and history earthquake

(2)地震应对。地震应对为一级菜单,包含避难规划、位置服务两个二级菜单。避难规划功能可基于用户位置经纬度信息计算50 km内的应急避难场所,以图文消息格式发送给用户,在腾讯MAP上标注避难场所地理位置,下面罗列应急避难场所名字、位置以及距离用户千米数。应急避难场所数据要素包括避难场所名字、经度、纬度、可容纳人数、类别、位置(图4)。用户可通过位置服务向微信服务器发送位置信息,并可提供位置的查询搜索服务。

(3)科普宣传。科普宣传为一级菜单,包含“避震常识”“联系我们”两个二级菜单。避震常识功能以图文消息格式回复用户,内容包含文字、图片,由“联系我们”模块转到地震局地震信息网(图5)。通过微信公众平台,管理员每月可向用户推送4条多图文消息。

图4 避难规划和位置服务Fig.4 Earthquake emergency shelter planning and location based service

图5 科普宣传和联系我们菜单Fig.5 Science popularization and contact us

2 具体实现

2.1 消息接口配置

消息接口配置是微信公众号实现地震信息推送服务功能的前提。开通微信公众号后,登录微信公众平台,启用“高级功能”菜单中的“开发模式”。登记接口的URL和Token,实现网址接入。Token用于生产签名,URL则填写用于消息处理的服务器资源。

信息提交时,微信服务器将GET请求填写在URL上进行发送。请求包括4个参数:Signature(微信加密签名)、Timestamp(时间戳)、Nonce(随机数)和Echostr(随机字符串)。消息处理服务器将检验Signature,如果确认请求来自微信服务器,则原样返回Echostr参数内容,表示接入生效,反之接入失败。成功配置接口后,发送至微信公众号的消息将被转发给所登记的URL,并由指令解析模块和各个服务子模块完成消息的解析和回复。

2.2 消息发送与接收

当用户向微信公众账号发消息时,指令解析模块负责解析来自微信服务器的POST请求,匹配消息类型和指令,调用具体的服务子模块处理。请求消息的格式为XML,请求地理位置消息样例如下。

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>1351776360</CreateTime>

<MsgType><![CDATA[location]]></MsgType>

<Location_X>23.134521</Location_X>

<Location_Y>113.358803</Location_Y>

<Scale>20</Scale>

<Label><![CDATA[位置服务]]></Label>

<MsgId>1234567890123456</MsgId>

</xml>

微信服务器接收到用户的“位置服务”消息请求后,返回用户的经纬度信息,并调取腾讯地图进行回复,用户点击进入地图后可以进行导航查询。回复地理位置消息样例如下。

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>123456789</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[LOCATION]]></Event>

<Longitude>113.352425</Longitude>

<Precision>119.385040</Precision>

</xml>

2.3 避难场所查询

用户将位置信息上报后,应用服务器根据经纬度信息计算距离用户50 km内的避难场所,并根据距离远近进行排序,最后将避难场所的位置、容纳人数、距离等信息以图片消息的形式进行发送,可以在腾讯地图上查看对应场所的具体位置信息。若用户上报的位置信息不在河南省内,则无法实现避难场所信息的推送,会提示“本公众号只能提供河南省内应急避难场所查询”。具体代码如下。

If ($distance < 50000){

shopSortArrays[$distance] = array(

"Title"=>"【".$stlist[$i]['name']."】 距离".round(($distance / 1000), 1)."公里 容纳 ".round($stlist[$i] ['accommodate'], 1)."万人",

显然,除了履行工商经济类、公益慈善类、社会福利类、社会服务类这“四大类”职能的社会组织,其他类别的社会组织就难以得到此优待。总体上看来,民办非企业单位很多都属于这些类别关照的范围;尽管如此,在现实当中,属于“四大类”的社会组织也有不少在登记管理环节依然面临着棘手难题;例如对人数和办公场所的限制,很多规模有限、资源紧张的组织可能依然达不到登记门槛的要求。而且,面临这一问题的组织还不在少数。也就是说,文件规定的门槛虽然在降低,但是离大部分民办非企业单位的实际需求仍有一定距离。

}

ksort($shopSortArrays);//排序

$shopArray = array();

$shopArray[] = array("Title" =>'附近避难所',"Description" =>"", "PicUrl" =>"", "Url" =>"");

foreach ($shopSortArrays as $key => $value)

{ $shopArray[] = $value;

if (count($shopArray) > 9){break;}

}

if (count($shopArray) == 1)

{$content = "附近50 km内没有查询到应急避难场所,本公众号只能提供河南省内应急避难场所查询";

}

else{

$content = $shopArray;

}

3 应用

“河南地震公众服务”自2014年12月上线测试以来,向公众推送全球范围内震情信息共计976条。2015年1月18日11时01分在河南省濮阳市范县发生3.9级地震,“河南地震公众服务”在地震发生后的10 min内向公众自动发布该震情信息,自动测算用户位置与震中间距,并向用户及时推送附近避难场所的具体信息和位置信息,收到良好的社会效应。“河南地震公众服务”微信平台对防震减灾宣传、地震信息服务起到积极作用,并将河南省地震应急避难场所的成果进行有益推广,为震后民众的合理有序安置提供了有力保障。

4 结束语

利用微信公众平台影响范围广、交互性强的特点,向公众及时推送最新震情、历史地震、震中距等信息,借助腾讯地图,使公众了解附近避难场所的位置和距离,同时能利用图文消息对公众进行科普宣传。利用微信公众平台较强的扩展性,在未来工作中将继续开发灾情上报和自救知识问答模块,使地震应急产品多样化,最大化发挥地震信息公众服务平台的作用和价值,进一步提升地震行业的公众服务能力。

参考文献

张蓓,窦天芳,张成昱. 开发模式下图书馆微信公众平台服务的设计与实现[J]. 现代图书情报技术,2014,(6):87-91.

江波,覃燕梅. 基于微信图书馆APP服务系统设计与实现[J]. 现代情报,2013,(6):41-44.

黄浩波,何卫华,叶青. 微信及其在图书馆信息服务中的应用[J]. 图书馆学刊,2013,(1):62-64.

和朝霞,董星宏,赵曦. 基于ArcGIS Mobile的智能手机端的震中信息展示[J]. 地震地磁观测与研究,2012,33(3/4):56-61.

李文江,陈诗琴. 微信作为APP客户端的图书馆公共服务平台[J]. 现代图书情报技术,2014,(7/8):133-138.

甘荣石. 基于微信平台的移动银行应用框架研究[D]. 华南理工大学,2014.

詹鑫红. 基于微信公众平台的航运信息推送技术研究与应用[D]. 大连海事大学,2014.

肖富春. 基于微信的中小企业CRM系统设计与实现[D]. 山东大学,2014.

Research of earthquake information service based on WeChat public platform

Xu Dan,Han Yanjie,Zhang Nuonan,Kou Manman and Gao Guanlong
(Earthquake Administration of Henan Province, Zhengzhou 450016, China)

Abstract

As a new instant messaging product, WeChat public platform is widely used in all fields of life. In this paper, the advanced interface of WeChat public service platform is used to release the information of earthquake real-time publishing, location based service, query service of emergency shelter and earthquake science knowledge popularization. It, thus, extends the method of earthquake information service, and promotes the ability of earthquake industry public service.

Key words:WeChat public platform,earthquake information publishing,location based services,science knowledge popularization

doi:10. 3969/j. issn. 1003-3246. 2016. 01. 025

基金项目:河南省地震局科研基金项目《河南地震微信公众平台服务的设计与实现》 (201406)和中国地震局地震应急青年重点任务——《基于百度MAP的地震应急避难场所信息管理系统的设计与实现》

作者简介:徐丹(1983—),女,工程师, 2009年毕业于重庆邮电大学,获硕士学位,主要从事地震应急指挥技术系统运维工作

本文收到日期:2015-07-15

猜你喜欢
位置服务微信公众平台
星站差分与PPP技术在深远海调查中的位置服务精度分析
互联互通 畅享未来 第12届卫星导航与位置服务运营商大会在深圳举行
第六届中国卫星导航与位置服务年会暨首届卫星应用国际博览会
智能车辆专利技术综述
基于微信公众平台的高校综合素质社团建设
基于微信的大学生微型学习平台的设计与实现
基于微信公众平台的碎片化学习研究
媒体融合背景下出版社微信公众平台发展研究
微信公众平台在高校图书馆信息服务中的应用研究
基于Android 的地图位置服务系统的设计与实现