socketref,再见!高德

https://github.com/adoggie

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用链接

留言簿(54)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

1.       地图层的裁剪: 原始的数据图层包含大量的feature信息,比如路径上存在大量的顶点vertex,由于vertex过密,导致绘制时消耗的时间过大,所以对地图数据要预处理,减化路径复杂度来加速绘制速度。自行编写处理算法,好像geos库有路径简化的实现,或者使用clibslib处理

2.       设置图层可视范围:  每种图层是否显示要根据设置的可视范围来判别,没有达到指定的显示范围,层对象就是隐藏

3.       相同类型图层对象子类化: 道路可以分国道、省道及更小单位的对象,每种对象划分在不同的图层上,根据设定的可视范围来决定是否进行绘制

4.       spatial indexed: 选择地图数据的存储方式来加速访问图层数据。Qgis的效率很低,通过ogr库虽然能访问多种gis数据,但是当选择REct进行搜索时却是遍历图层所有对象(feature),此法效率低下。Rtree indexed算法能改善此种效果,但目前尚无对此算法研究。选择空间数据库存储是个好的方法。对于地图集中式管理可以采用pgsql-postgis或者mysql-sptial db,或者oracle sde,发现微软sql-server 2005目前也有空间数据库引擎。

对于本地文件型地图存储方式,观察到很多国内地图引擎产商采用自己的文件格式,一个省区的地图数据处理之后只有10M,目前尚无经历去研究此种存储方式,唯一简单的就是采用sqlite+spatialite来实现空间数据存储,其实现了ogc的部分spatial sql,看其介绍尚无rtree算法(builtin),可能对于超大的数据量的处理性能会差很多

5.       缩放重绘:只有在缩放操作时才进行地图数据的查询加载

6.       对于进行Pan操作时平滑的现实,采用图层显示区域缓存的方式。地图显示区域进行pan时,可能要对8个方向进行拖动,比如显示区域320×240,那请求区域时请求320×3240×3区域的feature对象,当往下拖动地图时上部的缓存区域将出现无效区域,完成拖放时将上部缓冲区域填充,此种方法如同openlayers技术。Qgis未采用此方式,修改可能涉及代码挺多。

posted on 2008-07-16 02:37 放屁阿狗 阅读(905) 评论(0)  编辑 收藏 引用 所属分类: MapGisOpenSource开源工程

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