[摘 要]传统旅游平台展现旅游信息的形式往往较为单一且交互性弱,针对目前的问题与需求,本平台结合众源旅游数据采集、信息可视化等技术,以重庆市作为案例,在广泛搜集现有网络旅游平台中用户自发上传的点评、路线等旅游信息数据的基础上,为普通游客用户、旅游规划人员、研究人员提供一个直观的旅游信息可视化平台,包括POI地图可视化、热门旅游路线地图可视化、点评热度可视化、时序变化特征统计图等,改变了传统旅游信息单一的展示方式,提升了用户体验,能够满足用户的实际应用需求。
[关键词]旅游信息平台;信息可视化;众源旅游数据
0 引 言
目前,旅游业已成为国民经济的战略性支柱产业,2017年国内游客数量达到50亿人,国内旅游收入达45 661亿元。2018年,国家旅游局与文化部合并,组建文化和旅游部,这标志着文化、旅游统筹管理,资源配置更合理。在智慧旅游不断发展的背景下,旅游业已进入大众化、全域化时代。互联网技术和自媒体平台的迅速发展一方面为旅游者分享旅游经历、提供出行建议带来了巨大的便利;另一方面为计划出行者进行游玩规划提供了极具代表性和可靠性的重要参考依据。目前,在线旅游信息平台主要有地方政府宣传网站以及专业旅游服务网站。由政府职能部门主办的以政务资讯、地区介绍为主的地方政府宣传网站,主要发布旅游新闻、政策条例、旅游数据等信息。以旅游资讯为内容的专业旅游服务网站,如携程、去哪儿网等,它们主要关注旅游产品及相关服务的交易,在此类旅游网站中用户自主上传的攻略、心得、评价和照片等众源数据往往是极具参考价值的信息,能够填补当前旅游数据采集过程中的空白。然而,現有的旅游地理信息平台没有充分体现地理信息技术在数据处理和信息集成方面的强大潜能,导致当前地理信息技术与旅游信息化的结合面临诸多困惑。主要问题有:第一,许多旅游宣传网站的内容仅仅展示的是地区发展动态、文件政策等信息,对于旅游数据的展示较为单调且不够直观,容易让以游客为主的用户难以寻找到其感兴趣的旅游资讯,导致访客的范围和数量都较为有限;第二,宣传网站在平台设计上缺乏互动性,仅在信息宣传方面发挥了作用,不能利用现有的数据库和网络技术进行用户交互,导致用户体验较差。
为解决以上问题,本平台在采集众源旅游数据的基础上,开发了一个集景点信息检索、分析、展示等功能于一体的旅游信息可视化平台。结合网络爬虫技术采集众源数据,通过对数据进行一系列的处理和分析,使数据的展现形式更加直观详细。通过信息可视化的方式,解决了信息展示单调的问题,能够帮助游客更好、更快地了解景点,通过用户交互的体验方式构建可视化平台,弥补了现有旅游宣传网站用户交互性弱的不足,能够提升用户体验,对于游客了解当地文化和旅游具有重要的意义。
1 数据采集与处理
本平台应用于CODA重庆开放数据创新应用大赛的参赛产品“优游出行”中,以重庆市作为开发案例,利用网络爬虫的方式采集了去哪儿网、携程网、马蜂窝网3家在线旅游平台的重庆旅游景点信息,包括POI信息、点评信息、旅游路线信息,通过数据清洗、集成、变换、归约对众源数据进行一系列的预处理,以此构建众源旅游景点数据库并应用于平台中。
1.1 数据采集
网页数据采集最常用的方法是网络爬虫,它可以按照一定的程序或者规则自动地从互联网上抓取相关的资源与信息。本平台应用Python语言设计一个具有模块化的网络爬虫程序,采集流程如图1所示。
针对旅游景点POI、点评数据、旅游路线数据所需采集的内容不同,设计了不同的采集模块。旅游景点POI需要采集景点名称、地址、经纬度坐标、景点简介、景点评分、点评数量、景点类型、开放时间、建议游玩时间、联系方式、官网以及该景点对应的网页链接,其中景点名称、地址、经纬度和网页链接在采集的过程中不能为空值,网页链接必须为唯一值。采集每个景点中所包含的每一条点评数据,包括点评内容、评分、点评时间以及点评用户。采集的旅游路线数据包括出游天数、出游日期、途径的旅游POI以及发表该路线的用户。
1.2 数据处理
数据处理是构建可视化平台过程中不可或缺的步骤,由于数据采集的来源不同且数据质量参差不齐,导致采集到的众源数据存在许多噪声,为了节省时间和空间,需要对数据进行预处理操作。数据处理操作的流程图如图2所示。
在数据清洗的操作中对数据的缺失值、噪声以及不一致的数据进行处理,例如对于景点POI中点评数量字段的缺失值使用零值填充,对于表示时间日期的字段统一采用八位数字编写,将多个平台采集到的数据合并并存放至统一的可视化平台数据库中,因此需要对多个数据库进行集成。
由于旅游路线数据是纯文字的数据,在该平台中则需要先对其进行地理空间化,通过旅游景点POI将路线转化为带有空间地理位置信息的数据,便可以实现路线的地图展示功能。运用空间匹配和空间地统计的手段对空间数据进行计算,综合考虑数据量及运行效率,选择开源的MySQL作为平台数据库,将集成及计算后的数据统一存入库中。
2 构建可视化平台
平台采用B/S模式开发,通过引入Web服务器完成终端与数据服务器的无缝衔接,网页端采用C#、ASP.NET、AJAX的终端开发技术,后台数据库管理采用稳定高效的MySQL实现。
2.1 平台架构设计
可视化平台的整体架构使用传统的MVC框架进行设计。MVC即模型(Model)—视图(View)—控制器(Controller),是一种业务层、数据层以及控制层三层分离的开发架构。平台技术架构图如图3所示。
数据层为整个平台提供数据处理以及数据存储服务,起到了数据支撑的作用。数据层使用SQL语句完成业务逻辑的数据读写任务,利用MySQL数据库实现对业务数据的存储与管理。
控制层是整个平台的核心组件,是业务层与数据层之间的桥梁。它接收来自客户层的数据请求,并根据具体的业务类别对该请求做出正确业务逻辑处理。同时,应用层又是数据库的对外窗口,用于对数据库进行数据处理操作。业务层主要实现用户与平台之间的交互操作、可视化展现以及业务层与控制层的数据请求。详细的技术路线包括以下几个方面。
(1)前端可视化交互界面。业务层利用HTML结合CSS的网页前端编程技术开发平台的前端可视化交互界面,提供用户与平台进行交互操作的窗口。