欢迎来到天天文库
浏览记录
ID:14686182
大小:2.50 MB
页数:5页
时间:2018-07-29
《mapinfo 处理海量地图数据解决方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Mapinfo处理海量地图数据解决方案一.前言目前,MapInfo在各行各业的业务系统中得到了广泛应用。在很多情况下,用户需要利用Mapinfo来处理海量的地图数据。例如,一个中型城市的国土和城市规划部门,就可能有多达几千幅1:500的电子地图,总数据量可能达到几百兆甚至GB(千兆)级。那么如何利用Mapinfo来管理用户的海量地图数据呢?二.Mapinfo的地图数据存储能力我们先来看看Mapinfo的地图数据存储特性和存储能力如何。1.高效的空间索引技术。MapInfo采用R-Tree技术实现空间索引。简单地说,R-Tree将各空间实体
2、的MBR(最小外接矩形)存储在索引中,并按从大到小的范围进行索引搜索。这样,能根据给定的坐标,快速定位到某一空间对象。比如,要查询在某多边形区域范围内的所有点,则可通过空间索引,定位出此多边形区域的MBR,利用此MBR对其内部的点进一步求精,剔除区域外的点剩下的就是结果。MapInfo自动维护空间索引,能最高效率的使用矢量数据。2.每一图层最多有2G(20亿)条矢量对象。3.Mapinfo同一地图窗口中的图层数没有限制(只受可用内存限制)。4.每个矢量对象最多有1M个节点(MapInfoProfessional4.5之后版本;4.5以前版
3、本为30000个节点)。从上述几点可以看出,MapInfo在处理图形数据方面不会受数据量的限制。但是用户有时会发现,当打开的图层数很多时,或是当一幅单个图层其数据量较大时,其显示速度会受到一定的影响,下面就这一问题具体讲一讲如何提高Mapinfo对大容量地图数据的显示速度。三、用MapInfo处理大数据量地图数据的几种解决方案下面,我们就MapInfoProfessional的具体环境,介绍几种实用的方法。1.图层控制技术矢量地图是可以无级缩放的,但对具体的图层,仅在一定视野范围内的显示才是有意义的。例如,下图为某城市电子地图的两种不同的
4、显示。左图尽管显示出了所有图层的所有空间对象,但地图窗口却一片模糊,用户几乎无法得到任何有意义的信息,而且为完成每次显示,计算机用于空间对象的坐标转换和图形生成的时间也较长。右图为针对某些图层设置视野范围后,地图的显示情形。此时,不仅显示速度快,而且用户能从地图上获得有用的空间信息。所以,在地图系统的应用中,针对不同用途的图层应选择不同的视野显示范围,这样不仅能使地图窗口“干净明了”,使有用信息得到突出显示,而且也能加快显示和处理的速度。图1没有设置视野范围时,地图显示的情形图2设置视野控制范围后地图显示的情形在Mapinfo中可按如下的
5、步骤对某一图层设定其视野范围:地图>图层控制>选中某一图层>显示>图层缩放,在缩放范围内显示例如,将上述地图窗口中的公交车站图层设置成在0-5km的视野范围内显示时,其设置方法如下图。图3如何在Mapinfo中设置某一图层的视野控制范围2.使用索引图层在很多情况下,用户的地图资料(例如,一个城市的建筑物图层)是由AutoACD中转过来的,这时一个单幅的地图图层其文件大小可能达到50M左右。如果用户直接将该图层在Mapinfo中打开显示,其显示速度会受到很大影响。此时,应当将整个单幅的大图层划分成若干个小图幅,并利用建立索引图的方法,来提高
6、对地图的显示速度。下面详细介绍对大图层的分幅与建立索引的方法与步骤。1)新建一个空白图层用作索引图层。并将它添加到当前地图窗口中。2)在索引图层中创建若干矩形区域对象,用来对底图进行分割,每一块的属性信息都存储着相应的图幅文件名,同时还需要自己编写一段MapBasic程序,读出每个图幅的边框坐标。3)使底图可编辑,并选中底图,设为目标对象。4)选中索引图层中的某一个矩形对象,利用对象>分割将底图进行分割。5)选中底图中被分割出来的部分,并将其剪切或拷贝。6)新建一个图层,用来存放从底图中剪切下来或拷贝过来的图形。7)重复步骤4-6直到将整
7、个底图全部分割完毕,并将各个分割出来的小图幅分别保存成单独的表文件。8)为了便于将来利用程序来管理所有的分幅图层,在保存各个分幅图层时,最好按编号的顺序对其命名。如:S1b1,S1b2,S1b3...S6b1,S6b2,S6b3…9)为了能实现分幅显示,提高显示和刷新速度,需要自己编写程序来控制分幅图层的显示。程序设计的主要思想是:首先,只打开索引图层,并用自定义的工具选择要访问的图块。通过程序,确定选中的索引块对象,并访问其属性信息,找到相应的详细图幅文件,并将其打开,从而实现在不同的状态下动态地显示不同的分幅图层。由于每个分幅图层的文
8、件大小仅为原来整幅图层的若干分之一,因而能有效地提高地图数据的显示和刷新速度。虽然索引图层,是一种有效地提高地图数据显示和刷新速度的方法,但如果用户将来需要基于地图进行深入的地理分析,如:线段
此文档下载收益归作者所有