一种新型的、适宜用户高效认知周边环境的可视化形式
以基于位置的服务(Location-Based Service,LBS)为研究场景,针对常规地图表达兴趣点的局限,结合标签云的表达优势,设计了一种以用户地理位置为中心、面向兴趣点可视化的"LBS标签云",并初步实现了一种基于标签径向移位的布局方法。LBS 标签云的主要创新是将一个布局中心点引入常规标签云,并根据标签与中心点的空间关系来确定标签的摆放位置。
本文设计的布局方法如下:首先,将LBS用户的地理位置作为布局中心点;然后,基于兴趣点名称生成文字标签,并根据兴趣点属性确定标签的字号、字色及其他视觉变量;最后,在极坐标下根据标签与中心点的关系计算标签的初始摆放位置及布局优先级,并按优先级将标签从初始摆放位置依次向外径向移位至与其他标签无压盖的位置。在标签移位过程中,着重考虑角度相邻关系以确保标签距离远近的顺序关系,利用四叉树剖分字形轮廓提高了标签碰撞检测的效率。
实验以景点类兴趣点为例,探讨了LBS标签云在3个场景下的可用性及可扩展性。结果表明,相比常规地图,LBS标签云不仅可以展示更多的兴趣点,而且可以有效突出用户关注的信息,如兴趣点的热度、评分及通行时间等。虽然LBS标签云包含一定的距离变形,但多种视觉变量的协同有效缓解了距离变形导致的认知误差。综上,LBS标签云可完整、直观地表达兴趣点的空间分布、多维属性及其与用户位置的关系,是一种新型的、适宜用户高效认知周边环境的可视化形式。
随着移动互联网及定位技术的发展,基于位置的服务(Location-Based Service,LBS)已成为最受欢迎的空间信息服务。在 LBS 提供的数据中,承载了具体社会功能的兴趣点往往是用户关注的焦点,如餐馆、酒店、停车场等。但兴趣点类型和数量众多,属性信息繁杂且空间分布具有高度异质性,用户在探索周边兴趣点时常常面临信息过载的难题。
针对此问题,有研究关注兴趣点的检索或推荐,通过过滤不相关的兴趣点实现信息精简;另一部分研究则关注兴趣点的视觉表达,利用空间可视化等方法构建适宜用户认知的交互形式。本文聚焦于后者,提出了一种基于标签云的兴趣点可视化方法。
目前 LBS 场景下的兴趣点可视化大多是基于地图的。地图使用图形符号及名称注记标识兴趣点,可直观表达兴趣点在用户周边的空间分布情况。然而此类方法并不能有效满足 LBS 用户对周边兴趣点的探索需求,主要体现在:
标签云(又称词云)是一种直接使用文字符号(或文字标签)进行视觉表达的可视化方法,常用于表示文本资料中的主题词或关键词。基本原理是根据主题词的类别、出现频率及重要性等,为每个主题词对应的标签赋予相应的字号、字重、颜色及字体方向等视觉属性,并将标签无重叠的展布于二维或三维空间。
经初步分析,标签云可以较好匹配LBS场景下兴趣点的可视化需求。首先,文字符号的辨识度高。虽然缺少图形符号的简约与形象,但文字符号无需符号解译,直接表达兴趣点名称,具有更高的辨识度。其次,标签可融合多种视觉变量,充分表达兴趣点丰富的语义属性。再次,标签云布局紧凑,信息密度高,适合在移动设备上展示。最重要的是,标签具有位置和范围,虽然这个位置一般是随机的,但这也恰恰提供了与地理信息中的"位置"进行映射的基础。
LBS 用户习惯以自身位置为中心探索周边的兴趣点,在此习惯的驱动下,大部分面向 LBS 的可视化均采用了"中心化"式的布局方案,即围绕一个中心点构建输出图形。本文在标签云中引入中心化式的布局方案,设计了一种以用户地理位置为中心的兴趣点标签云(简称 LBS 标签云)。LBS 标签云以用户位置为布局中心点,将兴趣点转换为标签后环绕中心点摆放;利用标签的字号、字色来直观表达兴趣点的属性。需要注意的是,该方法并不是将标签放置在地图上,而是以中心点为参照,将标签摆放在空白画布上。具体设计思路如下:
(1)中心化布局。将用户位置作为LBS标签云的布局中心点,标签摆放在中心点周边。标签应紧凑摆放,以容纳更多的兴趣点;标签之间不能嵌套、重叠或压盖。
(2)利用文字标签的视觉变量表达兴趣点属性。文字标签本身适合表达定名量,同时又拥有适合表达有序量、间隔量、比率量的视觉变量,如位置、字色、字号、字重等。根据可视化需求建立兴趣点属性与视觉变量的映射关系,如字号是标签云中最显著的视觉变量,一般用来表达兴趣点最受关注的属性:吸引力(或受欢迎度)。
(3)基于极坐标进行标签定位。以中心点为极点,根据兴趣点和中心点的距离计算径向坐标,根据二者的方向计算角坐标,确定标签的摆放位置。
(4)标签径向移位避免压盖冲突。中心点周边的布局空间非常有限,距离最近的标签优先摆放后,距离稍远的同方向标签就无法正常摆放。本文采用标签径向移位的方法来探测可用空间。
(5)基于标签相邻关系确保标签距离远近顺序。在标签摆放时,应遵循"距离近的贴近中心点摆放,距离远的则远离摆放"的基本原则。设计相应策略来检索相邻方向标签,确保正确的距离远近顺序。
图1 文字标签常用的视觉变量
图2 设计思路示意
图3 标签径向移位示意
图4 相邻方向标签的示意
基于上述思路,本文设计了一种基于标签径向移位的LBS标签云布局算法,技术路线图如图5所示。算法采用了"贪婪式"的布局策略,在无足够摆放空间时,将标签按一个固定步长向外移动,然后再探测空间是否足够,如果足够则完成摆放,反之则继续移动。
图5 算法采用的技术路线
算法的输入是一个中心点和一个数量为n的兴趣点列表。算法具体流程如下:
步骤(1):画布初始化。初始一个宽度为 w 和高度为h的空白画布。
步骤(2):标签初始化。基于中心点的文本生成中心词,放置于画布中心(w/2, h/2),并将中心词加入已摆放标签列表 TagListplaced。以兴趣点的名称或其他属性作为文本内容创建兴趣点标签,得到未摆放标签列表TagListunplaced = [Tag1, Tag2, Tag3, …, Tagn]。
步骤(3):视觉变量映射。基于兴趣点的属性确定未摆放标签列表中标签的视觉变量,包括字体、字号、字色等。
步骤(4):标签位置计算。基于兴趣点的地理坐标计算标签的初始摆放半径。计算每个兴趣点到中心点的欧氏距离r(也可采用其他类型距离)和相对于中心点的角度φ,按r值对TagListunplaced进行升序排序,并统计所有 r 值的最小值 rmin 与最大值rmax。rmin对应的标签贴近画布中心摆放,rmax对应的标签离画布中心最远,设为画布高度的 1/4。
步骤(5):逐一摆放标签。如果 TagListunplaced不为空,则取出第1个标签Tag1,开始摆放。
步骤(6):如果 TagListunplaced 不为空,转到步骤(5)。反之,代表所有标签的摆放已结束。
标签移位过程中,需要通过实时碰撞检测避免发生压盖或重叠。由于文字字形轮廓不规则,严格按照字形轮廓的碰撞检测运算开销很大。本文采用"四叉树"模型近似模拟标签的字形轮廓。以标签的矩形轮廓为初始网格,如果网格与字形轮廓相交,则将该网格纳入四叉树结构并划分 4 个子网格继续递归判断;反之则不纳入树结构。当网格尺寸小于或等于最小网格尺寸时停止划分。最终,每个标签都对应一个叶子节点覆盖字形轮廓边缘的不完全四叉树。
图6 基于四叉树逼近字形轮廓
本文在 Web 环境下实现了 LBS 标签云的布局算法,开发语言为 Javascript,文本可视化采用 SVG技术实现。算法部分模块复用了D3库提供的API,包括:d3-force,基于力导引模型模拟标签的运动过程;d3-quadtree,以此为基础实现文字轮廓的四叉树分割等。该算法可以在任意支持 Javascript 及SVG 的浏览器上运行。算法的输入为用户位置及兴趣点列表,输出为LBS标签云。本文实验的软件环境为Windows 10系统,Edge浏览器;硬件环境为Intel i7处理器,内存16GB,屏幕分辨率1 600×900。
为了研究LBS标签云的可行性和有效性,本文以LBS用户普遍关注的"景点"为例,自动生成了面向不同场景的 LBS 标签云。兴趣点数据通过百度地图的 API 获取,返回的数据包含兴趣点的名称、经纬度、用户评分、用户评论数量等。以武汉市某高校为中心进行景点检索,共收集到 124 个景点。由于数据中不包含二阶属性,利用百度地图的"路线规划 API"计算了中心点到各景点的公共交通及驾车通行时间作为景点的附加属性。本实验以武汉市某高校为假想的用户位置,结合LBS用户的典型需求,选取了3个场景来探讨LBS标签云的设计策略:① 表达所有景点;② 表达交通便捷的景点;③ 表达优质景点。
同时表达所有景点可为 LBS 用户提供宏观层面的全局信息。在探索所有景点时,用户关注的是景点的吸引力及通行时间,因此采用如下的视觉变量映射方案:标签位置表示通行时间,标签字号表示景点的吸引力。将用户评论数量作为景点吸引力的代理指标,分为 5 级后建立和标签字号的映射关系,评论越多字号越大,最大字号为 30 px,最小字号10 px,相邻分级字号相差5 px。
图7 包含所有景点的单色LBS标签云
从图7中可以得出:
人们可以根据标签位置获知远近,但很难定量感知具体的距离,尤其是兴趣点与中心点之间存在的若干有实际意义的非欧距离。为了更精准地表达通行时间,LBS标签云引入了适合表达定量分级信息的颜色变量,利用颜色渐变表示通行时间的变化。选用黄红渐变色带,将通行时间分为5级后建立和色带的映射关系,通行时间越短颜色越接近亮黄色。
图8 使用颜色变量的LBS标签云
利用颜色表示通行时间与常规地图的表达方法略有差别。由于常规地图中的"位置"均采用精确的地理坐标,其隐含表达了精确的空间欧氏距离,故较少使用颜色、尺寸等视觉变量来表达距离关系。LBS 标签云中的位置只能表达距离远近的先后顺序,所以要借助其他的视觉变量以实现距离关系的精准表达。
图9 表达公共交通快捷指数的LBS标签云
在景点检索中加入时间约束是 LBS 用户的常见需求,如通行时间 1 h 以内的景点(共 72 个)。在该场景下,差别不大的通行时间不再是用户关注的重点,吸引力(评论数量、门票价格、评分等)便成为用户最关心的内容,因此设计如下的视觉变量映射方案:标签位置表示通行时间,标签字号表示评论数量,标签字色表示评分。将评论数量分为5级后建立和标签字号的映射关系,评论越多字号越大。选用黄红渐变色带,将评分同样分为5级后建立和色带的映射关系,评分越高,颜色越接近亮黄色。
图10 通行时间1 h以内的景点LBS标签云
除了通行时间,LBS 用户也常用点评或评分作为筛选条件,如只显示评分在 4.6~5.0 分之间的景点(共 47 个)。在该场景下,景点的通行时间差异较大,应突出表达,细微差异的评分可以不表达或弱化表达,因此设计如下的视觉变量映射方案:标签位置和颜色表示通行时间,标签字号相同,不表示评分差异。选用顺序变化的连续色带,最短通行时间与最长通行时间分别对应色带两端,其余通行时间通过线性插值对应到色带上。
图11 用户点评4.6~5.0分的景点LBS标签云
图12 标签文本包含景点通行时间的LBS标签云
3 个场景下的 LBS 标签云的内容不同,采用了不同的视觉变量映射方案,有效突出了每个场景下最受用户关注的属性,充分表明了LBS标签云的有效性及可扩展性。为了更好的阐述本方法的优势,本节首先与Web地图进行对比,然后进一步总结了LBS标签云的可视化能力与主要优缺点。
在主流 Web 地图中进行周边景点检索与可视化,结果如图13所示。图13(a)包含20个数字符号,图 13(b)利用数字符号和普通圆形符号来区分热门景点与普通景点,符号的位置均表示景点的真实地理坐标。
图13 基于主流Web地图的兴趣点可视化
以图13(b)为例,当前地图范围已经完整覆盖了武汉市主城区,但只有 10 个数字符号及约 30个圆形符号,可表达的景点数量与 LBS 标签云(图8包含124个,图 10包含72个)有较大差距;在已表达的景点中,名称注记均未能完全展现,用户可以利用左侧列表逐一查看数字符号的景点名称,但圆形符号的名称无法查看;数字符号的编号与景点热度相关,可以在一定程度上引起用户的注意,但也需要用户在左侧列表中顺序浏览;用户可以通过符号的位置估算到各景点的通行时间,但自然及人工地物的阻隔会带来相当大的估算误差。
虽然用户可以通过地图缩放来探索更多的景点,但同时也会有景点落到视窗之外,所以用户需要频繁的缩放及平移,而且这个过程往往无法兼顾目标数量与地图上下文。另外,由于基础地理信息要素全都展示在地图上,导致图面内容较为冗杂,对用户快速地捕捉到关键信息造成了一定干扰,如部分景点符号与原有的地图注记产生了压盖冲突。因此,能够完整展示兴趣点名称,又可同时表达一阶属性"吸引力"与二阶属性"通行时间"的 LBS 标签云比 Web 地图更适合兴趣点的可视化。
在与Web地图进行对比的基础上,本节将LBS标签云的可视化能力分解为"完整显示所有兴趣点的名称"等 10 个方面,并分别与 Web 地图、Zoomless Map及Focus+Context方法进行对比,分析各自的优缺点,具体如表 1 所示。
编号 | 可视化能力 | LBS标签云 | Web地图 | Zoomless Map | Focus+Context |
---|---|---|---|---|---|
1 | 完整显示所有兴趣点的名称 | 可以 | 无法显示 | 无法显示 | 无法显示 |
2 | 直观表达兴趣点的多维属性 | 可以 | 列表展示 | 可以 | 无法表达 |
3 | 根据需求灵活组合视觉变量 | 可以 | 可以 | 无法组合 | 无法组合 |
4 | 精确表达兴趣点的地理位置 | 无法表达 | 可以 | 可以 | 无法表达 |
5 | 直观表达与用户位置的关系 | 可以 | 列表展示 | 无法表达 | 无法表达 |
6 | 基础要素提供的地理参考 | 无 | 有 | 有 | 有 |
7 | 可清晰表达的兴趣点数量 | 约100个 | 约20个 | 不详 | 不详 |
8 | 兼顾宏观分布与局部细节 | 可以 | 无法兼顾 | 无法兼顾 | 可以 |
9 | 基础要素干扰 | 无 | 有 | 有 | 有 |
10 | 支持的用户交互 | 简单交互 | 丰富的用户交互 | 丰富的用户交互 | 简单交互 |
从中可以看出,LBS标签云不仅可以容纳更多的兴趣点,而且可以在表达宏观分布的同时完整展示每个兴趣点的名称、多维属性及其与用户位置的关系。LBS标签云的主要缺点是无法精确表达兴趣点的地理位置,也缺乏基础要素提供的位置参考。另外,已实现的交互功能也比较简单有限。
本文深度剖析 LBS 用户对兴趣点可视化的需求,整合标签云的表达优势,在标签云中引入中心化式的布局方案,设计了一种以用户地理位置为中心、适合 LBS 兴趣点可视化的标签云:LBS 标签云。该方法将用户地理位置作为布局中心点,将兴趣点转换为文字标签后环绕中心点摆放,并利用标签视觉变量的组合来表达兴趣点的多维属性。
标签摆放是LBS标签云与普通标签云的核心区别,本文将兴趣点的地理坐标转换为以中心点为极点的极坐标系下的径向坐标与角坐标,并按此摆放标签;关系密切的标签贴近中心点摆放,反之则远离摆放;若无足够空间摆放,则通过向外延长径向坐标的方法来探测可用空间。这样的布局方式符合现实世界的客观规律,也迎合了人们在常规地图认知中形成的习惯。实验中的 3 个场景验证了 LBS标签云的可用性及有效性,也表明LBS标签云具有较好的可扩展性。
LBS 标签云对不重要的属性进行了弱化或变形表达,如兴趣点的地理坐标,同时又保持了兴趣点与用户的相对方向关系。因此,LBS标签云与地铁图类似,同属于"示意性地图"的范畴,其主要的表达特色包括:
虽然无法表达兴趣点的精确位置,但这并不妨碍LBS标签云的可用性。LBS用户关注的是"周边有哪些兴趣点、这些兴趣点怎么样、去往这些兴趣点是否方便"。LBS 标签云中仅包含文字标签,可直观明了地标识每个兴趣点的名称;标签的字号是用户特别敏感的视觉变量,用来表示兴趣点的热度或吸引力,与用户的心理印象较为契合;标签的颜色可以精准表达用户位置与兴趣点联系的紧密程度,这是 LBS 用户普遍关心的属性。因此,LBS 标签云将用户关注的信息进行了有效整合,是一种新型的、适宜用户空间认知的可视化形式,并且有望为场所GIS、空间自相关、空间交互及基于位置的社会网络等研究提供新的可视化思路。
未来还有许多问题值得进一步探索:如标签位置变形带来的认知偏差评估、标签布局方法的优化、更丰富的用户交互功能等。
成晓强,刘仲宇,吴华意,等.以用户地理位置为中心的兴趣点标签云[J].地球信息科学学报,2024,26(1):85-98. [ Cheng X Q, Liu Z Y, Wu H Y, et al. Points-of-Interest tag cloud centered on the user's geographic location[J]. Journal of Geo-information Science, 2024,26(1):85-98. ] DOI:10.12082/dqxxkx.2024.230069
* 以上内容由AI自动生成,内容仅供参考。对于因使用本网站以上内容产生的相关后果,本网站不承担任何商业和法律责任。