Route web service 的世界
Map Services(WMS,WFS) +Route plan Services(WPS)+ Route drving directions Services(WPS)+ Route Visualization Services(WPS)=Route web services

  RSS(,与Mashup的区别在于,RSS提供了可供聚合的源,Mashup实现聚合

 

什么是 Mashup,Mashup 是一种令人兴奋的交互式 Web 应用程序,它利用了从外部数据源检索到的内容来创建全新的创新服务,

地图 mashup


在这个阶段的信息技术中,人们搜集大量有关事物和行为的数据,二者都常常具有位置注释信息。所有这些包含位置数据的不 同数据集均可利用地图通过令人惊奇的图形化方式呈现出来。mashup 蓬勃发展的一种主要动力就是 Google 公开了自己的 Google Maps API。这仿佛打开了一道大门,让 Web 开发人员(包括爱好者、修补程序开发人员和其他一些人)可以在地图中包含所有类型的数据(从原子弹灾难到波士顿的 CowParade 奶牛都可以)。为了不落于人后,Microsoft(Virtual Earth)、Yahoo(Yahoo Maps)和 AOL(MapQuest)也很快相继公开了自己的 API。

 

地图聚合的数据格式前三名:KML、GeoRSS 和 GeoJSON

随着地图聚合给最终用户提供的一系列更广泛的工具和应用程序,它在完善程度和功能性两方面逐渐走向成熟。 因此,我们需要一些预定义好的方法在传统的地理空间数据和新一代的地图聚合之间交换、发布这些地理空间数据,并且使用一种对 web 友好的方式使用这些数据。

为了满足这种需求,出现了一些新的地理空间数据格式,这能够让更大范围的用户和开发者来聚合地理相关的信息。 下面是当前可供从事地理信息聚合的开发者使用的三种主要数据格式的一个概括:

KML

你知道 Google 地球的前身,那个流行的名为 Keyhole 的三维地球浏览器吗? 如果你知道,那么这个基于 XML 的,Google 地球自己的文件格式被叫做 KML,意为 Keyhole 标记语言,就不值得惊讶了。 在地理空间相关的网站上,KML 无处不在,KML 支持从类似 Google 地图、微软的虚拟地球这样商业化的地图 API 和 OpenLayers 这样开源的地图 API 中导入、导出数据。 今年早些时候,Google 把 KML 作为一种开放标准发布,并且被开放地理空间联盟 (OGC) 采用。 你可以研读最新的 KML 规范 (当前是 2.2 版) 或者学习如何让 KML 与 Google 地图 API虚拟地球或者 OpenLayers 集成。

GeoRSS

GeoRSS 提供了一种在 RSS (或者 Atom) 种子里通过特定的编码来包含地理参考信息的方法。GeoRSS 站点上说:

RSS 和 Atom 作为一种发布、共享信息的方法,正在逐渐流行起来, 因此,使用互操作的方式描述位置信息,来让程序能够请求、聚合、共享、地图化地理标记过的种子变得益发重要。

嵌入 GeoRSS 非常简单,仅仅在每个条目中增加一个类似 <georss:point>45.256 -71.92</georss:point> 这样的元素就行了,这里使用的是简易GeoRSS 格式, 如果要需要复杂完整的编码格式,可以选择支持更多的特性的 GeoRSS-GML 格式。这两种 GeoRSS 格式都支持基本的地理特征 (点、线、边框和多边形)。 和 KML 一样,商业化的地图 API 和开源地图 API 都支持 GeoRSS,并且主要作为导入数据的格式使用。 GeoRSS 许诺对整合内容的会有更好的支持。

GeoJSON

GeoJSON 是基于 JavaScript 对象表示法 (JSON)的一种新的数据格式,用来对大量的地理特征进行编码,支持的地理特征有点、线、多边形、多多边形和地理信息集合。

{ "type": "Point", "coordinates": [43.542, -118.454] }

GeoJSON 可以被 JavaScript 简单、快速的解析,而且 GeoJSON 还提供了一个可以很容易的进行交换的轻量级数据格式。 自从 GeoJSON 正式发表 1.0 版后,GeoJSON 的魅力逐渐增加,得到了包括 FireEagleOpenLayers 在内的一些流行的 API 的支持 (但是不确定将来是否能够得到类似 Google 地图或者虚拟地球这样的商业 API 的支持)。

注意 GeoRSS 和 GeoJSON 都采用创作共用授权协议授权。

我们饶有兴趣的看着这些格式如何发展,而且很想知道类似 GeoRSS 和 GeoJSON 这样的格式能否得到地图 API 和地图聚合开发者的采用。

 

3 Top Data Formats for Map Mashups: KML, GeoRSS and GeoJSON

Map mashups continue to mature in terms of sophistication and functionality, providing end users with an ever-expanding set of tools and applications. As a result, the intersection between traditional geospatial data and these new map mashups requires well defined ways to transfer, distribute, and consume geospatial data in a web-friendly way.

Some new geospatial data formats have emerged in response to this need, enabling a broad spectrum of users and developers to mashup information in a geographic context. Here is a rundown of the three primary formats for geo- mashup developers today:

KML

Did you know that before it was known as Google Earth, the popular 3D globe viewer was named Keyhole? So it should come as no surprise that KML stands for Keyhole Markup Language, Google Earth’s native file format which is based on XML. KML has become ubiquituous in the geospatial web, with support for import/export from commercial mapping APIs such as Google Maps, Microsoft’s Virtual Earth, and open source mapping APIs such as OpenLayers. Earlier this year, Google released KML as an open standard that was adopted by the Open Geospatial Consortium (OGC). You can read up on the latest spec for KML (version 2.2 at present) or learn more about how to integrate KML with the Google Maps API, Virtual Earth, or OpenLayers.

GeoRSS

GeoRSS provides a way for including geographic reference information in RSS (and Atom) feeds via specific encoding. According to the GeoRSS site:

As RSS and Atom become more prevalent as a way to publish and share information, it becomes increasingly important that location is described in an interoperable manner so that applications can request, aggregate, share and map geographically tagged feeds.

Including GeoRSS is as simple as adding one element per item, such as 45.256 -71.92 using the GeoRSS-Simple format, to much more complex encoding using the GeoRSS-GML format, which supports a greater range of features. Both GeoRSS formats support basic feature geometries (points, lines, boxes, and polygons). As with KML, commercial and open source mapping APIs have support for GeoRSS, primarily as an import data format. GeoRSS holds a lot of promise for mapping of syndicated content.

GeoJSON

Based on JavaScript Object Notation (JSON), GeoJSON is a new data format for encoding a wide variety of geographic features, including points, linestrings, polygons, multipolygons, and geometry collections.

{ "type": "Point", "coordinates": [43.542, -118.454] }

GeoJSON can be easily and quickly parsed in JavaScript, and it provides a lightweight data format that can be easily transferred. Since its formal release as version 1.0, GeoJSON has gained traction, and some popular APIs, including FireEagle and OpenLayers already support the format (it is uncertain whether commercial APIs such as Google Maps or Virtual Earth will support it in the future).

Note that both GeoRSS and GeoJSON are licensed under Creative Commons Attribution licenses.

It will be interesting to see how these formats evolve, and we’re curious to see whether formats such as GeoRSS and GeoJSON will garner more widespread adoption among map API providers and map mashup developers.

 

Mapping Mashups and APIs, The Big Picture

 

Google MapsMap mashups are so popular and are such a quintessential use of online APIs that a lot of people incorrectly assume that all mashups use maps. It's no wonder. The first real use of the phrase "web mashup" in this new era can be traced back to Paul Rademacher's HousingMaps.com built in early 2005 shortly after the Google Maps service was released (but before Google even had an official API). Paul created a popular service that used real estate data from Craigslist and plotted property listings on Google maps to make something genuinely more useful than the sum of the parts.

Today, just a couple years later, the online mapping space has exploded. Competition is fierce, the stakes are very high, and most of the major online service providers offers a mapping service for users and a mapping API for developers. It's a multi-billion dollar market that overlaps with online search, local advertising and is applicable to vast range of commercial applications.

If you filter the APIs on ProgrammableWeb you can see there are over 50 APIs related to mapping and geo-location. That's a lot of mapping-related APIs and constitutes about 10% of all the APIs listed at ProgrammableWeb. They may not all be what you expect. Here's a breakdown for you:

The Big Players

The ones you expect: the Google Maps API, Yahoo! Maps API, Microsoft Virtual Earth API, AOL MapQuest API (and not to forget GIS encumbent ESRI ArcWeb). Each of these major vendors offer developers a free level of service as well as fee-based commercially licensed options.

Other Commercial Competitors

These for-fee services include Pushpin is a an enterprise-friendly licensed offering with advanced GIS features such as custom layers along with Google API compatibility. The BigTribe API provides a service for location-based advertising. The deCarta API, formerly Telcontar, offers many features of interest to commercial applications like routing. The Where2GetIt SlippyMap API offers a JavaScript-free way to code maps. GlobeExplorer offers this API with access to the world's largest database of aerial and satellite imagery.

Specialized Startups

Competitors in this category include the GeoIQ API for rich data visualization that builds on top of Google Maps. The HopStop API lets you integrate mass-transit and walking directions into your own website. For "personal geography" and social community mapping there's the Platial API or the WayFaring API. If you want maps that understand neighborhoods you could use the Urban Mapping API. Share your location and discover others nearby with the Plazes API. Get 3D mapping capabilities with the Poly9 FreeEarth API. Or, a bit more unusual is the Where's Tim API that let's you track the location of Tim Hibbard 24x7.

Open Source Tools

OpenLayers open source JavaScript mapping library initially developed by MetaCarta. If you want to write a single set of code that spans multiple mapping APIs you might want to try Mapstraction, a JavaScript library that provides a common API to Google, Yahoo! and others.

Geocoding Services

These essential services turn addresses into latitude and longitude: geocoder.us, geocoder.ca, Ontok and Yahoo! Geocoding (note that Google and others now offer geocoding within their own mapping APIs).

Government sponsored

This includes APIs like the USGS Elevation Query Service from the Geological Survey returns the elevation in feet or meters for a specific latitude-longitude point. NASA provides mapping images via their satellite image API.

Global Services

The European mapping leader is the Multimap, down under in Australia and New Zealand there's the Whereis API and ZoomIn API, and in Korea you'll want to use the Naver Maps API. There's also the Nearby.co.uk geocoding API and also for the UK is the iShareMaps On Demand API that geocodes UK addresses to a postcode level.

There are many thousands of maps mashups out there and we're now up to a catalog of 1100+ map mashups listed here.

 

 

 

 

 

posted on 2009-03-12 18:49  xiaomoon  阅读(756)  评论(1)    收藏  举报