很久之前从网上看到了QQ同时在线人数的flash地图,就想在超图桌面产品中制作一幅类似静态效果的地图,但一直苦于没有合适的数据来展现。皇天不负有心人,前不久从同事那里获得到一份北京各个地点微博登录人数的数据,貌似可以用来制作类似“星光闪闪”的地图,今天花了点时间小试了一把,成图效果如下:
图1 地图效果示意
效果貌似还不错,那接下来就把这幅地图的制作过程分享一下,希望能对有此制图需求的读者有所帮助。
使用超图桌面产品版本:SuperMap iDesktop 8C。
使用数据:点数据集:BJ_CHECKINS_SINA_WEIBO(北京微博登录数据),
面数据集:County_R(北京行政区划面)
步骤一:地图背景的设置。
QQ同时在线人数地图(后面简称QQ在线地图),使用的是夜视模式,在这里,我们也采用同样的夜视效果。如图2所示,有两个需要设置颜色风格的地方:
①County_R北京行政区划面的填充风格设置;
②地图背景颜色的设置。
图2 要设置颜色风格的区域示意
这两个颜色直接选取QQ在线地图上的色彩就可以。iDesktop
8C和QQ在线地图同时打开在屏幕上,使用iDesktop
色板中提供的取色器,直接拾取颜色。如图3所示。
为了能看出北京的行政区划界线,可以将面区域边线的颜色设置的稍浅一些。线型还是采用实线填充。
步骤二:专题图制作
所有的微博登陆记录,都存储在点数据集BJ_CHECKINS_SINA_WEIBO的checkin字段中,Checkin中的数值从1到几千不等,为了表现其整体分布情况,我们采用范围分段专题图,不同的段值区间使用不同的颜色来区分。
将BJ_CHECKINS_SINA_WEIBO数据集添加到当前地图窗口,并对其制作范围分段专题图。范围分段专题图的具体参数值设置,如图4所示。
图4 范围分段专题图参数示意
解释几个参数的设置:
分段方法采用“自定义分段”的方式,是根据checkin字段中字段值的特点(几个到上千不等),分为14段,手动调整了每个段值区间。
颜色方案选择了系统默认提供的蓝白的渐变,颜色越浅趋于白色,说明当前地点微博登陆的人数越多。
为了有透视感的效果,对每个分段的颜色风格都做了不同程度的透明度设置。例如最后一个段值2000\<=X\<=max,它的颜色值中,设置了Alpha的数值。
图5 设置颜色的Alpha值
注意:8C桌面中,要设置颜色值中的Alpha数值,需要先开启地图属性中的“Alpha通道”。
- 点数据量较大,为了保证地图的浏览效率,采用了默认点符号,符号大小也是默认数值。自己在制图过程中,可以设置为符合数据需要的符号和大小。
步骤三:其他相关设置
- 设置对象显示顺序
因为点数据量较大,在地图缩小时,登陆数值较高的记录有可能会被其他数值小的点所压盖,如图6所示。
图6 默认地图效果
SuperMap中的显示原则是:按照绘制的顺序显示,当对象有叠加的时候,先看到的是最后绘制的对象,也即SMID最大的那个对象。默认的对象显示顺序,是按照SMID的升序显示的。
那如果存在如图6所示的问题,该如何解决呢?
设置“图层属性“中的“对象显示顺序字段”即可。默认也是按照升序的方式,可以根据需要设置为降序。本示例中,设置对象显示顺序字段为”checkin“之后,地图效果就如图7所示。
图 7 调整对象显示顺序后的地图效果
- 开启线型反走样
虽然我们在范围分段专题图中设置的为点符号的风格,没有涉及到线,但当给定的符号大小够大时,在地图上符号显示时符号的边缘仍旧会有锯齿状存在,如图8所示。
图8 未开启线型反走样
此时,建议开启”地图属性“中的”线型反走样“,锯齿能得到明显的改善,如图9所示。
图 9 开启线型反走样设置
至此,“星光闪闪“的地图制作完成了,效果即如1所示。当然,我们还可以为地图手动添加上名称、图例等,让信息表达的更明确,如图10所示。
图 10 最终效果图