假日狂想-引线注记

     注记在可视化表达中是一种非常重要的手段,其用于携带目标要素必要的说明信息。

      注记其实是一种图形化表达的补充手段,因为在我看来,图形图像适于表达的是中尺度信息---也就是比单元信息更概括,比总体信息更具象,也是大部分人类经验保存的尺度,存储原子类的信息需要大量的存储空间,这不现实;只记忆总体信息,也没什么意义;比如说阅读一本书,你不可能记忆每一个字,对常人来说难度很大,但是如果只记一个书名也是没有意义的。那么对于图形图像表达不适用范围内的这部分信息我认为是使用注记表达的最佳区间。

      注记在地图可视化表达中是相当复杂的一种存在,根据不同的要素类别就分为点标注、线标注以及面标注,这些标注还需要能够自适应比例尺进行标注的抽稀,保持清爽的图面,同时有需要能够保存关键信息,这也是为什么ArcGIS为此专门搞了个Maplex引擎,用来专门处理注记。对于二维的注记一般都是使用canvas来实现,目前来说这个是一种最佳实践吧,在三维场景下的注记一般会采用内建广告板和图元贴图的方式分别来实现可缩放和固定大小两个版本的注记,总的来说是够用了。但是在实际使用中,这两个还是存在明显的缺陷,这两种方式只能接收one-time的canvas,image这些类别,在动态方面还是不够灵活,还会存在模糊的问题;尤其在大屏方面我觉得这两种实现方式都及其不优雅(当然也有做的很优雅的,之前看过一个招商展示的项目,整个项目应该是设计人员驱动的项目,画面构图十分舒服),对于普通的开发者来一般的二维可视化还是没什么大问题的,大不了就用用Echarts Bootstrap这些库,还是有基本的审美底线的,但是对于三维这一块开说想弄得好看并不是很容易:1、轮子少;2、过程复杂。这也是为什么说三维开发领域只有菜鸟和大牛,能在这个方面坚持下来的并不多。趁着五一放假的间隙,我就在想是否能够使用一种过渡性的技术来解决目前三维注记表达的问题,丰富注记的选择,同时减少开发的难度,对二维开发者友好。使用DOM的Marker在MapboxGL中是一种不错的方案 这种方案可以用于所有的其他类型的引擎,这个我也做过 也比较简单,当然其中也有一些小trick,后面抽空我也会分享出来。这种DOM Marker即表达了位置也可以利用div+css这种组合形成丰富的展现,但它是需要不断更新位置来进行动态跟随的,我觉得这个行为可以改善一下,可不可以marker不动,使用一种引线来进行目标和说明信息的连接 从而达到明晰表达的目的。在view更新过程中只更新引线就可以了,对于那种版面更新较少的应用,将会是一种不错的思路,基于这个思路结合我意淫的环境监测场景我做了一个小小的demo,各位看官可以评价一下这个方案如何,期待给位的宝贵意见(后期代码会整理到github中)。

你可能感兴趣的:(假日狂想-引线注记)