GIS地图图片服务(转载)

来源:互联网 发布:淘宝怎么找同款店铺 编辑:程序博客网 时间:2024/04/28 23:02

按照地图图片的尺寸大小,可分为两类:瓦片(切片Tile)式的正方形256*256(或512*512等)大小的地图图片,按照一定规则拼接组成地图;没有固定大小的,根据给定的大小和位置信息,随机的实时生成一幅整张的地图图片。按照地图图片的生成时间,可分为两类:在用户访问前,预先生成,缓存起来等待调用予以显示;在用户访问时,才实时的动态的予以生成,从而呈现。

 

类型

瓦片(切片)

整块(不切片)

实时生成

实时瓦片地图

实时整块地图

预先缓存

缓存瓦片地图

X

 

排列组合一下,理论上共有4种地图图片的类型,但实时的图片是随机的,不可能预先进行缓存,因此去掉一种可能性。如图所示,有三种组合,不再逐一解释。(这个分类思想和组合,或许你在SuperMapiClient系列产品的帮助文档看到过J)至于名字怎么叫,可以讨论,文中也会有所涉及。我们来看看各个服务商提供了哪些地图图片服务。

 

Google Maps:尽管可以我们访问的GoogleMaps肯定是缓存瓦片地图服务的形式,但它的API中却没有开放“瓦片地图”服务的接口,不管是“实时的”还是“缓存的”。尽管我们可以通过分析URL规律,获取到每张瓦片(Tile)的地址,然后经过算法组织拼接来进行显示,但这并不符合GoogleMaps的条款。和谷歌的代理沟通过,似乎企业版目前也没有合适的方式。

 

对于“实时整块”地图服务,Google Static MapsAPI服务通过HTTP请求可以实时创建你所需要的地图,比如设定位置、显示区域、大小、缩放级别,甚至可以添加标记、路线等,相对功能完善。而且通过计算,用这种方式来模拟“实时瓦片”地图的呈现方式,但你知道,这又麻烦,性能貌似也受影响。其中我比较想不通的为什么叫“Static”,这明明是动态Dynamic生成的吗?不过BingMaps也叫这个名字。

 

Bing Maps:很明确的在Imagery服务中分出三个:Static Map、ImageryMetaData、Imagery Data。Static Map类似Goolge StaticMap提供“实时整块”地图服务,ImageryMetaData用来获取地图图片的元数据,包括瓦片地图URL的模板,瓦片的尺寸,缩放范围,版本,图片的可获取性,图片的年份(特别是卫星照片的拍摄?)等。ImageryData其实是ImageryMetaData返回信息中的一部分。对于鸟瞰图,元数据信息稍微有些差别,暂略过不关注细节。

 

重点在于,通过ImageryMetaData可以得到“片地图URL的模板”,然后通过“BingMaps TileSystem”我们可以获取所有的Tile,也即间接获取“缓存瓦片”地图服务。而这个是微软所允许的,也是它推荐的方式。这也是为什么OpenLayers可以优雅的集成BingMaps,Esri也可以。但对于Google,大家都比较犯难。

 

Esri:ArcGISServer及其API提供了TiledMapServiceLayer和DanymicLayer两种图层,对应的是“缓存瓦片”地图服务和“实时整块”地图服务。其中DanymicLayer基本上和GoogleStaticMaps一样,你也可以把WMS看做类似的服务。同理,也可以通过一定的计算,用DanymicLayer来模拟“实时瓦片”地图服务。勤奋的菩提老王已经在他博客里探讨过DanymicTileLayer。

 

SuperMap:从种类上来看,完全内置了以上三种服务, TiledDynamicLayer(实时瓦片地图服务)、TiledCachedLayer(缓存瓦片地图服务)和 DynamicLayer 实时整块地图)。

 



本文我们从地图图片服务的分类入手,并观察了当前部分地图服务厂商所提供服务的完备性。当然我们略过了比较会引起争议的所谓性能等优劣之争。综合而言,我所期待的地图图片服务应该至少包含以下4个方面,并且应该有着可以比肩GoogleMaps、Bing Maps的性能标准。


1:元数据服务:向BingMaps学习,提供关于地图图片或遥感影像或假三维图片的信息。

2:实时整块地图服务:包含视野、大小、标记、路径等,GoogleMaps做得很不错;甚至是地图风格的设置。

3:缓存瓦片地图服务:要学习BingMaps的开放,放开自己的数据让人可以访问,构建真正的地图服务平台。很多人有自己的分析服务,欠缺的是稳定的基础地理数据底图。

4:实时瓦片地图服务:这个可以向SuperMap学习。

#arcgis server
0 0