刘超,何镜文,杨玉婷
(佛山市气象局,广东佛山 528000)
微信作为一款即时通讯服务的免费应用程序,截止至2019年全国活跃用户达到11亿,覆盖96%以上的智能手机[1],其中微信公众号的推出,更是为政企部门优质服务提供了优质的服务平台。佛山市总面积为3 797.72 km2,2019年末佛山市常住人口超过800万人,其中禅城区面积154.68 km2,常住人口超过130万人。针对禅城区100多万用户,将微信平台和气象数据的优势最大化利用,打造个性化、定制化,让用户切实享用到高质量气象公共服务产品[2-5]。
微信公众平台共分为4层,包括数据层、接口层、处理层和展示层(图1)[6]。
图1 技术架构示意图
1)数据层。
数据层包含气象网站和高德地图数据。气象网站(www.fs121.com)主要提供天气预警、天气实况、雷达图等气象数据,利用爬虫工具提取。而高德地图数据主要提供道路实况数据,通过高德地图API提取。
2)接口层。
接口层由爬虫工具和高德地图API组成。通过爬虫工具直接定位到佛山气象官网(https:\www.fs121.com),根据不同的数据类型,写入URL,再由标签分析工具提取指定标签的内容,形成对应的气象数据。而高德地图API是一套能为开发者提供地图应用程序的接口,包括JavaScript、iOS、Andriod、Windows和Web服务等多种版本。提供了定位、地图、导航(公交\驾车\步行)、位置搜索、周边检索、地理编码及逆地理编码、实时路况等丰富功能。高德地图JS API是一套JavaScript语言开发的的地图应用编程接口,可兼容移动端、PC端等众多系统平台,目前JSAPI免费开放使用。JSAPI提供了2D、3D地图模式,可满足绝大多数地图展示、地图自定义、图层加载、点标记添加、矢量图形绘制等开发需求,同时也提供POI搜索、路线规划、地理编码、行政区查询、定位等众多开放服务接口。同时,JSAPI免费提供完善的开发文档,可供开发者系统学习接口调用,鉴于该次项目由于使用Web技术开发,因此比较适合JS API。
3)处理层。
处理层包含气象数据处理模块及道路数据处理模块。气象数据处理模块,主要通过获取来的数据,根据定义信息导入到页面当中。而道路数据处理模块,对于道路实况数据,在提取直接生成数据层,叠加到高德地图上;对于水浸黑点数据,则根据坐标,通过描点添加到高德地图上。
4)展示层。
展示层主要调用微信公众平台功能,通过菜单栏的方式跳转到指定的页面。而暂时的页面,主要用JS生成。
1)网络爬虫实现气象数据同步。
佛山 市 气 象 局 官 网(http://www.fs121.com/),每日有大量的数据出入,加上对此网站开发技术、系统架构、目录结构不熟悉,为避免造成网站的不稳定,影响业务运行。因此选择使用网络数据同步技术进行数据调用(图2)。建立独立运行的系统通过数据同步技术获取所需数据,不影响原有网站的技术、系统架构和代码结构,可根据所需数据的类型、数量进行自动抓取并进行引用[7]。
图2 数据同步工作流程示意图
2)实时路况。
直接调用高德地图开源API进行多个图层操作(图3)。首先定位到佛山,根据系统要求,调整各个参数,初始化地图图层。然后通过Tile-Layer.Traffic在地图上添加实时交通图层。
3)浸水黑点描绘。
在初始图层上新建一个浸水黑点图层(图4)。先将所有浸水黑点的经纬度数据封装到List里面,然后通过遍历List,使用AMap.Polyline和AMap.PolyEditor根据经纬度绘制点和折线。同步显示所有浸水点的地理位置。
4)Web页面调用JS实现一键拨号。
先收集固定应急服务号码,并将所有号码逐个填入A标签href当中,如<a href=”tel:12121”>。用户点击后,页面提取电话号码,并调用收集本地的通话功能,实现一键拨号。
图3 实时路况代码界面
图4 点线绘制代码界面
5)微信公众号接入。
微信公众号因其集成社交和支付功能已经成为目前电子政务服务的首选服务。接入微信公众号需要满足以下条件[8]:由于公众号不面向个人,因此需要以气象局的名义在微信公众号注册并实名认证,目前经过相关手续已经开通并运营;公众号要去接入必须是已实名的域名并只支持80或443,由于气象目前使用www.fs121.com,因此需要在域名管理服务上配置二级域名,同时由于气象内Web服务使用NGINX反向代理服务器跳转二级域名,因此同样需要在NGINX上配置域名管理服务上的二级域名并指向到部署的服务器上(图5)。
图5 微信后台对接界面
目前禅城交通气象公众号利用微信平台初步实现了气象数据、交通数据、水浸黑点数据和应急咨询救援功能的整合。平台设有天气查询、交通查询和应急咨询三大板块,提供此时天气、实时预警、短临预报、雷达图、实时路况和水浸黑点等查询服务,当遇到重大天气时,为方便用户根据需求快速访问,合理安排出行,减少事故发生率。
不足的是,由于目前未与交通、国土和水务等部门建立实时稳定的信息共享平台,无法将数据有效利用。未来将继续推动各部门数据信息常态化共享交换,建立健全的信息共享机制,将GIS地理信息、天气监测、预报预警、实时路况、水浸高风险区等数据融合“一张图”,在遇到重大天气过程时,利用人工智能技术计算出安全出行的解决方案,通过微信平台快速发布,提供更安全、更畅通、更便捷的道路安全出行信息。