6.3 OSM数据应用模式对比分析
面向专业用户与大众用户的应用需求,基于全球规模的精细化数据集通常采用互联网架构,以空间分析、空间可视化、地理数据更新为目标,向用户提供分布式部署的GIS应用,目前已经产生了很多成功运行的实例。但是这些GIS应用仍然面临着一些的瓶颈问题。本书所采用的实验数据集是OpenStreet Map所建立的开放数据,因此选取OpenStreet Map总体应用的一些方面来说明原有模式的瓶颈问题。
图6-2为OpenStreet Map数据应用流程图。可以看出,原有的OpenStreet Map数据应用分为两种,当用户需要提取的数据范围小于0.25平方度时,可以直接在openstreetmap.org上选定相应的范围进行提取,结果数据会以OSM文件的格式下载到本机;当用户需要提取的数据范围大于0.25平方度时,用户只能从OpenStreet Map基础源数据库中导出形成planet.osm数据,即在全库导出文件中通过数据提取工具(如osmosis、imposm等),将目标范围内的数据提取出来,然后完成应用任务,应用任务包括建立应用数据库、执行数据分析或数据处理操作、制作用户自定义地图等。这一过程中的有些步骤是以批处理的方式完成的,通常需要几个小时才能完成用户感兴趣的区域数据的提取。

图6-2 OpenStreet Map数据应用流程(https://www.daowen.com)
本书的空间近似查询引擎的数据应用流程更为简单明确。在用户设定了希望获取的数据范围后,同时加上用户指定的窗口近似查询参数,如时间约束、规模约束或误差约束条件,向空间近似查询引擎提交查询请求,近似查询引擎将返回满足用户指定条件的数据。基于返回的数据,用户同样可以开展应用任务。空间近似查询引擎的数据应用流程是在线执行,通常在数秒内即可完成。对于用户来说,数据提取的效率得以提高,能够增加用户满意度。
以上对比可以看出,批处理流程不便于用户在交互性较强的环境中提取数据。空间近似查询在用户可控制数据结果误差的前提下,即减小数据规模,提高数据提取的性能,又能减小服务器的计算与I/O负载,由数据库实现即时的数据子集化操作。用户可以将批处理的数据提取过程转变为在线查询,应用的灵活性会得到较大的提升。
数据提取应用加速的根本原因在于空间近似查询引擎可以非常灵活地按照用户的要求,在数据量与操作执行速度上灵活地设置约束条件,使得用户有机会在较短的时间内进行多次操作,以此进一步明确自己的应用需求与提取出的数据的应用效果。若用户需要在线查询的数据量不断增大,如用户利用近似查询引擎请求某一很大范围内误差极小的数据,这一查询条件可能会导致极大的查询结果集。因此,为了不损害空间近似查询引擎的执行性能,应当采用离线批处理的方式进行数据提取,避免单一任务损害查询服务的可用性。实际上空间近似查询引擎通过设置查询结果条件的上限值,如查询结果集最多可返回100000顶点,以保证在线查询处理的服务性能。