针对国内地图服务提供商所提供的Web地图服务,从各个技术细节评述其差异。我每天婆婆妈妈的更新几点,也希望大家帮助补充、纠正。过一段时候再进行系统的整理一下。
地图服务提供商有:
序号 |
公司 |
产品 |
网址 |
1 |
腾讯 |
map.qq |
http://map.soso.com/-->http://map.qq.com/ |
2 |
百度 |
map.baidu |
http://map.baidu.com/ |
3 |
高德 |
ditu.mapabc |
http://ditu.mapabc.com/ |
4 |
图吧 |
mapbar |
http://www.mapbar.com/ |
5 |
搜狐 |
map.sogou |
http://map.sogou.com/ |
6 |
天地图 |
mapworld |
http://www.tianditu.com/map/index.html |
1. 地图展示的空间区域----全球,还是中国全境?:
仅有天地图一家提供全球地图服务,效果是这个样子的:
仅对一些国家、局部地区提供了详细地图,但地图的详细程度还不够,比例尺级别与中文地图比,差了好几个leve呢。
这些数据时哪里来的??为什么只能渲染一小块区域呢?
我想,还是技术有差距吧,无法短时间渲染全球数据,如果要渲染中文、英文两版,再区分球面坐标地图,平面坐标地图,一共4套图需要更新,工作量太大,没有很好的技术支撑,是难以完成的。况且,如此大的瓦片量(应该在数十亿的级别了)管理也需要一定技术。
2. 地图比例尺级别范围----以google的瓦片分级规则最为参考:
为什么将比例尺级别范围独立列为一项衡量指标?比例尺的级别范围体现了一个公司对网络地图生产技术掌握程度的一项硬指标。
还记得 2011年,百度郑重宣布:发布最大比例尺为19级的地图!百度地图的19级是个什么概念呢?还是以google的基准做对比吧。google地图的比例尺级别从0级开始计算;百度则从1级开始计算。对比之下,百度最大的级别比例尺仅仅相当于google的18级大一点点(18.2)。可这个效果,sogou早就实现了!百度实现的最大比例尺与sogou无多大差异,让我联想啊:百度的技术与sogou有多大渊源呢?技术人员有流动?
许多人对比例尺级别指标的重要程度不理解。试想一下,如果比例尺级别增长的倍率为2,则理论上讲,瓦片量要增加4倍! 瓦片量增加所引发的绝不仅仅是存储问题,背后实瓦片生产技术才是最关键。如果17级的瓦片生产需要10天,而18级的瓦片则需要40天左右。地图的更新频度如何保证呢?
所以,Nokia的here, Google Map能提供20级比例尺地图,我才如此咂舌,想尽办法研究其被背后隐藏的各种技术。
大家不要妄想使用成熟的商业软件就可以完成看似简单的网络地图生产过程。非传统的GIS软件商(Arcgis, MapInfo, SuperMap)目前还都没给出完美解决方案。这需要地图服务商进行方方面面的定制开发。从数据处理,到渲染,再到成图,最后服务部署都需要进行定制化,才能满足如此大量地图的生产需求,达到一周内全域地图更新能力。
下表是 2013年 11 月 28 日,国内各地图服务上所提供的地图最大比例尺级别(均以google地图比例尺划分规则为准):
服务提供商 |
最大地图比例尺级别 |
soso |
18 |
mapabc |
18 |
mapworld |
18 |
sogou |
约 18.2 |
baidu |
约 18.2 |
mapbar |
约 17.8 |
3. 建筑物3D草图
针对建筑物,有3D草图的效果展示,则可以清晰的辨别出其外观形状、相对周围建筑物的高度等,地图的真实感更加强烈,搜索目标变得更为容易。
以下为效果对比图,网站数据采集时间为:2013年 1月 22:40~23:10
供应商 |
3D草图 |
评测项 |
soso |
|
3D草图效果: 有 建筑物分割线:有 绘制顺序:道路在下,建筑屋面在上 透视效果:较好 |
mapabc |
|
3D草图效果: 有 建筑物分割线:有 绘制顺序:道路在下,建筑屋面在上 透视效果:不明显 |
mapworld |
|
3D草图效果: 有 建筑物分割线:有 绘制顺序:道路在上,建筑屋面在下 透视效果:无 |
sogou |
|
3D草图效果: 无 建筑物分割线:有明显的经线、纬线两个方向的分割线。 绘制顺序:道路在上,建筑屋面在下 透视效果:无
(模糊中记得曾经有3D效果。 我勒个去,2013年12月5日晚21:15又发现此处有3D效果。闹哪样?) |
baidu |
|
3D草图效果: 有 建筑物分割线:有 绘制顺序:道路在下,建筑屋面在上。 透视效果:未发现明显透视效果。 |
mapbar |
|
3D草图效果: 有 建筑物分割线:有明显的经线、纬线的分割线。 绘制顺序:道路在下,建筑屋面在上。 透视效果:很好。 |
六家中,仅Mapworld、sogou没有提供3D草图,有点出乎意料。这两个团队,不至于这点技术都无法突破。
透明效果的处理,mapbar做的最好,在与道路等其他信息交叉时,能同时展现道路形状、走向。
建筑物拔高处理,大家可以看看中央电视塔的显示效果,图吧、百度展示的高度是够威猛的,可现实中的中央电视塔不是上下一样粗吧? soso, mapabc展示的高度有点低。
mapbar的建筑物分割线十分明显,应该是前期数据制作留下的遗憾,绘制时无法弥补这种缺陷了。估计,如果不做这种分割,其他方面的效果、效率又无法满足吧?
4. 道路绘制
立交层次关系:原始数据中有层次关系,但在绘制地图中想完美表达,需要在数据与处理上功课做足了。
名称文字旋转:沿线标注文字,可随线走向旋转--垂直或平行于线。目前有些网络地图的道路文字绘制无法做到旋转,文字正南正北绘制。
符号密度:为保证浏览者的信息连贯性,在一screen范围内,一条道路至少有一个注记出现比较合理。但相反出现过多,则侵占了其他信息占位,给浏览者带来干扰性。
这一项,
baidu地图做的不够好,中道路编号的密度太高。
mapabc在小比例尺地图中道路注记太少。
密度控制技术没过关?
单行线:高速道路路都为上行、下行两条线,可明确识别其行驶方向,所以不必绘制单行线;针对JCT, IC以及其他普通道路,绘制单行线则有很好的指示意义。
这一项,
baidu做的不够好,单行线符号太少,
缺失严重。
符号交叠:符号间不能压盖,又要有一定间隙避免混淆,相同符号尽量均匀分布。 文字、Icon等都应避免在道路立交处出现,否则该如何断定其标示的是哪条道路呢?
这方面细节,
sogou一直做得不够好,文字、Icon、标识牌、单行线等符号出现很多交叠现象,一条道路的一个文字注记有扭转过度情况(汉字旋转角度接近90度,人要扭着脖子看么?),应该是算法上的一个硬伤吧。
注记识别度: 是否可以与其他信息明显区别呢? 比如,字体较大,色彩较重、艳丽。
文字晕线:在文字周围以不同于文字的颜色做背景或边线,以凸显文字。
但晕线的粗细、颜色选择影响文字的美观度。建议晕线颜色与背景保持一致,否则道路线颜色、文字颜色、晕线颜色三种同时出现,很乱。
道路连接:在IC, JCT以及不同等级道路的连接处,是否将道路的连通性很好表达?有时道路边线将连通性打断,给浏览者误解。
这一项,
mapworld做的不够好。
效果剪切时间: 2013年12月5日 16:20, 于北京。
服务提供商 |
地图截屏 |
效果评测项 |
soso |
|
立交层次关系:有 名称文字旋转:有 名称文字:较稀疏。 道路编号:有与名称在一起沿线旋转排列,也有独立符号存在,为什么呢?是数据中如此? 单行线符号:仅普通道路有,比较密,,色差小不够清晰。 注记识别度: 高。 文字晕线: 有。 道路连接:很好。 |
mapabc |
|
立交层次关系:有,错误率较高 名称文字旋转:有 名称文字:较疏 道路编号:有独立符号 单行线符号: 普通道路与高速都有,稀疏,清晰。 注记识别度: 高。 文字晕线: 有。 道路连接:很好。 注记密度:适中。 |
mapworld |
|
立交层次关系:有 名称文字旋转:有 名称文字:较疏 道路编号:有独立符号 单行线符号: 普通道路与高速都有,稀疏,清晰。 注记识别度: 一般。 颜色与道路一样,文字晕线不同,这样文字与道路的色差不大,难于识别。 文字晕线: 有。 道路连接:在JCT上做的不够好,很多情况JCT与高速连接处,被高速线阻断。平头线不是好选择。 注记密度:适中。 |
sogou |
|
立交层次关系:有 名称文字旋转:有 名称文字:较疏,与路口有严重压盖现象 道路编号:有独立符号,感觉过密 单行线符号: 仅普通道路有,稀疏,清晰。 注记识别度: 高。 文字晕线: 有。 道路连接:很好。 注记密度:适中。 |
baidu |
|
立交层次关系:无 名称文字旋转:有 名称文字:较疏,与路口有严重压盖现象 道路编号:有独立符号 单行线符号: 相当少,似乎仅仅想在道路交叉、出入口处进行标示,但效果不佳,指示性不强。 注记识别度: 高。 文字晕线: 有。 道路连接:很好。 注记密度:过密,单一图面相同信息太多。 |
mapbar |
|
立交层次关系:有 名称文字旋转:有 名称文字:较疏,与路口有严重压盖现象 道路编号:有独立符号 单行线符号: 仅普通道路有(JCT无),稀疏,清晰。 注记识别度: 高。 文字晕线: 有。 道路连接:很好。 注记密度:过密,单一图面相同信息太多。 |
5. 水系背景绘制
以茶卡盐湖为示范区,但mapbar例外: 因为逐级放大后,茶卡盐湖丢了!mapbar数据怎么处理的?放大之后屏蔽了?
注记出现级别:要求在水系已经显示,并有较大范围,且足够容纳注记文字时,应绘制注记文字。但在很大比例尺时,虽面积还不够容纳所有注记文字,也应进行注记文字绘制。
注记文字大小:因水系的注记文字绘制以水系为背景,周围很难出现其他符号进行占位,所以可进行较大文字绘制,使其更加醒目。
注记文字耸肩效果:一般,在地图行业中,水系的文字都以向右耸肩效果绘制。
注记密度:在较小比例尺时,一个注记就可起到标识作用,但在比例尺放大后、水系分散情况下,需要多个注记进行标识。但在很大比例尺时,可以不进行太多注记绘制,因浏览者已经在小比例尺下确认了水系名称。
小比例尺抽稀:在小比例尺下,水系的边界显得更加破碎,不美观。可加大抽稀力度并加以平滑,只保留水系的大致位置、平滑边界、屏蔽繁杂支流即可。
可见性控制:在小比例尺下,水域面积虽大,但很破碎,可不进行显示。
注记位置: 应在较大水域面上,而不是落在支流、边界附近。(看看密云水库的效果)
颜色纹理:是否纯色?还是使用纹理?此项影响图像文件的压缩比率、存储效率。
水系背景效果比测 (数据采集: 2013年112月7日晚19::00左右)
地图服务提供商 |
效果截图 |
评测项 |
soso |
|
注记出现级别:较晚。
注记文字大小:太小。
注记文字耸肩效果:无。
注记密度:过于稀疏。
小比例尺抽稀:很好。
可见性控制:很好。
注记位置:较合理。
颜色纹理:纯色,压缩后png文件大小:103BYTE
|
mapabc |
|
注记出现级别:早,比较好。
注记文字大小:适中。
注记文字耸肩效果:无。
注记密度:过于稀疏。
小比例尺抽稀:很好。
可见性控制:出现较晚。
注记位置:较好。
颜色纹理:纯色,压缩后png文件大小:103BYTE
|
mapworld |
|
注记出现级别:较晚。
注记文字大小:偏小。
注记文字耸肩效果:向左耸肩?
注记密度:较好。 不是山脉或道路,为什么使用散列方式文字注记?很不喜欢。
小比例尺抽稀:很好。
可见性控制:很好。
注记位置:较好。
颜色纹理:纯色,压缩后png文件大小:103BYTE
|
sogou |
|
注记出现级别:较早。
注记文字大小:大而醒目。
注记文字耸肩效果:有。
注记密度:很好。
小比例尺抽稀:很好。
可见性控制:很好。
注记位置:很好。
颜色纹理:小比例尺纯色,压缩后png文件大小:156BYTE。大比例尺使用纹理。
为什么要使用纹理呢?不明白。
大比例尺显示还有严重bug: 在银川附近,有不显示黄河的瓦片。
使用8BIT DEPTH,为了兼容某些浏览器么?
|
baidu |
|
注记出现级别:
太晚了!那么大级别后才有注记,还有多少标示意义呢?
注记文字大小:大。
注记文字耸肩效果:向右耸肩。
注记密度:太稀疏。
小比例尺抽稀:非常好。
可见性控制:不够好。(茶卡盐湖出现太突兀)
注记位置:--
颜色纹理:小比例尺纯色,压缩后png文件大小:197BYTE。
|
mapbar |
|
注记出现级别:太晚。
注记文字大小:大而醒目。
注记文字耸肩效果:无。
注记密度:较好。
小比例尺抽稀:非常好。
可见性控制:不够好。(密云水库出现比例尺控制不够好)
注记位置:很好。
颜色纹理:小比例尺纯色,压缩后png文件大小:106BYTE。
mapbar使用了300*300的瓦片,而不是公认的256*256。
做地图渲染的老大,果然国内主流与众不同啊。
|
6. 注记布局
注记:将文字、Icon等标示目标的符号,统称为注记。
密度控制: 在一个图面上,不能布满注记,让浏览者无从分辨。也不能寥寥无几,标示性太差,适中即可(这说起来太虚,但我实在无法用定量性言语表达)。
区域索引性:浏览者想从整幅图中直接找到具体目标是十分困难的,需要根据注记的层次,逐步搜索到自己的目标。例如:用户想找海淀区、上地、上地三街、嘉华大厦旁的一个鸿毛饺子,如果图面上有字体很大的【海淀区】注记,并发现字体较大的【上地】,再从道路名称中分辨出【上地三街】,又发现大厦标识的Icon【嘉华大厦】,最后在其周围搜索鸿毛饺子馆。
抗压盖性:注记间不能压盖,否则造成阅读困难。但,有时文字可对Icon进行压盖。
布局整洁性:例如,统一将注记绘制在目标点的右侧;道路旁的POI注记都绘制在路的两侧。
Icon指示性:有丰富的Icon表达不同的目标。例如:餐饮类、银行类,Icon的样式与实际十分吻合,让浏览者看到Icon即明白目标类型。
缩放连贯性: 放大过程中注记不消失; 放大后注记的位置不能变化;放大的过程中,注记的色调、大小不能变化太突兀。
信息重复性:由于信息来源不同,可能存在对同一地图进行了多个注记绘制。例如baidu对北京北海的注记就有多个,此种情况的原因:一个来源于面,一个来源于POI,未做多源信息间的挂接,如果不显示POI类型的注记,热区响应中缺失对应POI。
注记效果对比 (
效果剪切时间: 2013年12月19日 于北京)
地图服务提供商 |
效果图 |
评测项 |
tencent |
|
密度控制: 较好。
区域索引性:有商圈、社区、重点景点等突出性显示
抗压盖性:非常好
布局整洁性:注记尽量右标,但未避让道路,有注记压盖道路现象。
Icon指示性:Icon多为灰色,仅发现医院、停车场做了颜色区分。
缩放连贯性:很好
信息重复性:对于社区、景点等有重复。
|
baidu |
|
密度控制: 较好。
区域索引性:有商圈、社区、重点景点等突出性显示
抗压盖性:非常好
布局整洁性:注记尽量右标,与较高等级道路做避让,但未避让较低等级道路,仍有注记压盖道路现象。
Icon指示性:Icon以灰色调为主,餐饮、银行、医院、停车场等做了颜色区分。
缩放连贯性:很好
信息重复性:对于社区、景点等有重复。
|
mapabc |
|
密度控制: 较好。
区域索引性:有商圈、社区、重点景点、地标性建筑的等突出性显示
抗压盖性:非常好
布局整洁性:注记尽量右标,未避让道路,有注记压盖道路现象。
Icon指示性:Icon以灰色调为主,餐饮、银行、医院、停车场、景点等做了颜色区分。
缩放连贯性: 不好,村庄在放大过程中有消失现象。(例如:北京的沙窝村、团结湖公园)
信息重复性:对于社区、景点等有重复。
到处是
停车场、厕所,这类信息需要标注太多么?
|
mapbar |
|
密度控制: 较好。
区域索引性:有商圈、社区、医院、政府等突出性显示
抗压盖性:非常好
布局整洁性:注记尽量右标,未避让道路,有注记压盖道路现象。
Icon指示性:Icon以灰色调为主,KFC、医院、景点等做了颜色区分。
缩放连贯性: 很好
信息重复性:对于景点重复做了一定处理,但社区重复性未处理(霞光里小区)。
|
sogou |
|
密度控制: 一般,停车场密布出现过早,整个图面都被停车场占了,有点乱糟糟的。
区域索引性:有商圈、社区、地铁站等突出性显示
抗压盖性:非常糟糕。POI与自己的ICON间有压盖,POI与道路的标识性注记也有压盖,POI间还有压盖。
布局整洁性:注记尽量右标,未避让道路,有注记压盖道路现象。
Icon指示性:Icon的形状单调,颜色单一。
缩放连贯性: 很好
信息重复性:未对景区、社区等区域做重复性处理。
sogou的
注记做的基本是最差的,因为
压盖实在太严重,而且密度控制也不够好。颜色乱杂,
一个图面上如果有
过多的注记色彩,用户是无法找到重点的。
|
mapword |
|
密度控制: 一般,缩放过程中,密度有变化太突然的情景。
区域索引性:无商圈、社区等突出性显示
抗压盖性:很好
布局整洁性:注记尽量右标,未避让道路,有注记压盖道路现象。
Icon指示性:Icon的形状丰富,颜色较单一,仅政府性POI做了色彩处理。
缩放连贯性: 一般,放大过程中,有消失现象(北京的北海公园)
信息重复性:对景区等区域做重复性处理。
|
7. 动态交通
交通状态: 一般分为畅通、缓慢、拥堵是那种,至于
无状态是否进行表达仁者见仁智者见智了。灰灰的无状态表达出来,并不利于浏览者获取信息。
更新频率:还不太清楚各个服务提供商的动态交通信息来源的更新频率,以及服务上针对瓦片的更新频率(完全动态生成,还是请求时再生成呢?)
注记悬浮:当动态交通图贴在地图上显示时,会压盖住地图的注记。需要再将注记绘制到动态交通图上,但如何保证与地图完全匹配好,则需要保证地图与动态交通图绘制的逻辑完完全全一致才行,如果注记绘制有随机性,就无法实现这个效果了。
还有一种解决方法,将动态交通图绘制为半透明,sogou曾使用过这个方法。
将注记混合再输出,还要动态生成交通图,的确对技术要求非常高,绘制效率、PNG图片生成效率都是个瓶颈,如果不是靠硬件堆积出来的效果,的确值得敬佩。
瓦片格式:大家都采用了PNG格式,但像素深度有8、32BIT之分,其实8BIT的PNG,在某些浏览器上的透明效果无法展示。
线分离:在小比例尺时显示动态交通图,需要绘制沿道路的平行线,避免上行、下行两条线重叠。
路况推测:需要针对历史数据进行分析,推测出一周中的每一天、每个时段交通状态。
交通事件:是否展示了事故、施工、管制等几种交通事件。
动态交通效果对比(
效果剪切时间: 2013年12月24日 09:01于北京)
地图服务提供商 |
效果图 |
评测项 |
tencent |
|
交通状态: 畅通、缓慢、拥堵、无状态。
更新频率:
注记悬浮:无
瓦片格式:PNG, 8 BIT, 256*256
线分离:很好
路况推测:推测一周七天中,各个时段的路况信息
交通事件:有
|
baidu |
|
交通状态: 拥挤、缓行、畅通。
更新频率:
注记悬浮:很好
瓦片格式:PNG, 32 BIT, 256*256
线分离:很好
路况推测:推测一周七天中,各个时段的路况信息
交通事件:有
|
mapabc |
|
交通状态: 拥挤、缓行、畅通。
更新频率:
注记悬浮:无
瓦片格式:PNG, 32 BIT, 256*256
线分离:很好
路况推测:推测一周七天中,各个时段的路况信息
交通事件:无
最大比例尺不提供动态交通图,动态渲染效率不够好吧?
|
mapbar |
|
交通状态: 顺畅、缓慢、拥挤、无数据。
更新频率:
注记悬浮:无
瓦片格式:PNG, 32 BIT, 300*300
线分离:小比例尺下,基本没分开。
路况推测:无
交通事件:无
|
sogou |
|
交通状态: 堵、慢、通、无。
更新频率:
注记悬浮:很好
瓦片格式:PNG, 32 BIT, 256*256
线分离:很好
路况推测:无
交通事件:有
|
mapword |
|
无
|
8. 卫星影像与道路注记透明图