摘 要:LBS空间数据的管理和数据库建立是LBS定位服务系统的核心。本文在论述了LBS系统各个部分的构成的基础上,探讨了LBS空间数据库管理的具体内容,设计了基于Oracle Spatial对象关系型数据库的LBS空间数据存储与管理的方法,设计和开发了面向对象的空间数据引擎,研究了LBS数据通过空间数据引擎上传到Oracle Spatial的技术。
关键词:LBS 空间数据库 空间数据引擎
一、引 言
基于位置的服务(Location Based Services,LBS)是指采用无线定位、GIS、Internet、无线通讯、数据库等相关技术交叉融合的一种基于空间位置的移动信息服务,是通过获取移动用户的位置信息为用户提供包括交通引导、地点查询、位置查询、车辆跟踪、商务网点查询,儿童看护、紧急呼叫等众多服务的技术基础[1]~。近年来,随着移动通信和移动地理信息技术的飞速发展,为地理空间信息的应用带来了新的机遇,使得LBS的研究显得尤为重要。目前,ESRI公司提出了ARC Location Service方案,MapInfo公司提供了无线空间信息服务解决方案MLS,Sun公司的Java Location Service平台等许多大公司从不同的行业角度提出了位置服务解决方案。这些方案主要是从技术方面解决了位置服务的应用,而LBS空间数据的管理的内容、存储形式和存储方法是LBS应用的核心和重点。本文在构建了LBS系统体系结构的基础上,研究了基于国家行业标准的LBS空间数据库内容及其分类,并探讨了利用Oracle Spatial存储LBS空间数据的形式和存储方法,以及设计了传统GIS数据上传LBS数据库的空间数据引擎。
二、LBS系统的构成
LBS系统采用多层的分布式网络应用模型,按应用逻辑功能划分为表现层移动终端、中间层通信网络、应用服务层和数据层空间数据库(如图1所示)。各层的结构和功能是:①移动终端提供地理信息和属性数据的表示,以人机交互的方式接受用户请求和给用户提供GIS 功能的选择,可以是移动电话(Mobile Phone)、个人数字助理(Personal Digital Assistant,PDA)、手持计算机(Pocket PC),也可以是通过Internet通讯的台式计算机(Desktop PC);②通信网络层通过服务器传递给LBS服务平台,主要包括WAP网关、WAP服务器(Wap Server)、WEB服务器(Web Server);③服务平台根据用户请求和用户当前位置通过空间数据引擎上载到数据层空间数据库,主要包括地图服务器(Map Server)以及服务中心等;④数据层负责空间数据库和数据文件的管理、维护和存储,根据请求的业务服务操作数据,主要是空间数据库以及数据文件等。本文利用Oracle Spatial对数据进行存储、管理。
图1 LBS的构成
Fig1 the Framework of LBS
三、LBS空间数据库的内容与管理方法
在LBS系统中用户请求和用户当前位置通过空间数据引擎上载到数据层空间数据库,然后利用空间数据库对数据进行存储、管理和处理后,将结果通过网关返回给用户。在这个过程中,LBS空间数据库表现出了巨大的作用,是整个过程的核心。而城市空间信息浩瀚、复杂,本文在对比城市空间信息数据库构成的基础上,根据LBS系统体系的需要,对LBS空间数据的内容进行了归纳、整理和分类,为LBS空间数据库的建立奠定基础。
1.LBS空间数据的内容
LBS空间数据库是一个综合的数据集,包括空间要素的几何信息、要素的基本属性、要素的增强属性、交通导航信息等。它着重表达道路及其属性信息,以及LBS应用所需的其他相关信息,如地址系统信息、地图显示背景信息、用户所关注的公共机构及服务信息等。而城市空间信息数据库所存储和管理的是城市中所有的基础设施和空间现象,主要包括遥感影像数据、电子地图数据、定位信息数据、社会经济数据、基础地理数据等。LBS空间数据库所包含的信息要比城市空间信息数据库少得多,它是建立在城市空间信息数据库的基础上的,LBS系统根据用户的需求,通过信息提取、数据抽取与清理等方法来调取城市空间信息数据库的数据为用户服务。
根据国家标准《导航地理数据模型与交换格式》,通过对数据的处理,LBS空间数据的地理要素可以分为以下13类:
(1)道路与渡口要素数据:包括地址区域要素、地址区域边界要素、封闭交通区域要素、道路元素、渡口联络线、连接点、路段、渡口、交叉点、环岛、聚合路、汇交路口。
(2)行政区划要素数据:包括行政区划边界元素、行政区划边界连接点、国家、第1~7级行政区划、第8级行政区划、第9级行政区划、跨国行政区划行政地点。
(3)命名区域要素数据:包括命名区域边界元素、命名区域边界连接点、城市建成区、统计区、选区、急救医疗服务区、消防区、有名称区域、电话区、治安区、邮区、学区。
(4)土地覆盖与利用要素数据:包括建筑物、人工表面、农业区、森林与半自然区、湿地、岛屿。
(5) 构造物要素数据:包括指交通网络中的重要建筑物。如桥梁、高架桥、隧道、沟渠等。
(6)铁路要素数据:包括铁路元素、铁路元素连接点。
(7)水系要素数据:包括水体、水体边界元素、水体边界连接点。
(8)道路附属设施要素数据:包括交通标志、路标、路面标记、交通信息灯、照明灯、人行横道、测量设备、环境设备、安全设备。
(9)服务要素数据:包括一些可由用户自定义的服务种类,如服务入口点等。
(10)公共交通要素数据:包括公交路线线段、公交连接点、公交路线、公交线路、公交车站、公交换乘区、公交点。
(11)链要素数据:在有些应用领域,人们习惯于通过地理实体的相对长度及相对位置来定义实体,链要素走用来描述这类线形地理是实体的要素。
(12)通用要素数据:指其性质、属性及关系适用于所有要素主题中的要素。
(13)用户自定义要素数据:指用户自定义的要素。
2.LBS空间数据的存储与管理
由于LBS空间数据具有数据量大、空间数据和属性数据相结合以及空间数据操作难度大等特点,而且对空间数据操作的软件也多种多样,所以对LBS空间数据的有效存储和管理也显得日趋重要。本文选用Oracle Spatial这种对象-关系数据库管理方式对LBS空间数据进行管理和存储。这种方式是在传统关系数据库管理系统之上扩展使之能够同时管理矢量图形数据和属性数据;其效率较高,又具有数据的安全性、一致性、完整性、并发控制以及数据损坏后的恢复方面等基本功能,支持海量数据管理。