Mapinfo 理海量地图数据解决方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mapinfo 理海量地图数据解决方案

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

文档评论(0)

bguarfan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档