“聚合” 一词起源于流行音乐,俗称搭混、拼盘或联唱,是将多首歌曲混合或拼接而做成一首新的歌曲。 2005年之后,聚合有了一个新的涵义。 万维网内容的爆炸式增长既奠定了聚合所需的资源基础,又产生了聚合应用的需求。 万维网的魅力吸引了政府、商业、机构和广大互联网用户的积极参与, 万维网上的Web服务、网页、博客、照片和视频资源时时刻刻在更新和增加。 但是,这些内容与功能的组织与呈现方式并不能满足所有用户的需求。 用户常常需要来自多个网站的信息, 这就产生了将多个网站的内容组合在一个应用中(即聚合)的需求(图4.1)。 图4.1聚合将多个网站的内容和功能动态地组合起来,生成新的应用 下面是几个聚合应用的例子: BizRate、PriceGrabber等网站从多个零售网站提取商品的价格信息,并将其组织在一个页面上, 从而使买家可以在一个网站找到最合算的商品,而不 必分别访问多个网站。 HousingMaps 网站( http://www.housingmaps.com ) 组合来自Craigslist网站的房屋出售信息和来自Google的地图, 让用户能一目了然地了解哪里有房屋销售、了解房屋的地理位置和周边环境。 Zillow 网站( http://www . zillow. com)估算房屋价值, 并在 Microsoft Bing Maps上叠加显示房屋价格、面积、房产税、学区和其他相关信息。 CrimeMapping 网站( http://www.crimemapping.com ) 在 ArcGIS Online地图 上显示犯罪数据,为公众提供社区犯罪活动信息。 美国俄勒同州 Stimulus Tracker 网站 ( http://www.Oregon.gov/recovery/StimulusReporting/ARRA_Projects.shtml ) 将国家经济刺激计划中获得资金的单位和地点与来自ArcGIS Online的地图叠加, 把资金发放到了哪里以及各个部门得到的份额数据告知公众。 公众信息地图网站( http://tmapps.esri.com/TIM/index.html ) 把人们在推特(Twitter)上发布的微博、 在YouTube网站上发布的视频和在Flickr网站上发布的照片定位显示在ArcGIS Online地图上, 以便用户了解某区域的网民在谈论什么、了解他们的所见所闻。 ArcGIS.com中注册的数以千计的地图应用是将ArcGIS Online基础底图与用户发布的各种专题的地理信息Web服务合成。 NatureServe 与国家地理杂志(National Geographic)联合开发的 LandScope America 网站( http://www.landscope.org/map ) 将 Microsoft Bing Maps与自然保护地图组合,并聚合了大量的关于植物、动物和自然环境的照片、 音频及视频片段(图4.2)。 图4.2 LandScope America 网站( http://www.landscope.org/map )是一个聚合应用的例子。 它整合了NatureServe的自然保护地图图层、MetaLens网站上丰富的多媒体数据以及Microsoft Bing Maps, 提供与自然保护相关的在线资源。 (致谢:NatureServe、微软公司和美国国家地理) 从这些例子可以看出聚合的定义:聚合是通过动态地组合多个网站的资源,来创建新网页或新应用的一种开发方法。 该定义有三个要点: Web资源:构建聚合所采用的Web资源可以是内容(如数据和地图)或功能(如操作或过程)。 例如,分析型Web服务通常封装某些类型的业务逻辑,用户仅发送输人参数, Web服务即可返回该业务逻辑(包括其功能,而 不仅是内容)的结果。 动态性:这意味着一个聚合应用与其所使用资源之间是动态连接的。 如果信息源被更新,聚合应用会立刻或在适当时间内自动更新。 多个网站:其中一个网站可以是聚合应用本身。若你在自己的网站中将你的图片与另一个网站地图叠加, 你的网站就是一个聚合应用。 基于前面对于聚合的定义, 地理聚合 是包含至少一项地理内容或功能的 聚合。 地理聚合 将具有相同地理位置的多种数据源集成,这明显蕴含着“叠加”这一地理信息系统的核心概念。 叠加,常被人们形象地用“夹心饼”来图示(图1.4), 这样的图示经常出现在GIS教材的封面上或GIS机构的图标上。 叠加包括拓扑叠加和视觉叠加,前者是将多个数据层进行分割计算,生成一个新的数据层; 而后者仅仅是将一个图层显示在另一个图层之上,这两个数据层之间并未进行图形分割与合并。 目前的 地理聚合 大多数是视觉叠加,让用户在基础底图之上添加显示一些专题信息。 当然,拓扑叠加对于特定的聚合应用也是必要的,如把洪水边界与城市边界进行拓扑叠加, 计算城市被洪水淹没的面积;或者将洪水边界与地籍图层进行拓扑叠加,确定谁家的地产需要进行水灾损失调查。 传统的GIS叠加要求将多个数据图层预先存储在本地计算机上, 而聚合能够直接读取分布在Web中的数据并动态地进行叠加。 聚合的概念可以追溯到Web服务的出现。 人们研究与开发Web服务的意图就是将Web服务作为编程组件, 使开发人员能将一个或多个服务器上的Web服务组合为新的应用,这其实就是我们今天所说的聚合。 在2005年之前,聚合由部分软件供应商、政府部门和研究机构所倡导,是一种自上而下的行为。 这些早期的聚合属于服务器端的聚合(图4. 3),在服务器端调用和组合多个Web服务, 这往往需要专业的编程工具和复杂的服务器端编程开发,并涉及较为复杂的服务器端的部署,工作量大。 因此,服务器端的聚合主要局限在专业程序员之间。 也因为当时的Web服务不如现在丰富,“巧妇难为无米之炊”,聚合并未马上流行起来。 尽管如此,这些相关概念和技术为后来 地理聚合 的兴盛奠定了基础。 图 4.1 在服务器端聚合架构中,聚合服务器向不同的Web资源发出请求,接收服务响应, 并合并结果。这是浏览器端API出现之前的主要聚合形式,目前仍适用于某些情形下的需要 # 目前的聚合主要在客户端进行,特别是在浏览器端完成(图4.4)。 浏览器端聚合具有草根性。 2005年,很多在线地图通过JavaScript和AJAX (异步JavaScript与XML)技术提供地图,网络用户可使用浏览器查看其源代码,一些开发人员破解这些在线地图的源代码,并构建出诸如在地图上标注房屋之类的聚合应用。 注意到聚合应用能吸引到的用户数量及其在广告方面的巨大潜力, 图 4.2 在浏览器端的聚合架构中,浏览器向不同的服务器发出请求,接收服务响应,然后合成和显示结果。 这样的聚合通常使用轻量级编程,易于应用开发,自2005年以来成为最主要的聚合形式 # 谷歌公司、微软公司、雅虎公司和MapQuest等大众地图服务商于2005年和2006年相继发布了他们的JavaScript AW。 专业GIS企业也采用了这种的技术, 例如,Esri公司相继发布了 ArcGIS针对JavaScript、Flex和Silverlight的编程接口。 这些接口显著地降低了构建 地理聚合 的工作量。 这样,得益于浏览器端聚合的简单性、供应商的支持、公众的兴趣和日益丰富的Web服务,聚合快速地流行起来。 建立了一种良好的、被普遍采用的WebGIS设计模式 众多的聚合应用表现出了一个共同的设计模式, 即由基础底图、业务图层和任务构成的优化模式(参见第2. 3. 3节), 这些部分通常用浏览器端的API集成起来。 该模式提供了一个快速而简单的WebGIS应用建构方案(Brown 2009;Brown et al., 2008)。 目前,绝大多数的WebGIS应用都是聚合,并采用了这一设计模式。 推动了 WebGIS应用开发的大众化 聚合方法是一个里程碑,它将GIS应用开发从专业人士扩展到更多人,对开发人员的技术要求很低。 聚合的简单性鼓励了公众的积极参与,为他们提供了一个展现其创造力的平台, 促进了“新地理学”和自发式地理信息的发展。 聚合应用能将家庭照片、个人崇拜的明星、球赛、奥运火炬接力、拍卖、网络摄像头、微博和新闻事件等显示在地图上。 尽管许多聚合应用没有一个清晰的商业目的,纯粹是为了好玩才做的,但它们展示了 GIS的广泛应用领域。 万维网作为你的数据库和GIS服务器 Sun Microsystems公司的John Gage于1984年就提出了“网络就是计算机”的名言,设想未来的单个计算机将能利用整个网络上分布的资源来扩展存储能力,来提高计算性能,从而超越单个计算机的能力。聚合让我们离这个设想更近一步。很多单位或项目因为资金不足,没有自己的数据库和服务器,但他们可以使用聚合这种架构,从Web上获得所需的数据、地图和分析模型。 传统的GIS应用开发往往要从自己采集或购买数据开始,而今天的GIS应用基本上不必再采集或购买基础底图, 而是采用互联网上免费的底图,即便是专题图层,很多也可以在网上找到。 聚合可以采用有正式编程接口的Web资源,也可以采用没有正式编程接口的资源,如HTML网页和照片。 这些资源包含了大量有价值的地理信息,如果能够被提取出来并用于聚合,这将有着巨大的应用潜力。 4.1.1. Web资源的重组 #
4.1.2. 服务器端的聚合与客户端的聚合 #


4.1.3. 对GIS的重要影响 #