2007年06月19日

AJAXWeb-GIS中的运用

“Integrating AJAX Approach into GIS Visualization Web Services”

Ahmet Sayar1, 2, *, Marlon Pierce1 and Geoffrey Fox 1, 2, 3, 4

1 Community Grids Lab, Indiana University, Bloomington, Indiana, 47404, USA

2Department of Computer Science, Indiana University

3Department of Physics, Indiana University

4School of Informatics, Indiana University

{asayar, mpierce, gcf}@cs.indiana.edu

 

中文翻译 郑翔

zhengsean916@yahoo.com.cn

本文原文来自互联网

2006-8-29

 

摘要:随着Web平台越来越成熟,我们可以发现有越来越多的令人兴奋的技术出现,这些技术使地理信息系统(GIS)的显示应用达到了一个功能强大且应用广泛的新高度,通过把最新的功能强大的技术整合到GIS系统中去,我们得到了高效率执行的结果,随之赋予了更多的功能。在目前基于浏览器应用程序的开发技术中,AJAX(Asynchronous JavaScript and XML)无疑是最新的技术。在本文中,我们介绍了一个通用的,高效的架构,这个架构把AJAX模型整合到了GIS Web Services显示系统中。

1. 导引

       AJAX是基于Web Applications的浏览器的一种重要的开发模型。它使用了几种技术,这几种技术整合在一起并且相互合同工作,从而来创建功能强大的新应用。组成AJAX的模型的有XMLJavaScriptHTTPXHTML,这些技术都是被广泛应用和被大家所熟悉的。高效的Google Mapping就是使用了这一新的,功能强大的模型。

 

       Web Services是自包含的、自描述的、并且是有标准组件的,和早期不一样,现在有了更多紧密联系的分布式对象方法(例如CORBA,另外还有Web Services系统支持的XML消息中心方法),这使得允许我们创建低耦合的,高分布式跨组织的系统,同时Web Services也推广了GIS值得期许的特性,比如建立了一些标准,这些标准提供通用的发布、定位和调用Web服务的规范,Web Services同时使用了被广泛使用的和熟知的技术,比如和AJAX类似的XMLHTTP,既然AJAXWeb Services都是基于XML结构的,那么他们相互之间是可以起到杠杆作用的。

 

       在本文中,首先给出一些我们在目标架构所用到的Web技术的背景信息,这些技术是基于AJAXWeb ServicesGIS Web Services的。在第三部分我们将提及一些关于AJAXWeb Services的相关工作;在第四部分我们先给出一个通用的用来整合Web ServicesAJAX的架构,然后我们将给出实例来验证这些关于整合的概念,其中之一就是基于GoogleGIS Data Server( WFS )的整合,另外一个是基于GoogleGIS Mapping Server( WMS )的整合;在第五部分是未来的工作,第六部分是结论。

 

2 背景知识

       这里提到的整合架构是由GIS领域内的AJAXWeb Services构成的,在这里我们将首先解释一下这些技术和理论,还有他们的优点。

2.1 异步JavaScriptXML

       AJAX是一种Web应用的开发风格,它混合使用了当前的Web技术来提供更具交互性体验的Web应用。AJAX并不是一种技术,它只是包括了开发Web应用程序的一组技术而已,这些技术是JavaScriptHTML、层叠样式表(CSS)、文档对象模型(DOM)XMLXSLT,以及通过XMLHttpRequest来进行通信协议的消息发送。

 

       构成AJAX这些核心技术已经很成熟,并且广泛的应用于Web应用开发领域;AJAX之所以越来越流行是由于它对那些基于Web浏览器应用程序开发者来说有很多的优点,它消除了交互过程中的“停止-开始”的弱点,用户在与服务器交互的过程是异步的,从而使页面上的数据不必一次又一次的全部刷新,并且这些“请求-应答的过程是通过结构化的XML文档——XMLHttpRequest协议完成的。这些特性使开发者能够很容易的把AJAX整合到Web Services中去。

 

       Google开始使用AJAX进行新应用的开发之后,AJAX开始被公众所注视,Google在去年所开发出的重要的产品很多都是基于AJAX模型的,例如Google Groups , Google Suggests以及Google Maps。除了Google的产品之外,Amazon公司在他们的搜索引擎的应用中同样使用了AJAX方法。

 

       客户端的Web应用程序中可以使用AJAX,客户端只需要等待用户自己直接调用XMLHttpRequest协议 APIJavaScript代码执行时间,这样,客户端只需要关注于编写代码和处理不同的Web浏览器。客户端可以使用一些最新开发出来的库来提供更加高级的AJAX服务,并且隐藏那些对不同浏览器的处理,这一方法用来取代使用纯AJAX开发同时还要处理不同浏览器的开发方式,这样的库有DWRPrototypeSajaxAJAX.NET

2.2 OGC GIS Web Services

       OGC定义了一系列的包括数据模型、在线服务在内的GIS标准,这些标准已经广泛的应用于GIS领域,OGC是一个非赢利的国际化标准制定组织,它领导进行对地理数据相关的操作和服务标准的制定。OGC在不同的方面都做出了很大的贡献,不管是在行业领域还是在学术界,这些贡献都是为了创建一个开放的可扩展的GIS软件编写的接口。

 

       GIS有一系列的方法和环境来进行地理数据的显示、操作和分析,地理应用软件的特点之一就是需要整合和共享来自不同提供者的空间数据,来解决整合数据的问题,OGC提出了GIS服务的发布标准定义。

 

       这些Web Services技术的出现克服了传统分布式对象技术的缺陷,并提供了在分布式网络环境下的跨平台跨语言的能力,GIS服务将会在Web Services方法中被更多的实施,空间数据底层架构使得GIS厂商可以共享数据的存储,也使得应用程序能在分布式的环境下运行。GIS从根本上来说,主要涉及对来自不同厂商的不同数据源的数据和服务进行整合。Web Services架构建立了一套在服务和客户端之间的相互连接的标准,这里提到的客户端能很好的支持动态的数据整合,这也是创建空数据底层架构的关键。通过Web Services,不同厂商的分布式GIS服务能够通过运用能共同操作的标准通信协议把GIS服务动态的整合到GIS应用程序中。

 

       OGC服务加入到Web Services中将会如下的好处,包括:

l         分布式:更容易的分发地理数据,使应用程序可以跨平台,跨操作系统,计算机语言等,具有平台和语言的中性特征。

 

l         整合性:对应用程序开发者来说,更容易的整合地理空间功能,更容易的整合数据到用户程序中,也很容易的通过WSDL文件和调用服务功能来创建客户端的程序。

 

l         基础结构:我们可以从很多创建出来的Web Services架构中得到很多好处,这些架构包括开发工具、服务器端应用程序、消息协议、安全架构、工作流的定义等等。

 

       最通用的,被广泛熟知的与OGC GIS服务相关的显示机制有:GIS Mapping ServicesGIS Data ServicesOGCMapping Services叫做Web Map Services(WMS),把Data Services叫做Web Feature Services(WFS)Web Coverage Services(WCS)WFS提供要素模型的数据,这些数据是矢量格式的GML(Geographic Markup Language)进行编码的,WCS提供场模型的数据,这些数据是栅格格式的。

 

3 相关工作模式

       目前有一些著名的致力于整合Web架构的项目或成果已经出现,比如Web ServicesAJAXOGCESRIGIS使用了Web ServicesOGC实际上是一个进行实体标准定义、GIS服务界面发布标准定义的组织,而CubewerxDemisIntergraph是商用GIS开发商,他们把Web Services加入到了他们的系统中。Google MapsKa-MapAJAX模型整合到了GIS显示系统中,Ka-Map是基于AJAXWeb地图网站,他们使用了开源的Web地图开发工具,Ka-Map使用MapServer地图服务器为AJAXPHP提供地图内容服务。上面提到的所有这些成果,都分别用到了Web ServicesAJAX技术。

 

       XML ECMAScript脚本语言E4X是唯一使AJAXWeb Services相互工作的脚本语言,E4X是一种简单的扩展JavaScript语言,而JavaScript使得XML描述非常容易,E4X其实是JavaScript语言的官方名称,ECMA(European Computer Manufacturers Association)就是该制定该标准的机构,在ECMA JavaScript被规范定义为E4XE4X使用所有其他的一体化的AJAX技术,而不需要扩展。

 

       通过E4XXML API将不再是必要的(例如:DOM或者SAX)XML文档成为JavaScript所能理解的本地数据类型之一,你可以很容易的从JavaScript更新XML文档,这些E4X的性质可以用来创建从浏览器调用Web Services,但是支持E4X的浏览器只有Mozilla1.8

 

       E4X用来与Web Services进行交互,但是它同样只是JavaScript的一个扩展版本;如何在SOAP消息中发送请求的问题,以及如何对返回回来的SOAP消息进行操作也都难以解决,如果你在基于AJAX模型的Web应用使用了E4X,你很难将此应用到每一种浏览器。这也是另外一个缺陷。

 

       在我们的方法中,你不必要扩展任何AJAX相关技术,我们用到了AJAX中的所有的几种基本技术,我们的方法使开发者和用户能够容易的整合或者定制他们的应用。

 

4 架构:在AJAX模型中调用Web Services

       在这一部分,我们描述通用的整合了AJAX的基于Web Services的浏览器应用程序架构。在这个架构中有两个主要的角色:客户端的显示和GIS Web ServicesWeb ServicesSOAP协议调用,XML就是通过SOAP来进行消息交换的。

4.1 通用整合架构

       如何在AJAX模型中调用Web Services呢?

图一 AJAX应用程序调用Web Services

       客户端浏览器向服务器代理(JSP页面)发送请求,该服务器代理依次向Web Services发送请求,这个过程是通过使用之前准备好的Web Services Client Stubs实现的, Web Services返回给服务器代理,并呈现给客户端的浏览器。在下面我们将详细的解释这些步骤:

 

       首先,创建一个XMLHttpRequest对象用来进行一个远程描述性的调用;

- var http = new XMLHttpRequest();

 

然后,定义一个URL目标点来进行调用,该URL地址应该是本地的,这个中间代理服务用来给GIS Web Services发送一个合适的请求;

- var url = “proxy.jsp” ;

 

       在次,调用本地代理服务,URL在上面已经给出了参数定义;

- http.open( “GET” , rul + ”?bbox = ” + bbox + … [other parameter-value pairs] …… )

 

proxy.jsp就是一个中间代理服务页面,它用来抓取请求( HttpServletRequest )并且抓取响应( HttpServletResponse )对象,代理JSP仅仅包括一行代码来跟踪HttpServletRequestHttpServletResponse参数,这些参数从前一个页面而来,这些参数都是通过XMLHttpRequest协议来传递的。

       - jb.doTask( request,response )

 

       “请求”和“响应”参数来自用户交互的页面,这个首页包括一些JavaScriptXHTMLCSSJSP来抓取用户所给出的参数,它还用来在屏幕上显示返回结果。

 

       jb”是一个java类的对象,该对象使用它的请求-响应句柄以及Web Service client stubs来创建合适的请求,请求-响应句柄也用来接收和分析从GIS Web Services返回回来的响应对象。

 

       在从GIS Web Service接收到返回对象之后,“jb”对象发送返回结果到首页的XMLHttpRequest对象;

- PrintWriter pw = reponse.getWriter() ;

- pw.write( response ) ;

      

       在用户界面页上的XMLHttpRequest对象通过如下的代码获得这个值;

- http.onreadstatechange = handleHttpResponse

 

这种通用的整合架构可以应用于各种Web Services中;由于每种Web Services的返回类型不同,还有他们所提供的Service API也不一样,所以你应该掌握他们的应用程序所定义的措施和在客户端的需求。

 

       4.2中,我们将通过在GIS领域中重要的应用来验证这个整合框架的可用性和高效性。

 

4.2 应用 – Google MapsGIS显示系统的整合

       这个整合的系统实际上是一组在AJAXWeb Services之间进行调用的活动,这些活动是异步进行的,从用户端返回的对象也是异步的进行的。在4.2.14.2.2中的应用使用了图一所刻画的通用整合架构;本应用中的扩展了组成的地方会有一点小小的不同,这些不同来自那些根据服务提供方API所创建的服务对于请求的差异,还有在屏幕上显示返回数据的不同,但这些都是在实施过程中的差异。

 

4.2.1 Google AJAXWMS的整合

       客户端活动创建的用户参数在并行处理中有两个不同的工作路径,这里的活动被浏览器通过Google Mapping工具所整合。JavaScript通过活动监听器( ActionLintensers )Goolge Binding APIs获得这些活动,并送第二层的对象,如图二所示。

 

       浏览器端的用户界面是一个JSP页面,该页面包括两个JavaScript参考类,其中一个是由Google Map对象所使用,另外一个是被WMS地图图片所使用,它被绑定到Google Map对象中。

 

       根据图二定义架构,Layer-2创建的相互连接已经完成,对于Layer-1来说,Google Mapping应用是通过AJAX Web应用模型和XMLHttpRequest协议实现的,Google通过使用XMLHttpRequest和远程的浏览器中的JavaScript文件来掌控地图的创建。

 

       当我们在WMS中应用这种交互接口类型的时候,我们可以利用所有的OGC兼容的WMS函数,例如“getMap”,“getCapabilities”,“getFeatureInfo”,客户端将是一个瘦客户端;它只接收地图并且把地图放置在Google Map中。放置过程是通过一些高级JavaScript技术实现的。客户端不需要对地图进行渲染,也不需要创建地图图片。地图已经通过WMS返回,并且已经格式化成为了JPEG或者PNG或者TIFF,返回的类型在发送给WMS的“getMap”请求中作为参数给出了类型定义,这些图片在放置之前已经把这写不同的格式转换成为了JavaScript对象了。

 

图二 Google MapsOGC WMS按照图一定义的架构进行整合

 

4.2.2 Google AJAXWFS的整合

       WFS提供了要素模型的数据,这些要素模型数据是通过GML编码的矢量格式数据,GML是根据OGC WFS定义的,它通过 getFeature”的参数得到。GML是以XML编码进行地理信息数据的交换和存储,它包括几何和属性特征。

图三 Google MapsOGC WFS按照图一定义的架构进行整合

       在“getFeature”请求的响应中,GML文件以XML编码通过SOAP进行封装并响应该请求。得到响应之后,客户端获得几何元素数据,最重要最普通的几何元素是点、线串、线环和多边形。GML是一个OGC对要素模型数据描述的一个标准。

 

       虽然Google Mapping API支持其中的两个:点和线串,但是其他的几何元素同样能够通过小的更新可转换成这两种类型。得到这些几何元素之后就可以在Google Map通过“GPoints”和“GPolylines”对象以及“mapOverlayGoogle Map API函数进行绘制和组合。

 

       通过设置返回的GML的非几何元素,以及通过Google API的“GMaker”对象可以实现该架构对OGC WMS服务“getFeatureInfo”函数的支持。所有这些任务都是通过运用XMLHttpRequest APIJavaScript函数实现的。

 

       XMLHttpRequest使用DOM来解析返回的XML结构,如果返回的数据对于服务器太大的话,DOM解析器将抛出“Out of Memory 的异常。为了克服这些DOMGoolge Map反馈的信息,我们使用了Pull Parsing方式来处理,在解析和得到WFS返回的GML文档之后,结果被写入Web浏览器;通过JavaScriptXMLHttpRequest的响应XML调用,浏览器得到结果并对数据进行适当的修改后便在屏幕上进行显示。

 

5 未来的工作

       在未来,我们将继续处理该架构的一些问题。Google Map能够高速的提供地图数据,但是WMSWFS Web Services返回数据却比较慢,这其中的一些原因是由于地理数据的大小和特性造成的,另外一个原因是CPU时间消耗在生成地图图片的渲染算法上了。既然我们没有高性能的服务器和专有网络,我们就必须通过别的方法来提高性能。为了实现这个目标,我们将使用WMSWFS的流(Streaming)版本来得到组成图片的地理数据,相应地,GML通过消息中间件进行处理,例如,印第安纳大学CGL(Community Grids Lab.)NaradaBrokeringNaradaBrokering提供了GIS领域中一些重要的特性,这些特性有QOS(Quality of Service)和消息收发的安全机制,可靠的持续不断消息的存储的接口,通过WS-Reliable消息可以可靠的进行消息的分发,数据的容错处理,支持不同的通讯方式(TCPUDPMulticastSSLRTPHTTPDiscovery service to find nearest brokers / resources(高效的路游) )。您可通过我们的官方网页(GIS Research at Community Grids Lab, Project Web Site: http://www.crisisgrid.org/ )来获取我们最新的研究信息。

 

6 结论

       如果GIS显示客户端从桌面浏览器应用程序使用Web Services,如果Web Services能够响应够迅速,那么通过AJAX模型来调用Web Services执行效率也会得到提高。由于AJAXWeb Services都使用了XML作为基础来进行请求-响应的通讯,他们之间是可以起到杠杆作用的,这使应用程序开发人员可以容易的把基于浏览器应用程序的AJAX整合到Web Services中。

 

       在摘取和显示那些在地图上通过点击选择出的特定要素的信息方面,仅仅只使用Google Maps会有一些不足;通过在一些应用程序中使用GIS Web Services,并且把这个部分分配到WMS中,可以消除掉Google Map的一些缺点,并且可以运行得更快。由于Google Map API使用了DOM解析器,如果数据对于服务器来说太大的话,DOM将不可能进行解析,从XML(GML)描述的地理数据获取特征信息也将不可能;通过把GIS Web Services整合到显示应用中,通过使用Pull Parsing技术就可以消除这些缺陷。

 

       在我们的目标架构设计的方法中,我们没有更改或者扩展任何AJAX模型或者Web Services的技术,通过使用这些理论标准,你可以把任何GIS Web Services整合到应用程序的显示中去,而这只需要做一些应用程序规格上的扩充,例如,根据Web ServiceAPI创建请求,然后操控返回过来的对象。

 

7 感谢

       该项目得到了NASAEarth-Sun System Technology OfficeAdvanced Information Systems Technology Program的支持,本项目是由国家科学基金会的National Middleware发起的。

 

8 参考资料

[1] OGC (Open Geospatial Consortium) official web site http://www.opengeospatial.org/

 

[2] Booth, D., Haas, H., McCabe, F., Newcomer, E., Champion, M., Ferris, C., and Orchard, D. “Web Service Architecture.” W3C Working Group Note, 11 February 2004. Available from http://www.w3c.org/TR/ws-arch

 

[3] Jesse James Garret, Ajax: A New Approach to Web Applications. http://www.adaptivepath.com/publications/essays/archives/000385.php

 

[4] Murray G., “Asynchronous JavaScript Technology and XML (AJAX) With Java 2 Platform, Enterprise Edition” http://java.sun.com/developer/technicalArticles/J2EE/AJAX/

 

[5] Jerome Sonnet, Charles Savage. OGC Web Service Soap Experiment Report 0.8 Document#03-014, Jan 2003.

 

[6] Message based middleware project at Community Grids Lab, Project Web Site: http://www.naradabrokering.org/

 

[7] Pallickara S. and Fox G., “NaradaBrokering: A Distributed Middleware Framework and Architecture for Enabling Durable Peer-to-Peer Grids” ACM/IFIP/USENIX International Middleware Conference Middleware-2003, Rio Janeiro, Brazil June 2003

 

[8] GIS Research at Community Grids Lab, Project Web Site: http://www.crisisgrid.org

 

[9] MapServer official web site http://ms.gis.umn.edu/.

 

[10] Ka-Map official web site http://ka-map.maptools.org/.

 

[11] Tyler Mitchell, “Build AJAX-Based Web Maps Using ka-Map”

http://www.xml.com/pub/a/2005/08/10/ka-map.html.

 

[12] de La Beaujardière, J. editor, 2002. Web Map Service Implementation Specification, Version 1.1.1, OGC 01-068r3. http://www.opengis.org/techno/specs/01-068r3.pdf

 

[13] Evans, J. eds, 2003. Web Coverage Service Implementation Specification, OpenGIS® Project Document OGC 03-065r6, http://www.opengis.org/docs/03-065r6.pdf

 

[14] ISO, 2001. ISO 19119: Geographic Information – Services. http://www.isotc211.org.

 

[15] Vretanos, P. A. editor, 2002. Web Feature Service Implementation Specification, Version 1.0.0 OGC 02-058. http://www.opengis.org/techno/specs/02-058.pdf.

 

[16] Sayar A., Pierce M., Fox G. “OGC Compatible Geographical Information Services”, Technical Report (Mar 2005), Indiana Computer Science Report TR610.

 

[17] Sayar A., Pierce M., Fox G., “Developing GIS Visualization Web Services for Geophysical

Applications” ISPRS 2005 Spatial Data Mining Workshop, Ankara, Turkey.

 

[18] EcmaScript web site http://www.ecmainternational.org/

 

 

2006年09月12日

空间数据挖掘技术理论及方法
葛继科
(西南农业大学信息学院 400716)
 
摘要  本文简要论述了空间数据库技术及空间数据挖掘技术的理论及特点,分析了空间数据挖掘技术的层次、方法,并重点介绍了当前常用的分类、聚类、关联规则等空间数据挖掘方法,指出了当前空间数据挖掘技术中尚需解决的问题、发展趋势及方向。
关键词 空间数据挖掘 分类 聚类 关联规则 
0 引言
地理信息系统(Geographic Information System,简称GIS)是计算机科学、地理学、测量学、地图学等多门学科综合的技术[1]。GIS的基本技术是空间数据库、地图可视化及空间分析,而空间数据库是GIS的关键。空间数据挖掘技术作为当前数据库技术最活跃的分支与知识获取手段,在GIS中的应用推动着GIS朝智能化和集成化的方向发展。
1 空间数据库与空间数据挖掘技术的特点
随着数据库技术的不断发展和数据库管理系统的广泛应用,数据库中存储的数据量也在急剧增大,在这些海量数据的背后隐藏了很多具有决策意义的信息。但是,现今数据库的大多数应用仍然停留在查询、检索阶段,数据库中隐藏的丰富的知识远远没有得到充分的发掘和利用,数据库中数据的急剧增长和人们对数据库处理和理解的困难形成了强烈的反差,导致“人们被数据淹没,但却饥饿于知识”的现象。
空间数据库(数据仓库)中的空间数据除了其显式信息外,还具有丰富的隐含信息,如数字高程模型〔DEM或TIN〕,除了载荷高程信息外,还隐含了地质岩性与构造方面的信息;植物的种类是显式信息,但其中还隐含了气候的水平地带性和垂直地带性的信息,等等。这些隐含的信息只有通过数据挖掘才能显示出来。空间数据挖掘(Spatial Data Mining,简称SDM),或者称为从空间数据库中发现知识,是为了解决空间数据海量特性而扩展的一个新的数据挖掘的研究分支,是指从空间数据库中提取隐含的、用户感兴趣的空间或非空间的模式和普遍特征的过程[2]。由于SDM的对象主要是空间数据库,而空间数据库中不仅存储了空间事物或对象的几何数据、属性数据,而且存储了空间事物或对象之间的图形空间关系,因此其处理方法有别于一般的数据挖掘方法。SDM与传统的地学数据分析方法的本质区别在于SDM是在没有明确假设的前提下去挖掘信息、发现知识,挖掘出的知识应具有事先未知、有效和可实用3个特征。
空间数据挖掘技术需要综合数据挖掘技术与空间数据库技术,它可用于对空间数据的理解,对空间关系和空间与非空间关系的发现、空间知识库的构造以及空间数据库的重组和查询的优化等。
2 空间数据挖掘技术的主要方法及特点
常用的空间数据挖掘技术包括:序列分析、分类分析、预测、聚类分析、关联规则分析、时间序列分析、粗集方法及云理论等。本文从挖掘任务和挖掘方法的角度,着重介绍了分类分析、聚类分析和关联规则分析三种常用的重要的方法。
2.1、分类分析
分类在数据挖掘中是一项非常重要的任务,目前在商业上应用最多。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类和我们熟知的回归方法都可用于预测,两者的目的都是从历史数据纪录中自动推导出对给定数据的推广描述,从而能对未来数据进行预测。和回归方法不同的是,分类的输出是离散的类别值,而回归的输出则是连续的数值。二者常表现为一棵决策树,根据数据值从树根开始搜索,沿着数据满足的分支往上走,走到树叶就能确定类别。空间分类的规则实质是对给定数据对象集的抽象和概括,可用宏元组表示。
要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由特征(又称属性)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可为:( v1, v2, …, vn; c );其中vi表示字段值,c表示类别。
分类器的构造方法有统计方法、机器学习方法、神经网络方法等等。统计方法包括贝叶斯法和非参数法(近邻学习或基于事例的学习),对应的知识表示是判别函数和原型事例。机器学习方法包括决策树法和规则归纳法,前者对应的表示为决策树或判别树,后者则一般为产生式规则。神经网络方法主要是反向传播(Back-Propagation,简称BP)算法,它的模型表示是前向反馈神经网络模型(由代表神经元的节点和代表联接权值的边组成的一种体系结构),BP算法本质上是一种非线性判别函数[3]。另外,最近又兴起了一种新的方法:粗糙集(rough set),其知识表示是产生式规则。
不同的分类器有不同的特点。有三种分类器评价或比较尺度:1) 预测准确度;2) 计算复杂度;3) 模型描述的简洁度。预测准确度是用得最多的一种比较尺度,特别是对于预测型分类任务,目前公认的方法是10番分层交叉验证法。计算复杂度依赖于具体的实现细节和硬件环境,在数据挖掘中,由于操作对象是海量的数据库,因此空间和时间的复杂度问题将是非常重要的一个环节。对于描述型的分类任务,模型描述越简洁越受欢迎。例如,采用规则归纳法表示的分类器构造法就很有用,而神经网络方法产生的结果就难以理解。
另外要注意的是,分类的效果一般和数据的特点有关。有的数据噪声大,有的有缺值, 有的分布稀疏,有的字段或属性间相关性强,有的属性是离散的而有的是连续值或混合式的。目前普遍认为不存在某种方法能适合于各种特点的数据。
分类技术在实际应用非常重要,比如:可以根据房屋的地理位置决定房屋的档次等。
2. 2 聚类分析
聚类是指根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。它的目的是使得属于同一个组的样本之间应该彼此相似,而不同组的样本应足够不相似。与分类分析不同,进行聚类前并不知道将要划分成几个组和什么样的组,也不知道根据哪些空间区分规则来定义组。其目的旨在发现空间实体的属性间的函数关系,挖掘的知识用以属性名为变量的数学方程来表示。聚类方法包括统计方法、机器学习方法、神经网络方法和面向数据库的方法。基于聚类分析方法的空间数据挖掘算法包括均值近似算法[4]、CLARANS、BIRCH、DBSCAN等算法。目前,对空间数据聚类分析方法的研究是一个热点。
对于空间数据,利用聚类分析方法,可以根据地理位置以及障碍物的存在情况自动地进行区域划分。例如,根据分布在不同地理位置的ATM机的情况将居民进行区域划分,根据这一信息,可以有效地进行ATM机的设置规划,避免浪费,同时也避免失掉每一个商机。
2.3 关联规则分析
关联规则分析主要用于发现不同事件之间的关联性,即一事物发生时,另一事物也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是:事件发生的概率和条件概率应该符合一定的统计意义。空间关联规则的形式是X->Y[S%,C%],其中X、Y是空间或非空间谓词的集合,S%表示规则的支持度,C%表示规则的置信度。空间谓词的形式有3种:表示拓扑结构的谓词、表示空间方向的谓词和表示距离的谓词[5]。各种各样的空间谓词可以构成空间关联规则。如,距离信息(如Close_to(临近)、Far_away(远离))、拓扑关系(Intersect(交)、Overlap(重叠)、Disjoin(分离))和空间方位(如Right_of(右边)、West_of(西边))。实际上大多数算法都是利用空间数据的关联特性改进其分类算法,使得它适合于挖掘空间数据中的相关性,从而可以根据一个空间实体而确定另一个空间实体的地理位置,有利于进行空间位置查询和重建空间实体等。大致算法可描述如下:(1)根据查询要求查找相关的空间数据;(2)利用临近等原则描述空间属性和特定属性;(3)根据最小支持度原则过滤不重要的数据;(4)运用其它手段对数据进一步提纯(如OVERLAY);(5)生成关联规则。
关联规则通常可分为两种:布尔型的关联规则和多值关联规则。多值关联规则比较复杂,一种自然的想法是将它转换为布尔型关联规则,由于空间关联规则的挖掘需要在大量的空间对象中计算多种空间关系,因此其代价是很高的。—种逐步求精的挖掘优化方法可用于空间关联的分析,该方法首先用一种快速的算法粗略地对一个较大的数据集进行一次挖掘,然后在裁减过的数据集上用代价较高的算法进一步改进挖掘的质量。因为其代价非常高,所以空间的关联方法需要进一步的优化。
对于空间数据,利用关联规则分析,可以发现地理位置的关联性。例如,85%的靠近高速公路的大城镇与水相邻,或者发现通常与高尔夫球场相邻的对象是停车场等。
3 空间数据挖掘技术的研究方向
3.1 处理不同类型的数据
绝大多数数据库是关系型的,因此在关系数据库上有效地执行数据挖掘是至关重要的。但是在不同应用领域中存在各种数据和数据库,而且经常包含复杂的数据类型,例如结构数据、复杂对象、事务数据、历史数据等。由于数据类型的多样性和不同的数据挖掘目标,一个数据挖掘系统不可能处理各种数据。因此针对特定的数据类型,需要建立特定的数据挖掘系统。
3.2  数据挖掘算法的有效性和可测性
海量数据库通常有上百个属性和表及数百万个元组。GB数量级数据库已不鲜见,TB数量级数据库已经出现,高维大型数据库不仅增大了搜索空间,也增加了发现错误模式的可能性。因此必须利用领域知识降低维数,除去无关数据,从而提高算法效率。从一个大型空间数据库中抽取知识的算法必须高效、可测量,即数据挖掘算法的运行时间必须可预测,且可接受,指数和多项式复杂性的算法不具有实用价值。但当算法用有限数据为特定模型寻找适当参数时,有时也会导致物超所值,降低效率。
3.3 交互性用户界面
数据挖掘的结果应准确地描述数据挖掘的要求,并易于表达。从不同的角度考察发现的知识,并以不同形式表示,用高层次语言和图形界面表示数据挖掘要求和结果。目前许多知识发现系统和工具缺乏与用户的交互,难以有效利用领域知识。对此可以利用贝叶斯方法和演译数据库本身的演译能力发现知识。
3.4 在多抽象层上交互式挖掘知识
很难预测从数据库中会挖掘出什么样的知识,因此一个高层次的数据挖掘查询应作为进一步探询的线索。交互式挖掘使用户能交互地定义一个数据挖掘要求,深化数据挖掘过程,从不同角度灵活看待多抽象层上的数据挖掘结果。
3.5  从不同数据源挖掘信息
局域网、广域网以及Internet网将多个数据源联成一个大型分布、异构的数据库,从包含不同语义的格式化和非格式化数据中挖掘知识是对数据挖掘的一个挑战。数据挖掘可揭示大型异构数据库中存在的普通查询不能发现的知识。数据库的巨大规模、广泛分布及数据挖掘方法的计算复杂性,要求建立并行分布的数据挖掘。
3.6  私有性和安全性
数据挖掘能从不同角度、不同抽象层上看待数据,这将影响到数据挖掘的私有性和安全性。通过研究数据挖掘导致的数据非法侵入,可改进数据库安全方法,以避免信息泄漏。
3.7  和其它系统的集成
方法、功能单一的发现系统的适用范围必然受到一定的限制。要想在更广泛的领域发现知识,空间数据挖掘系统就应该是数据库、知识库、专家系统、决策支持系统、可视化工具、网络等技术的集成。
4 有待研究的问题
我们虽然在空间数据挖掘技术的研究和应用中取得了很大的成绩,但在一些理论及应用方面仍存在急需解决的问题。
4.1 数据访问的效率和可伸缩性
空间数据的复杂性和数据的大量性,TB数量级的数据库的出现,必然增大发现算法的搜索空间,增加了搜索的盲目性。如何有效的去除与任务无关的数据,降低问题的维数,设计出更加高效的挖掘算法对空间数据挖掘提出了巨大的挑战。
4.2 对当前一些GIS软件缺乏时间属性和静态存储的改进
由于数据挖掘的应用在很大的程度上涉及到时序关系,因此静态的数据存储严重妨碍了数据挖掘的应用。基于图层的计算模式、不同尺度空间数据之间的完全割裂也对空间数据挖掘设置了重重障碍。空间实体与属性数据之间的联系仅仅依赖于标识码,这种一维的连接方式无疑将丢失大量的连接信息,不能有效的表示多维和隐含的内在连接关系,这些都增加了数据挖掘计算的复杂度,极大地增加了数据准备阶段的工作量和人工干预的程度。
4.3 发现模式的精炼
当发现空间很大时会获得大量的结果,尽管有些是无关或没有意义的模式,这时可利用领域的知识进一步精炼发现的模式,从而得到有意义的知识。
在空间数据挖掘技术方面,重要的研究和应用的方向还包括:网络环境上的数据挖掘、栅格矢量一体化的挖掘、不确定性情况下的数据挖掘、分布式环境下的数据挖掘、数据挖掘查询语言和新的高效的挖掘算法等。
5  小结
随着GIS与数据挖掘及相关领域科学研究的不断发展,空间数据挖掘技术在广度和深度上的不断深入,在不久的将来,一个集成了挖掘技术的GIS、GPS、RS集成系统必将朝着智能化、网络化、全球化与大众化的方向发展。
参考文献:
[1] 邬 伦 等 地理信息系统――原理、方法和应用 .科学出版社.2001.
[2] 邸凯昌.空间数据挖掘和知识发现的理论与方法[D].武汉:武汉测绘科技大学,1999.
[3] 蔡自兴,徐光祐. 人工智能及其应用. 清华大学出版社. 1999. 206~216.
[4] Sheikholeslami G, Chatterjee S, Zhang A. Wave-Cluster: A multi-resolution clustering approach for very large spatiall databases. In:Proceedings of the 24th International Conference on Very Large Databases. New York, 1998. 428~439.
[5] 朱建秋,张晓辉,菇伟杰,朱杨勇.数据挖掘语言浅析[Z].
http://www.sqlmine.com/warehouse/htm/40.htm.
 
The Technology and Methods of Spatial Data Mining
Ge Ji-Ke
(Information College  South West Agricultural University  Chongqing  400716)
Abstract: This paper introduces the theory and characteristic of spatial database and spatial data mining, analyses the hierarchy method and knowledge’s classification of spatial data mining, introduces spatial classification rules , spatial clustering rules and spatial association rules, points out unsolved question, trend and direction.
Key words: spatial data mining, classification, clustering, association rules