基于多模式交通可达性的影院位置评估软件系统开发——以西安市为例
扫描二维码
随时随地手机看文章
引 言
随着经济社会的发展,许多大中城市正在从“生产城市” 向“消费城市”转型,各商业体蓬勃发展。本文通过高德地图采集西安市基础路网、公交线路、地铁线路和商业 POI 数据,通过淘票票采集西安市影院数据,将以上数据进行预处理后,均存储于数据库(Structured Query Language,SQL)中,并在数据库中进行数据运算,对各影院位置进行评估,再通过 Java 进行后端数据调用推送至前端网页呈现。
SQL 是由 Microsoft 开发和推广的关系数据库管理系统(Relational Database Management System,RDBMS),是关系型数据库管理系统的标准语言。其拥有强大的数据处理能力, 可处理千万级别的数据量,拥有图形化用户界面、丰富的编程接口以及对 Web 技术的支持,被广泛应用于动态开发、关系数据和商业智能。
1 数据预处理
本文采用的衡量影院位置优劣的标准是票房收入,影院数据采集自淘票票专业版,该影院数据包括各月份的票房收入、影院厅数、座位数等属性。在此基础上,为了尽可能规避影院内部因素对票房收入的影响,将各影院 12 个月的票房收入取平均值,且剔除 3 个厅数以下的影院。预处理影院数据后,重点关注外部因素对影院票房收入的影响。本文关注研究了步行可达性、公交可达性、地铁可达性及商业 POI 等外部因素,如图 1 所示。
通过高德地图采集西安市基础路网、公交线路、地铁线路和商业 POI 数据。其中,基础路网包括所有行人可通行的部分,即主干路网、支干路网及公园、小区路网等,该部分数据能够保证步行可达性计算的准确性。公交可达性的计算中,剔除了站点较少的直达线路及偏远地区线路,着重分析西安市三环以内主城区可达性。地铁线路选择已通车运行的3 条地铁线路,未涉及规划线路与在建线路。商业 POI 数据采集自西安市范围内的餐饮与购物 POI 数据,用 POI 的密度间接反映区域商业活力。
在 Arcgis 内,将西安步行路网按照每隔 30 m 的距离打断为小路段,并将这些小路段转换为路段采样点,而后通过临近计算或插值的方法,将相关属性数据转换到采样点上, 把所有数据存入数据库以分析调用。
2 用户界面设计
用户界面不仅是软件应用的重要组成部分,同时还应是良好的人机交互界面,快捷方便,简明扼要,展示、引导用户使用绝大部分程序功能。JSP(Java Server Pages)是 Java 服务器页面,具备 Java 技术的简单应用与完全的面向对象, 具有平台无关性,且安全可靠,主要面向因特网的所有特点, 具有多平台支持。
窗口是人机对话的重要组成部分,用户登录界面包含账户、密码及验证码,用户可通过该界面进行登录,并最终查询数据可视化结果,可实现同时为多位用户提供数据可视化界面。用户登录界面如图 2 所示。
图 2 用户登录界面
3 数据库通信设计
数据库访问技术是连接数据库与 Java 客户端之间的必备桥梁。目前,Java 语言访问数据库已经有了一套 API。
3.1 JDBC编程接口
JDBC(Java Database Connectivity)是连接 Java 应用程序和数据库之间的桥梁,是一组标准 Java 语言中的接口和类, 是一种对 ODBC API 面向对象的封装和重新设计,使得 Java 客户端程序可以访问各种不同类型的数据库。Java.sql 提供了多种 JDBC API,其中常见的有 :Connection 接口,代表与数据库的连接,通过它调用 createStatement 对象 ;Statement 接口,用来执行 SQL 语句并返回结果记录集 ;ResultSet 接口,SQL 语句执行后的结果记录集,必须逐行访问数据行,可用任何顺序访问列。
3.2 MicrosoftSQLServer 数据库
数据库是按照数据结构来组织、存储与管理数据的仓库。数据库有很多种,其中应用最为广泛的是 SQL Server 数据库, 它具有使用方便、伸缩性好及相关软件集成程度高等优点。例如,可提供高性能的数据访问 ;每个表可处理多达千万级别的数据量 ;可通过一个简单的 T-SQL 语句使一个对象在因特网上被访问,从而创建一个 HTTP 终端 ;支持 OLE DB 与多种查询方式 ;图像化的用户界面,使系统管理与数据库管理更加直观、简单。
3.3 SQL语言
SQL 是结构化查询语言,也是一种数据库查询与程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL 语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也无需用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可使用相同的结构化查询语言作为数据输出与管理的接口,大幅度简化了用户的工作。同时, SQL 语言可实现嵌套,具有极大的灵活性与强大的功能。
3.4 关键程序设计
应用软件时,使用者通过用户界面与数据库进行交流与通信,以实现数据传输、计算以及可视化功能。本文程序设计中,使用者通过外部设备操作浏览器,向前端控制器发送相应请求,前端控制器收到请求后交由后端处理器进行数据库操作,数据由数据库返回至后端处理器,经前端控制器交由视图渲染后呈现于浏览器上。评估系统流程如图 3 所示。
用户浏览所呈现的影院评估可视化结果如图 4 所示。图中左侧显示了根据本文研究量化后的西安现有各影院综合评分,右侧的点是各影院在地图上的空间分布,其大小因其评分高低差异有所不同,点的大小与评分成正比。由此可方便用户直观地看出不同影院间的评分差异。
图 4 用户浏览所呈现的影院评估可视化结果
在浏览器窗口中,可任意在地图上点击代表各影院的点获取影院评分的详细指标,影院各指标的具体评分如图 5 所示。在该对话窗口中,可直观地得到各影院的票房数据、影院厅数等具体数值,同时也可得到各种可达方式以及餐饮、购物 POI 评分。
图 5 影院各指标的具体评分
从 SQL 中提取数据的相应数据库配置程序代码如下 :
MyBites 数据库配置 :
存放对应的 sql 语句,和 dao 层相对应 :
Ex :
<select id="findList" resultType="Car">
SELECT cc.id,
4 结 语
Java 功能强大,具有简单性、健壮性、安全性、可移植性、多线程等优点,Hadoop 框架及其他大数据处理技术足以胜任本文研究涉及的数据量。JSP 是 Java 服务器页面,是用来封装产生动态网页的处理逻辑,它将网页逻辑与网页设计和现实分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速、容易。本文将 Java 与 SQL 相结合, 利用堆栈原理,将数据可视化动态地展示于用户面前,更直观方便地体现了数据的说服力。