liuhuzone

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

导语:

什么是栅格数据? 栅格数据是指以将二维平面以cell镶嵌形式进行分割的数据表达形式。 什么是矢量数据? 矢量数据是指以基本的体元(primitive)来描述形状、图像的数据表达形式。 Google地图产品线可以细分为以下三个方向: 1. Web地图 2. 移动设备地图 3. 地图API

Google地图渲染方式

关于底图数据: 1. Google地图的Web的经典版本的底图数据是纯栅格的 2. Google地图的Web的WebGL 版本的底图数据是矢栅结合的 3. Google地图的移动设备版本: iOS 上的地图目前的底图数据仍然是基于栅格数据 Android 上的谷歌地图从5.0 开始支持矢栅结合的底图数据

关于覆盖物数据: 1. 除了实时路况数据,google其他的覆盖物数据一直都是以矢量数据形式表达的

关于地图API: 1. 除了静态地图生成API,其他的地图API服务中涉及到的空间数据几乎都是以矢量数据形式表达的

为什么google在各类数据上分别选择了不同的数据格式?

Q:为什么最初的底图使用的是栅格数据,更准确地说,基于金字塔结构的栅格数据? A:说实话,tile真是一个伟大的东西,它直接秒杀了GIS界的那些学究们。当OGC委员会的大爷们还在为所谓的WMS服务如何才能够支持更多的空间语义而在推出一版又一版更加复杂的标准时,Google Maps证明了tile是一个非常简洁的方案来为公众提供基础地理信息服务。 tile优点有: 1. 兼容性极强,对于浏览器而言,只需要能够显示图片、支持css、异步传输、DOM和javascript,它就能够显示Google Maps 2. 对于服务器的负载同样很低,由于地图都是预先渲染好的,用户的请求对服务器来讲只有IO代价,而几乎没有CPU代价,相比WMS那种需要实时切图,实时渲染的机制来讲,这种设计的负载真得低了太多了。记住:还有内存数据库可以减少磁盘IO,还有浏览器缓存可以减少图片的请求。 Q:为什么覆盖物图层使用的是矢量数据? A:google提供的覆盖物图层几乎都是点图层和线图层,虽然理论上它支持多边形矢量数据的展现,但是在很长的一段时间里,其实多边形矢量数据都很少被应用(底图中的建筑轮廓最初是底图栅格数据的一部分). 常见的点图层包括关键的POI点和泛需求检索产生的麻点图 常见的线图层则是驾车路线和公交路线 Q:以上数据的特点是什么? A:数据简单、需要快速更新。做过地图渲染引擎的同学应该都了解,底图渲染是一个非常昂贵的操作,是需要计算很久滴。因此,一般底图的数据的更新频率不会特别高,几个月一次是常态(不是说渲染一次需要几个月)。而作为面向大众的互联网地图产品,POI信息,路线信息每天都可能发生改变,如果把这些数据放到底图里几个月不更新,恐怕用户要用口水吐死你的产品喽。 加之POI数据和路线数据格式简单,所以Google选择了传输矢量数据,在客户端对其进行渲染,使用VML或者SVG。
posted on 2012-03-06 22:31  刘浒  阅读(406)  评论(0编辑  收藏  举报