面向海量空间信息的地图浏览器实现方法

文档序号:6341785阅读:177来源:国知局
专利名称:面向海量空间信息的地图浏览器实现方法
技术领域
本发明涉及一种地图浏览器实现方法,特别是一种面向海量空间信息的地图浏览器实现方法。属于信息处理技术领域。
背景技术
在信息时代,人们面对的最大挑战是如何对信息进行有效的管理和利用,在信息需求和应用的带动下,信息科学发展到一个新的时代,地球信息科学同样是当代信息科学的一方面,它虽然不直接地关系到通讯方面的产业,它对于资源、环境、生态、国土、农业、城市方面的规划和发展有极其重大作用。目前全球许多国家都开始重视空间数据基础设施(SDI)建设,由于空间现象和过程的复杂性,以及空间数据的多源性和异构性,对空间数据的存储和管理也比一般数据复杂和困难得多。特别是随着对资源环境动态监测的需要和传感器技术和精确度的提高,研究和建设海量快速空间数据处理系统非常迫切。
经文献检索发现,美国专利申请号6,542,813,专利名称为“System andmethod for automatic managing geolocation information and associatedreferences for geographic information systems(《地理定位信息的自动管理方法及系统》)”,该专利面向地理信息系统的应用领域,该专利提供了自动管理地理信息系统数据库的方法,以及利用这些信息为地理信息系统提供这些信息,实现结点搜索,定位,漫游等功能,主要的实现方法是连接自动管理的地理信息系统数据库,根据存储在数据库中的地理定位信息以及与定位相关的信息,实现查询功能,并能够迅速定位到地图文件中的查询点。对该专利主要的不足在于1、需要建立复杂的地理信息维护数据表,当提供查找时,需要在应用服务器上进行,数据一致性维护将变得比较困难2、对当今各种数据格式的地图文件,没有实现多数据格式文件的图层迭加3、当数据量达到海量时,该种方法将因为数据维护,对服务器要求很高。4、没有提出对图像对象多种来源的解决方法,因为现在的图像数据对象可以以文件存储,也可以存储在数据库中,该方法对各种数据来源没有提出解决方法。

发明内容
本发明的目的在于克服现有的技术不足,提供一种面向海量空间信息的地图浏览器实现方法,使其针对空间信息存储管理以及对大数据量的空间信息数据管理,实现对多种数据格式和多数据源的空间信息进行管理,支持包括空间、时间、光谱的多维空间信息,支持的文件格式有ArcView定义的shp文件格式,MapInfo公司定义的MIF/MID文件格式,MWF格式,SuperMap公司矢量地图符号库交换文件格式2.0,支持的后台数据库源可以是Access或者Sql Server或者Oracle,为解决多数据源大数据量的空间信息访问提供一种有效的方法。
本发明通过以下技术方案实现,本发明首先查找地图文件,再连接加载地图文件,连接方式为直接访问地图文件或者访问作为大对象存储在关系数据库中的图像数据,利用集成的第三方控件显示地图文件,把加载的地图文件作为操作对象,这样就把对应的操作对象放到内存中,可以对载入的地图对象进行各种操作;然后是图层的甄选,再进行属性数据与图层空间信息的绑定,实现对加载的多数据源的图像数据迭加和漫游,最后在客户端,提供给用户操作的界面,并快速将结果在客户端显示。
所述的数据源文件可以是矢量数据和栅格数据。用户操作指的是用户对地理信息系统信息获取的一般操作如放大、缩小、漫游、查询、专题图制作等等。
本发明不仅在单数据源基础上适用,而且适用于建立在多数据源的之上的空间数据模型,在客户/服务器开发中适用。
以下对本发明方法的进一步限定,地图浏览器实现流程如下(1)通过第三方控件的连接方法加载地图数据文件或者数据库中图像对象,其中数据文件是通用的矢量地图数据格式文件,存储在海量存储设备中(兆兆字节量级)。存储在数据库中的图像对象则是栅格图像数据;(2)利用第三方控件的图层控制方法甄别加载一个或多个地层;(3)属性数据存储在数据库中,通过访问关联的数据表,将地图数据和属性数据绑定,以便下一步地图查询操作;(4)对于加载在第三方控件中的各个数据源的地图数据,添加第二个第三方控件作为鹰眼视图对漫游操作进行监控,实现加载的地图数据的放大缩小以及漫游;(5)利用绑定的地图数据和属性数据,对地图对象的点、线、面进行查询;
(6)在用户界面上,提供便捷的操作功能和显示功能,对操作进行分类,并在显示界面上。
●实现流程(1)中,数据文件存储在海量存储设备上,利用第三方控件可以读入文件地图数据,如果选择地理数据库,则①连接空间数据库服务器的数据源,该数据库可以是Access,SQL Server和Oracle,图像数据都是以大对象的方式存放在数据库中的,底层用ODBC(开放式数据库互接)实现连接,但是连接方法封装在第三方控件中,首先进行数据源有效性测试,如果失败,则重新选择数据源,成功就可以访问和利用空间数据库服务器中的数据。
②加载空间数据库服务器中存储的数据,对以大对象存储在数据库中的图像数据,首先要将以二进制存储的大对象转换为图像文件,然后加载对应的图像文件到内存中。
③第三方控件加载图像,显示给用户。
●实现流程(2)中,甄别并加载一个或多个地层具体如下①获取加载地图文件的图层的数量信息,利用图层集属性,可以从加载的地图文件获取不同的图层信息。并用明显特征显示不同的图层选项。如果选中图层,从图层集对象中选中对应的图层,加载在控件上。
②图层控制,判断用户选择增加的图层,这个图层信息可以使用图像文件对象,也可以是从关系数据库中得到。
③根据图层顺序显示图层,提供自定义显示图层的方法,显示用户只有调整的图层显示顺序。
●实现流程(3)中,绑定地图数据和属性数据具体如下①创建数据绑定对象,包含了数据绑定到地层中的图元的计算值,数据绑定对象的值属性可用来访问地图中每个图元的计算过的数值。对于数据绑定类型,数据源是一种OLE(对象链接和嵌入)接口。第三方控件通过这个接口直接从数据源中访问数据。
②用绑定对象集的添加方法绑定来自数据源的数据。使外部数据源和地图建立联系,可以添加不同数据集的类型,可添加的类型有ADO、DAO、MapInfo表、ODBC数据库、Lotus Notes的视图等。
③用数据集对象的添加方法的最后一个参数来建立要绑定到地图的字段的字段集合。字段集合对象的添加方法将数据源中的一列数据作为字段添加到字段集合中。字段集合使用数据集对象的添加方法方法建立。数据集对象的添加方法的字段集参数获取字段集合,并使用添加方法建立它。一旦数据集已经创建,就不能再将添加方法用在数据集的字段集合上。
④向地图绑定属性数据,然后基于这些数据创建专题渲染地图。
●实现流程(4)中,实现对加载的多数据源的图像数据迭加和漫游具体如下①图层迭加,从文件加载不同的地图文件,加载的地图文件分成不同的图层,可以选择道路、地铁站、或者河流等图层,文件可以有多种格式。然后可以选择从数据库中加载以大对象存储的图像文件,然后根据不同的图层顺序显示,在第三方控件中对各个图层进行迭加。
②添加另一个第三方控件作为第一个加载的控件的鹰眼图,在主控件中漫游加载的地图文件时,同时可以在第二个控件中可以看到鹰眼示图。
③对地图的逐层细化,获取用来建立多层次逐层细化图层的多种表。使用三个标准列“关键字”、“图层”和“标签”,所有这三列都为字符列,32个字符宽度,和一系列元数据关键字创建新的空逐层细化表.tab文件,元数据为每一张成员表分配层次名,并且标识成员表中的重要列—标示符列和标题列。把逐层细化表加入地图(例如,把逐层细化表加入所使用的(地图集合对象)中,或者通过象图层的添加方法,把逐层细化表添加到地图中)。添加用户接口元素(例如工具栏按钮)到应用程序中,以便用户选择逐层细化工具并单击地图来进行细化。
④提供对地图实现放大、缩小的方法,主要实现方法是设置第三方控件内置的放大和缩小属性,实现用户需要的操作,设定一个阈值,当放大到一定倍数的时候,地图根据建立的数据表,显示给用户不同的详细信息,例如,显示倍数越大,在大比例尺下的道路名称、农田、建筑物等等就可以清晰地显示。
●实现流程(5)中,对地图对象快速检索,主要实现如下①检索类别分类。在属性表中,对地图对象进行分类,例如,分类信息有政府中心,道路名称,河流信息等。具体在(3)中已经定义了实现方法。
②使用查找方法搜索地图对象中的图层并定位该图层中的特定图元,可以通过两种方法查找图元,一种是查找线、符号或区域图元,第二种是精确搜索边界用于区分具有相同名称的多个图元。
③搜索方法返回其在拥有特征查找对象的窗体中查找到的图元。特征查找对象把查找到的特征对象的属性存储起来作为自身的属性。此外,特征查找对象包含FindRC属性,该属性存储查找操作的结果代码。
④对选中事例使用该结果。用户在文本框中输入要定位的城市和州。此输入被传送给搜索方法。一旦在主要的或次要的城市表中定位了该城市,就将向地图添加注释并且在查找到此图元的位置重新居中并刷新该地图。
本发明可以满足在面向海量的空间信息管理系统中的应用,由于海量的数据如果用一般的文件来管理,对多数据源,多种数据储存。快速检索将成为应用的瓶颈,本发明解决了对地图文件快速浏览以及通过从多数据源、多种文件格式访问和加载地图对象的问题。可以在以下两方面得明显的提高和应用1、基于多数据源和多种文件格式快速加载的方法。2、对加载的多种数据文件,使用图层迭加技术,对迭加的图层实现分层细化显示和漫游的功能。本发明的应用,对当今多种多样的地图数据文件格式和多种数据源访问和应用,提供了较好的应用方法。本发明适用于需要海量数据存储和管理的单位,特别是开发、销售、集成和应用地理信息系统的单位。
具体实施例方式
结合本发明的方法,提供以下实施例用户为了浏览上海市的旅游交通情况,使用本发明方法进行操作,海量的空间信息存储在专用的存储设备上,通过本发明方法从文件或者地理数据库加载地图文件后。系统在后台进行二进制大对象数据对图像的转换,显示上海市地图情况,用户选择需要加载的道路图层和地铁图层,输入需要查找的路线的起点和终点。系统返回要查询的起点与终点之间的信息,用户可以选择对这段区域进行图层细化,更加详细地看到道路两边的信息。用户也可以快速定位到需要查找的如政府地点所在的图元,在地图浏览器中显示。
为了按照本方法给用户提供浏览显示地图的服务,能使用户浏览上海市道路、政府所在地、河流等情况,基于本发明方法开发了MapX4.0软件,使用该软件进行操作,能够方便的对查询的地图信息加载,并可以对关心的地图信息进行放大、缩小、漫游。
具体实施步骤如下
1、道路信息加载通过选择打开地图文件或者打开数据库文件的对话框,取得地图对象的路径,在MapX4.0的中设定连接该对象的接口信息,MapX4.0本身支持多种文件格式的地图对象如shp文件格式,Mif/mid文件格式等,也支持矢量数据。
2、选择显示图层对于加载的地图对象,通过MapX4.0的图层集集合的方法,甄别所选择的图层,在浏览窗口显示关心的对象,如道路,河流等。但选择多个图层信息时,对迭加的顺序可以进行排序。
3、对加载的地图数据进行放大和缩小。
通过设定MapX4.0的当前工具属性,可以控制随着对所显示地图数据的放大或者缩小,地图对象的信息越来越精细,显示的内容也更加丰富,缩小操作反之。
4、漫游加载的地图对象,在鹰眼视图中实时监控浏览区域在整个地图中的位置。
随着地图对象的放大,地图显示的信息也更加精细,但是在浏览窗口就无法显示全部地图信息,在鹰眼视图中可以定位当前浏览的区域在整幅地图的区域和方位。具体方法是,对主浏览窗口的MapX4.0,获取地图对象的坐标信息,通过坐标定位的方法,在鹰眼视图中定位当前主浏览窗口显示的地图内容在整个地图中的位置。
5、属性信息显示和查询。
对于矢量数据,数据集添加方法,向MapX4.0绑定来自数据源的数据。使外部数据源和地图建立联系,地图中某一点的信息可以方便地将空间信息和属性信息关联。例如点击政府图层的某一点,返回对应政府名称信息。
使用本方法满足了用户对地图数据的浏览、放大、缩小和监控的需求。具体实施效果(1)多数据源访问,对当前主流的地理信息系统数据都可以进行访问。(2)多图层操作,加载的地层可以分别进行浏览和迭加。(3)逐层细化的操作可以使用户浏览到更多的信息而不至于一开始就对大量的地图数据无所适从。(4)漫游功能使用户能从全局和局部都对地图对象获得关心信息。(5)空间信息和属性信息的关联方便用户查询。
权利要求
1.一种面向海量空间信息的地图浏览器实现方法,其特征在于,首先查找地图文件,再连接加载地图文件,连接方式为直接访问地图文件或者访问作为大对象存储在关系数据库中的图像数据,利用集成的第三方控件显示地图文件,把加载的地图文件作为操作对象,这样就把对应的操作对象放到内存中,对载入的地图对象进行各种操作,然后是图层的甄选,再进行属性数据与图层空间信息的绑定,实现对加载的多数据源的图像数据迭加和漫游,最后在客户端,提供给用户操作的界面,并快速将结果在客户端显示。
2.根据权利要求1所述的面向海量空间信息的地图浏览器实现方法,其特征是,以下对本发明方法做进一步的限定,具体实现流程如下(1)通过第三方控件的连接方法加载地图数据文件或者数据库中图像对象,其中数据文件是通用的矢量地图数据格式文件,存储在海量存储设备中,存储在数据库中的图像对象则是栅格图像数据。(2)利用第三方控件的图层控制方法甄别加载一个或多个地层;(3)属性数据存储在数据库中,通过访问关联的数据表,将地图数据和属性数据绑定,以便下一步地图查询操作;(4)对于加载在第三方控件中的各个数据源的地图数据,添加第二个第三方控件作为鹰眼视图对漫游操作进行监控,实现加载的地图数据的放大缩小以及漫游;(5)利用绑定的地图数据和属性数据,对地图对象的点、线、面进行查询;(6)在用户界面上,提供便捷的操作功能和显示功能,对操作进行分类,并在显示界面上。
3.根据权利要求2所述的面向海量空间信息的地图浏览器实现方法,其特征是,实现流程(1)中,数据文件存储在海量存储设备上,利用第三方控件读入文件地图数据,如果选择地理数据库,则①连接空间数据库服务器的数据源,该数据库是Access或者SQL Server或者Oracle,图像数据都是以大对象的方式存放在数据库中的,底层用ODBC实现连接,但是连接方法封装在第三方控件中,首先进行数据源有效性测试,如果失败,则重新选择数据源,成功则访问和利用空间数据库服务器中的数据;②加载空间数据库服务器中存储的数据,对以大对象存储在数据库中的图像数据,首先要将以二进制存储的大对象转换为图像文件,然后加载对应的图像文件到内存中;③第三方控件加载图像,显示给用户。
4.根据权利要求2所述的面向海量空间信息的地图浏览器实现方法,其特征是,实现流程(2)中,甄别并加载地层具体如下①获取加载地图文件的图层的数量信息,利用图层集属性,从加载的地图文件获取每个图层信息,并用明显特征显示每个图层选项,如果选中图层,从图层集对象中选中对应的图层,加载在第三方控件上;②图层控制,判断用户选择增加的图层,这个图层信息使用图像文件对象,或者是从关系数据库中得到;③根据图层顺序显示图层,提供自定义显示图层的方法,显示用户只有调整的图层显示顺序。
5.根据权利要求2所述的面向海量空间信息的地图浏览器实现方法,其特征是,实现流程(3)中,绑定地图数据和属性数据具体如下①创建数据绑定对象,包含了数据绑定到地层中的图元的计算值,数据绑定对象的值属性用来访问地图中每行的计算过的数值,对于大多数数据绑定类型,数据源其实是一种对象链接和嵌入接口,控件通过这个接口直接从数据源中访问数据;②用绑定对象集的添加方法绑定来自数据源的数据,使外部数据源和地图建立联系,添加多种数据集的类型,添加的类型有ADO、DAO、MapInfo表、ODBC数据库、Lotus Notes视图。③用数据集的添加方法的最后一个参数来建立要绑定到地图的字段的字段集合,字段集合的添加方法将数据源中的一列数据作为字段添加到字段集合中,字段集合使用数据集的添加方法方法建立,数据集的添加方法的字段集参数获取字段集合,并使用添加方法建立它,添加方法用在数据集的字段集合上只能用一次。
6.根据权利要求2所述的面向海量空间信息的地图浏览器实现方法,其特征是,实现流程(4)中,实现对加载的多数据源的图像数据迭加和漫游具体如下①图层迭加,从文件加载多个地图文件,加载的地图文件分成多个图层,选择道路、地铁站、或者河流图层,文件有多种格式,然后选择从数据库中加载以大对象存储的图像文件,然后根据选择的图层顺序显示,在第三方控件中对各个图层进行迭加;②添加另一个第三方控件作为的鹰眼图,在主控件中漫游加载的地图文件时,同时在第二个控件中能看到鹰眼视图;③对地图的逐层细化,获取用来建立多层次逐层细化图层的多种表,使用三个标准列“关键字”、“图层”和“标签”,所有这三列都为字符列,32个字符宽度,和一系列元数据关键字创建新的空逐层细化表.tab文件,元数据为每一张成员表分配层次名,并且标识成员表中的重要列—标示符列和标题列,把逐层细化表加入地图,添加用户接口元素到应用程序中,以便用户选择逐层细化工具并单击地图来进行细化;④提供对地图实现放大、缩小的方法,主要实现方法是设置第三方控件内置的放大和Z缩小属性,实现用户需要的操作,设定一个阈值,当放大时,地图根据建立的数据表,显示给用户多种详细信息。
7.根据权利要求2所述的面向海量空间信息的地图浏览器实现方法,其特征是,实现流程(5)中,对地图对象快速检索,主要实现如下①检索类别分类在属性表中,对地图对象进行分类;②使用查找方法搜索地图对象中的图层并定位该图层中的特定图元,通过两种方法查找图元,一种是查找线、符号或区域图元,第二种是精确搜索边界用于区分具有相同名称的多个图元;③搜索方法返回其在拥有特征查找对象的窗体中查找到的图元,特征查找对象把查找到的特征对象的属性存储起来作为自身的属性,此外,特征查找对象包含FindRC属性,该属性存储查找操作的结果代码;④对选中事例使用该结果用户在文本框中输入要定位的城市和州,此输入被传送给搜索方法,一旦在主要的或次要的城市表中定位了该城市,就将向地图添加注释并且在查找到此图元的位置重新居中并刷新该地图。
8.根据权利要求1或2所述的面向海量空间信息的地图浏览器实现方法,其特征是,访问的数据源是海量的矢量数据文件和栅格数据对象。
全文摘要
一种面向海量空间信息的地图浏览器实现方法,属于计算机应用领域。本发明首先查找地图文件,再连接加载地图文件,连接方式为直接访问地图文件或者访问作为大对象存储在关系数据库中的图像数据,利用集成的第三方控件显示地图文件,把加载的地图文件作为操作对象,这样就把对应的操作对象放到内存中,对载入的地图对象进行各种操作,然后是图层的甄选,再进行属性数据与图层空间信息的绑定,实现对加载的多数据源的图像数据叠加和漫游,快速检索,最后在客户端,提供给用户操作的界面,并快速将结果在客户端显示。本发明能够面向海量空间数据提供了快速的查询方法。适用于需要海量数据存储和管理的单位。
文档编号G06F17/30GK1556481SQ200310109878
公开日2004年12月22日 申请日期2003年12月30日 优先权日2003年12月30日
发明者李明禄, 李治宏, 潘群华 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1