Onway

我是一只菜菜菜菜鸟...
posts - 61, comments - 56, trackbacks - 0, articles - 34

栅格化道路渲染

Posted on 2015-07-19 13:31 Onway 阅读(724) 评论(0)  编辑 收藏 引用 所属分类: 码儿快跑
需求:
地图上Grid对象表示一个40*40的栅格,除了经纬度以外,还有一个指标值如信号强度,以及一个根据指标值确定的渲染颜色。
Road对象是一条矢量道路,由多个经纬度点组成。
如果道路穿过某个栅格,则将穿过栅格的那一小段道路按栅格的颜色值画出来,没有穿过栅格的其他道路部分,用黑色渲染。

第一次做法:
对道路进行预处理,将道路上的各个点归类到其所属的栅格内。
然后将栅格内的点用线连起来。
完成后一看地图,掉坑里面了。
1,一条道路穿过某个栅格,栅格内可能只有一个点,连不成线;
2,一条直线道路,只记录了开头和结尾,中间穿过的栅格就没点了
后来想到用补点的方式,两个点超过20米就补一个
简单试了一下,效果不好就开始用第二种方法

第二次做法:
先将道路在空白bitmap上画出来,颜色用黑色;
再将栅格在另一空白的bitmap上画出来,颜色用原本的栅格颜色;
对比两张bitmap,像素同时不为0的就是相交像素,用栅格的像素颜色复制到道路的像素里面;
效果杠杠的。

其他方法:
在讨论组里面说了以后,发现另一种是预处理做法
判断两点之间跟栅格的相交,将相交点记录到所在栅格里面,这比较适合后台。

以后还是默默写博客吧!

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理