空间地理技术与数据库管理系统

类别:数据库 点击:0 评论:0 推荐:
地理问题正成为我们日常生活中一个日益重要的组成部分。无论在航空航天等尖端技术领域,还是在农业、能源、交通、金融、电信、零售等传统商业领域,空间地理技术正在扮演着越来越重要的角色。随着以计算机为基础的空间地理信息的潜力不断扩大,大量的人力与物力投入到空间地理技术的研究中,这也促使人们创建基于地理数据存储的数据库管理系统。但直到1981年具有突破性意义的第一个商用地理信息产品ARC/INFO面世,人们才开始真正有效地将空间地理技术和数据库集成于一个单一的系统中。

空间地理技术蓬勃兴起

---- 事实上,空间地理技术的应用可以随着我们的想像尽情拓展。其中,人们关注的B to B市场将成为一个高增长领域。企业可以在其供应链管理中应用该技术,以跟踪某一特定顾客订单的位置,或提供针对性的管理。许多传媒行业如果了解其所有顾客的位置,就可以为符合特定地理人口统计资料的顾客提供针对性的广告。虽然互联网技术与地理无关,但人们却居住在地面上,因此它也不可避免地会用到空间地理技术。此外,在美国,政府要求所有的蜂窝电话在2001年10月之前都必须实现GPS(全球定位系统)功能,空间地理技术在此领域中也将大有用武之地。它可将呼叫者的位置锁定在400米范围内,而接受紧急呼叫的呼叫中心还可以将经纬度信息转换成数字地图。

---- 空间地理技术应用的另一个重要领域是客户端应用。它能够实现可视化功能,如地图或图表显示,还可实现查询和分析功能。例如,当用户运行一个查询操作时,客户端应用利用SQL将其写入,并传递给数据库以执行查询过程。数据库将查询结果发送回客户端,该客户端能够理解如何表示或显示数据。客户端可以用红线绘制高速公路,用灰线绘制辅助路线,并将消火栓等其他地点类型以图标显示出来。客户端还可以执行分析功能,如计算两点之间的距离。在基于Web的GIS(地理信息系统)实施过程中,许多客户端功能都可由位于应用服务器上的中间件处理。

数据库管理系统迎难而进

---- 空间地理技术正以一种以前无法想像的方式为行业和政府提供着帮助,有越来越多的应用需要地理信息系统的支持。然而,现有的可用数据多以各种不同格式的文件存在,从而极大地限制了地理数据的开放式访问。尽管基于文件的地理数据可以在一个小规模项目组内实现轻松共享,但企业范围内的数据分配却十分难以处理。这种状况经常导致在同一企业的不同工作组之间重复发布同一地理数据的多份拷贝。如果没有一种高度组织化的过程来管理这些数据的重复,数据的一致性和完整性就难以保证,从而影响了基于上述数据的决策的合理制定。除此之外,开放式地理数据与存储在关系数据库管理系统中的其他企业核心数据的相互结合过程也遇到了困难,开放式地理数据访问也因此受到限制。这是由于关系数据库管理系统模块的设计只能支持相当有限的数据类型(如数值、字符和日期)。另外,CAD和图形处理系统也开发了自己的数据格式,从而迫使任何希望集成GIS、CAD与光栅图形数据的人采用多种数据转换器。

---- 目前,随着技术人员的不断研发,关系数据库已经具备越来越强的空间能力,例如能够组织和存储地理特性、提供R-树状索引和数据刀片技术等,从而确保许多任务关键型应用的运行能够更快、更安全且更易于实施。

---- 组织和存储地理特性

---- 在一个关系数据库管理系统模块里,数据被存储在行与列构成的表中。由行与列交汇而构成的单元称为域,包含在域中的数据称为值。行代表了一个特定事件、距离或地理特性,列则包含该特性的属性。属性具有很多类型,例如日期、文本串或数字。而现在有些关系数据库如ESRI Spatial DataBlade Engine(SDE) for Informix则开始尝试采用扩展SQL数据类型(如图1所示),使得地理特性成为存储在列中的一个数值类型。

---- 通过在对象相关的数据库管理系统中加入空间数据类型,使应用能够存储和管理复杂的地理数据。这样做并不会改变现有的数据库或影响当前应用,而只是将一个"形状"列加入到现有的表中,提供软件以管理和访问列中所引用的地理特性。利用空间表,用户可以像以前一样执行数据查询和表格累加,还可以编写查询以返回空间特性或在请求中使用空间特性。空间对象和空间索引表的创建与维护对用户来说都是自动化和透明的。

---- R-树状索引

---- 快速访问及有效处理数据的关键是索引。虽然有了可扩展的数据类型,但对于本质非常复杂的空间地理数据而言,有效的空间索引更为重要。

---- 传统的空间数据索引方式主要有以下两种。第一种方法是在服务器之外建立一个空间索引并将其存储于BLOB(Binary Large Object,大型二进制对象)中。随后在需要时,用户可以通过中间件访问索引和检索BLOB。然而,无论索引结构性能如何优良,由于要包含来自外部服务器的检索部分,因此检索和维护BLOB将导致本质性的I/O开销和并发问题,从而降低了速度和效率。第二种方法就是空间分割,即将空间按照规定的网格或其他分层结构(例如四维树)分割成单元。每个单元分配一个号码,然后每一个空间对象与它重叠单元的号码联系起来。但是空间并非线性序列,许多空间特性的不规则性要求复杂的检索以及对众多可能错误的必要检查。由此可见,这也是一个速度缓慢且效率低下的方法。

---- 相比之下,R-树(Region Tree,区域树状图)则是一种高性能、多维数的访问方法,该方法内置于数据库内核并直接与外延数据类型协作以适当地管理空间地理数据。与标准索引不同的是,R-树并非将整个空间分割成由非重叠相邻单元组成的完整覆盖。相反,它使用的是数据分割的方法,使每一个对象自动地被完全由空间形状所决定的"带边盒子"表示,这些"带边盒子"可以相互重叠,并且不需要覆盖整个空间(如图2所示),开发人员也不必花费时间预先了解数据的空间范围。

---- 数据刀片(DataBlade)

---- Internet就是一种数据的传播。那么,我们应该如何将公司扩展到Internet上,同时又不必增加太多的成本?如何将业务数据转变成网页内容?如何利用已有的数据使公司更具竞争力呢?针对上述问题,早在1996年,Informix公司就提出了数据刀片(DataBlade)技术,该技术能够从任何来源集成任何数据,提供了稳定灵活的Internet应用程序环境。

---- 例如,某个客户需要查询其目前的SQL数据库,以搜索在公司某一分销点200米以内的所有住所,如果仅仅利用标准SQL,这个看似简单的查询实际上是非常复杂的。而利用Informix DataBlade技术,客户就能够通过增加前面提到的地理及地区性资料扩展应用程序的智能性。结果会是怎样呢?编码行数减少了,执行速度加快了,客户得到了所需的准确而非近似的答案。

---- 作为对服务器性能的一种延伸,DataBlade模块被集成在引擎的核心部分,将传统的数据类型与丰富的网页内容集成在一起,但没有牺牲传统的关系型数据库管理系统的可靠性和可伸缩性。利用一个单独的DataBlade模块或将几个模块集成在一起就可以创建能够满足客户独特需要的独特信息管理解决方案。DataBlade模块采用通用的编程语言书写,它们可以做一般程序语言的工作,不需要服务器或其他数据源的调用。而且采用DataBlade技术开发的可重用模块可以直接嵌入到数据库核心,作为数据库服务器的一部分,这样可以大大扩展核心数据库服务器的数据支持能力,并提高数据库服务器的整体运行性能。

---- 不管客户的业务如何发展变化,也不管客户要管理什么样的信息,以及客户所处于哪一个行业,利用DataBlade技术,总能够迅速廉价地创建各种复杂的、智能的解决方案,使客户以更短的时间将产品投入市场,极大地提高客户的竞争力。

应用发展永无止境

---- 在过去的25年间,人们采用GIS、CAD以及图形处理系统创建了数量庞大的数字化空间数据。而现在,以下三大主要的发展趋势有力推动了对于新的开放式空间数据管理方式的需求的不断增长。首先,拓展企业范围内地理数据访问的需要在迅速增加; 其次,企业开始采用空间定位以集成其核心业务数据,并在其业务运作过程中增加了空间分析;第三,对于各级政府机构来说,互联网访问的广为流行构成了巨大压力,促使其不断提供对现有地理数据的公共互联网访问。

---- 企业将是空间地理技术应用拓展的最大受益者,因为他们可以在商业运营中充分利用空间地理技术的先进可视化及分析技术。分析家指出,通过在业务系统中增加一个空间维,企业可以制订出更好的决策。例如,蜂窝服务供应商在拓展覆盖范围时,需要计算出潜在用户在什么地方。空间地理技术的应用将有助于回答这一问题,并带来更好、更智能化的商业决策。

本文地址:http://com.8s8s.com/it/it21508.htm