一种组织地理数据的方法及系统转让专利

申请号 : CN200810106539.X

文献号 : CN101582068B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙亚夫孙茳钟华胡光华阎大勇

申请人 : 北京灵图软件技术有限公司

摘要 :

本发明公开了一种组织地理数据的方法,该方法包括:获取数据源;为数据源按照预定义的规范实现接口,并根据数据源数据生成图层;生成指向各个图层的指针;枢纽结构通过所述指针向图层发送命令;图层接收到枢纽结构的命令后,执行所述命令。本发明还公开了一种组织地理数据的系统,通过本发明,使得数据源可以是任何类型、任何来源,只要实现了规定的接口就可以添加到系统中,成为系统的图层,充分地体现了系统的灵活性及可扩展性。

权利要求 :

1.一种组织地理数据的方法,其特征在于,包括:获取数据源;

为数据源按照预定义的规范实现接口,并根据数据源数据生成图层;

生成指向各个图层的指针;

为各图层设置事件广播及侦听系统;

最上层的图层通过侦听系统捕获用户操作请求,并通过广播系统将该请求转发给枢纽结构,其中,所述枢纽结构为依据用户操作请求发送包含相应地图控制方法的命令给图层的系统;

所述枢纽结构根据请求的内容,通过指向图层的指针向相关图层发送命令;

接收到所述命令的图层执行所述命令。

2.根据权利要求1所述的方法,其特征在于,所述根据数据源数据生成图层之后,还包括:为所有图层设置相同的坐标系,按照所述坐标系,将各图层的数据按顺序绘制在坐标系的相应位置。

3.根据权利要求1所述的方法,其特征在于,为数据源按照预定义的规范实现接口具体包括:按照不同类型的数据生成不同的接口。

4.根据权利要求3所述的方法,其特征在于:所述接口包括地图接口和附属信息接口。

5.一种组织地理数据的系统,其特征在于,包括:数据源获取单元,用于获取数据源;

接口实现单元,用于为数据源按照预定义的规范实现接口;

图层生成单元,用于根据实现了所述接口的数据源数据生成图层;

指针生成单元,用于生成指向各个图层的指针;

广播及侦听系统设置单元,用于为各图层设置事件广播及侦听系统;其中,所述图层通过侦听系统捕获用户操作请求,并通过广播系统将该请求转发给枢纽结构;

枢纽结构,用于接收由图层转发的用户操作请求,并根据请求的内容,通过指向图层的指针向相关图层发送命令。

6.根据权利要求5所述的系统,其特征在于,还包括:坐标系设置单元,用于为所有图层设置相同的坐标系;

数据绘制单元,用于按照所述坐标系,将各图层的数据按顺序绘制在坐标系的相应位置。

7.根据权利要求5所述的系统,其特征在于:所述接口实现单元按照不同类型的数据生成不同的接口。

8.根据权利要求7所述的系统,其特征在于:所述接口包括地图接口和附属信息接口。

说明书 :

一种组织地理数据的方法及系统

技术领域

[0001] 本发明涉及地理信息处理技术领域,特别是涉及一种组织地理数据的方法及系统。
[0002] 背景技术
[0003] 电子地图技术是集地理信息系统技术、数字制图技术、多媒体技术和虚拟现实技术等多项现代技术为一体的综合技术。电子地图是一种以可视化的数字地图为背景,用文本、照片、图表、声音、动画、视频等多媒体为表现手段的展示城市、企业、旅游景点等区域综合面貌的现代信息产品,它可存贮于计算机外存,以只读光盘、网络等形式传播,以桌面计算机或触摸屏计算机等形式提供大众使用。
[0004] 地图数据的更新步伐受社会经济的影响很大,例如对于城市地形数据,城市发展越快,它的更新周期就越短,由于设计电子地图的目的是真实地反映出城市的面貌,那么就要及时地更新当前的地图,因此电子地图在设计出来之后,维护工作也是一项非常重要的任务,一个好的电子地图系统在设计时要充分考虑系统的灵活性。
[0005] 随着地理信息系统的发展与完善,电子地图的设计开发技术也日臻成熟。为了便于程序的实现,在绘制电子地图时,可以将地图分层绘制,现有技术分层的标准是按照数据的类型对不同的数据进行分类,例如对于建筑、河流交通路线、信息点、用户绘画线路等类型的数据,系统将类型相近的数据合并绘制成一个图层,类型不同的数据绘制成单独的图层。需要添加数据时,系统先判断数据的类型,然后将数据添加到该类型所属图层的适当位置。
[0006] 该技术的缺点在于,由于地图数据来源因具体情况而不同,各大地图生产厂商都只为自己的数据提供接口,而接口格式和数据格式又都不相同,同一个厂商生产的数据又因数据种类不同而分成若干独立的接口,因此利用这些数据源对地图进行更新时,只能添加能够与某图层的数据类型相匹配的数据,对于 已经设计好的系统,如果要添加新类型的数据,则需要对系统做整体上的改动,限制了系统的灵活性及可扩展性。 [0007] 发明内容
[0008] 有鉴于此,本发明的目的在于提供一种组织地理数据的方法及系统,以解决现有技术在添加新类型数据时,需要对系统做整体上的改动,从而限制了系统的灵活性及可扩展性的问题。
[0009] 为实现上述目的,本发明提供了如下方案:
[0010] 一种组织地理数据的方法,包括:
[0011] 获取数据源;
[0012] 为数据源按照预定义的规范实现接口,并根据数据源数据生成图层; [0013] 生成指向各个图层的指针;
[0014] 为各图层设置事件广播及侦听系统;
[0015] 最上层的图层通过侦听系统捕获用户操作请求,并通过广播系统将该请求转发给枢纽结构,其中,所述枢纽结构为依据用户操作请求发送包含相应地图控制方法的命令给图层的系统;
[0016] 所述枢纽结构根据请求的内容,通过指向图层的指针向相关图层发送命令; [0017] 接收到所述命令的图层执行所述命令。
[0018] 其中,所述根据数据源数据生成图层之后,还包括:为所有图层设置相同的坐标系,按照所述坐标系,将各图层的数据按顺序绘制在坐标系的相应位置。 [0019] 其中,为数据源按照预定义的规范实现接口具体包括:按照不同类型的数据生成不同的接口。
[0020] 其中:所述接口包括地图接口和附属信息接口。
[0021] 一种组织地理数据的系统,包括:
[0022] 数据源获取单元,用于获取数据源;
[0023] 接口实现单元,用于为数据源按照预定义的规范实现接口;
[0024] 图层生成单元,用于根据实现了所述接口的数据源数据生成图层; [0025] 指针生成单元,用于生成指向各个图层的指针;
[0026] 广播及侦听系统设置单元,用于为各图层设置事件广播及侦听系统;其中,所述图层通过侦听系统捕获用户操作请求,并通过广播系统将该请求转发给枢纽结构; [0027] 枢纽结构,用于接收由图层转发的用户操作请求,并根据请求的内容,通过指向图层的指针向相关图层发送命令。
[0028] 其中,还包括:
[0029] 坐标系设置单元,用于为所有图层设置相同的坐标系;
[0030] 数据绘制单元,用于按照所述坐标系,将各图层的数据按顺序绘制在坐标系的相应位置。
[0031] 其中:
[0032] 所述接口实现单元按照不同类型的数据生成不同的接口。
[0033] 其中:
[0034] 所述接口包括地图接口和附属信息接口。
[0035] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0036] 首先,本发明获取数据源;为数据源按照预定义的规范实现接口,并根据数据源数据生成图层;生成指向各个图层的指针;枢纽结构通过所述指针向图层发送命令;图层接收到枢纽结构的命令后,执行所述命令,使得数据源可以是任何类型、任何来源,只要实现了规定的接口就可以添加到系统中,成为系统的图层,充分地体现了系统的灵活性及可扩展性。
[0037] 其次,将不同类型的数据源实现不同的接口,并将实现了不同接口的数据源作为不同的图层来进行显示,便于系统的实现。
[0038] 再次,任何图层在捕获到用户操作的请求后,不是立即处理,而是通过将请求转发到枢纽结构的方式,使得掌握更多信息的枢纽结构来决定资源及图层的调度,体现了中央-地方式的事件流动和处理方式,便于更好地响应用户操作请求。
[0039] 附图说明
[0040] 图1是本发明实施例提供的方法的流程图;
[0041] 图2是本发明实施例提供的另一方法的流程图;
[0042] 图3是明实施例提供的装置的示意图;
[0043] 图4是发明实施例提供的另一装置的示意图;
[0044] 图5是发明实施例提供的另一装置的示意图。

具体实施方式

[0045] 本发明提供了一种组织地理数据的方法,下面结合附图对本发明实施例提供的方法进行详细地介绍。
[0046] 实施例、参见图1,本发明实施例提供的组织地理数据的方法包括以下步骤: [0047] S101:获取数据源;
[0048] 其中,数据源可以是从网络上下载的数据,也可以是保存在本地的数据,实际应用中,按照需要相应地获取。
[0049] S102:为数据源按照预定义的规范实现接口,并根据数据源数据生成图层; [0050] 与现有技术中地图的分层方法不同,本发明实施例采用的地图分层方法是在系统设计阶段定义出接口规范,只要实现了该规范的接口的数据源就可以添加到系统中;因此在设计地图时可以根据实际业务的需要来确定需要添加哪些数据,然后在获取到这些数据源后,便可以按照已经定义的规范为该数据源实现接口。可见,图层的数据源可以是任何形式、任何来源,只要实现了规定的接口就可以添加到系统中,并根据数据源的数据生成图层。 [0051] 需要说明的是,根据数据源的数据生成图层时,可以根据数据的类型将数据进行分类。将类型相同或相近的数据合并绘制为一个图层,类型不同的数据绘制为单独的图层。因此,这里生成的图层为多个,各个图层没有严格的数据规格和叠加顺序,可以根据具体的需要和实际情况来决定叠加顺序和合并情况。
[0052] S103:生成指向各个图层的指针;
[0053] 在实际应用中,可以将地图层级管理系统设计为一个框架结构,由容器和枢纽结构组成,其中容器用于放置地图层级对象。实现了规范的接口的数据源就可以作为一个图层,并将接口的指针放置在该容器中。枢纽结构可以提供一系列的方法来操作系统,比如移动地图、旋转地图、缩放地图等,并在这些方 法中协调所有图层,并将执行这些动作的命令发送给所有图层,让这些图层来具体实现这些功能。
[0054] 如前文所述,只要实现了规定接口的数据源就可以成为系统中的图层,并在地图中显示。其中具体的显示过程并不是本发明关心的内容,因此在此不进行详细地描述。 [0055] S104:枢纽结构通过所述指针向图层发送命令;
[0056] 其中,枢纽结构可以抽象为地图控制方法,由该枢纽结构来对各图层进行控制。各图层可以通过已经生成好的指针被枢纽结构调用,这样枢纽结构可以向容器中各图层发送命令,命令各个图层去完成相应的任务。
[0057] S105:图层接收到枢纽结构的命令后,执行所述命令。
[0058] 在实际应用中,本发明提供的方法也可以根据实际需要在系统中添加新的图层,此时就可以获取新的数据源,然后按照实施例一提供的方法,对该新数据源按照预定义的规范来实现接口,并根据该数据源的数据生成新的图层,然后再生成指向该新图层的指针。这样,就完成了在系统中增加新的图层的过程,枢纽结构就可以通过新图层的指针,向新的图层发送命令了。
[0059] 从上述可见,本发明实施例提供的方法只要对数据源实现了规定的接口就可以添加到系统中,生成为系统的图层,从而实现了与数据源和数据格式无关的设计结构,能够以不变应万变,综合各种数据和各个厂商的数据源,以最有效的方式利用可以获得的数据。 [0060] 所有图层都可以具有共同的坐标系,例如,以经纬度零点作为原点,向北为纵轴正方向,向东为横轴正方向。数据绘制过程中按照这个坐标系,根据从底向上的顺序,将各种层次的数据根据数据的内容绘制在坐标系的相应位置。枢纽结构可以将所有类型的图层容纳其中,在程序运行期间动态地添加图层、移动图层或对图层做其他任何自定义地修改,如按照业务需要随意地增删图层或换掉各图层间地次序。
[0061] 为了更好地适应实际应用,每个图层都可以具有一套事件广播和侦听系统,使得图层能够响应用户的请求,并将该请求的处理过程按照需要转发给枢纽结构或其它图层(通常,转发给枢纽结构是必须的),枢纽结构在接收到通 知后调度系统,并根据需要来处理这些请求,同时继续分发给感兴趣的其它图层。而图层由于已经实现了一套定义好的接口,这些接口就可以用来被系统调用。这样枢纽结构就可以通过这些接口向各图层发送命令,命令各图层去完成相应的任务。而且,从用户的角度看来,地图按照具体操作做整体的变化,不会对用户在视觉感官上造成影响。因此,参见图2,系统在响应用户请求时可以包括以下步骤:
[0062] S201:最上面的图层通过侦听系统捕获用户的操作请求;
[0063] S202:该图层通过广播系统将捕获到的用户操作请求转发给包括枢纽结构在内的任何感兴趣的对象;
[0064] S203:枢纽结构根据业务情况调度各图层,并命令各个图层完成与用户操作相关的一些共同的操作;
[0065] S204:图层收到枢纽结构的命令后,根据自身的特点,完成自己需要做的任务。 [0066] 从上述可见,任何一个图层在捕获到用户操作后,不会立即自己处理,而是先上报枢纽结构,由掌握更多信息的枢纽来决定到底要动用哪些资源、哪些图层来完成哪些任务,但是枢纽结构本身并不完成实际的业务,枢纽会指挥各个图层来完后各种业务。由此形成了中央-地方式事件流动和处理方式,便于更好地响应用户的请求。
[0067] 在上述实施例中,通过为获取到的数据源实现规定的接口来实现地图数据源的组织方法,而在实际应用中,为了便于实现,可以首先将数据源按照数据的类型进行分类,分别实现不同的接口,例如可以将数据源分为地图类和附属信息类两大类,接收到数据源后,可以先判断数据源的类型,然后为地图类数据实现地图接口,为附属信息类数据实现附属信息接口。同时,也将框架结构中的容器分为两种,一种用于存放实现地图接口的图层,一种用于存放实现了附属信息接口的图层。
[0068] 其中,地图接口是地图层的最小属性和方法集,是地图框架所必须的最基本的方法和属性组成的类。所有添加到地图框架中的地图类数据源都从它继承,并重写它的方法;附属信息接口是地图标注信息以及画线导航等的基类, 用于在地图上动态地添加附属信息,凡是需要根据地图来展现附加信息的功能,都可以通过实现该接口来完成,该接口同样包括一定的属性和方法,子类可以通过有效地重写这些方法来实现该接口。 [0069] 与本发明实施例提供的方法相对应,本发明实施例还提供了一种组织地图数据的系统,参见图3,该系统包括:
[0070] 数据源获取单元U301,用于获取数据源;
[0071] 接口实现单元U302,用于为数据源按照预定义的规范实现接口; [0072] 图层生成单元U303,用于根据实现了所述接口的数据源的数据生成图层; [0073] 指针生成单元U304,用于生成指向各个图层的指针;
[0074] 枢纽结构U305,用于通过所述指针向图层发送命令。
[0075] 地图绘制人员通过数据源获取单元U301获取到数据源后,接口实现单元U302为数据源按照预定义的规范实现接口;然后,图层生成单元U303就可以根据实现了所述接口的数据源的数据生成图层;这里可以按照数据类型的不同生成多个图层;然后由指针生成单元U304生成指向各个图层的指针;枢纽结构U305就可以通过所述指针向图层发送命令了,各图层在接收到枢纽结构U305的命令后,可以根据自身的特点执行相应的任务。 [0076] 当绘制人员发现需要为系统增加图层时,数据源获取单元U301还用于的数据源;接口实现单元U302为新的数据源按照预定义的规范实现接口,图层生成单元U303还用于根据实现了所述接口的数据源的数据生成新的图层;指针生成单元U304还用于生成指向新的图层的指针。
[0077] 为了方便各图层的绘制,可以为各图层设置相同的坐标系,则,参见图4,该系统还包括:
[0078] 坐标系设置单元U306,用于为所有图层设置相同的坐标系;
[0079] 数据绘制单元U307,用于按照所述坐标系,将各图层的数据按顺序绘制在坐标系的相应位置。
[0080] 为了更好地响应用户的操作请求,参见图5,该系统还包括:
[0081] 广播及侦听系统设置单元U308,用于为各图层设置事件广播及侦听系统。 [0082] 此时,最上层的图层就可以通过侦听系统捕获用户的操作请求,并通过广播系统将该请求转发给包括枢纽结构U305在内的感兴趣的对象,则,
[0083] 枢纽结构U305还用于:接收由最上层的图层转发的客户操作请求,并枢纽结构根据请求的内容,通过指向图层的指针向相关图层发送命令。
[0084] 为了便于实现,可以在系统设计阶段按照数据类型定义不同的接口规范,向系统添加数据源时,不同类型的数据从不同的接口集成,同样能够达到将所有类型的数据都能添加到系统中的目的。则,
[0085] 接口实现单元U302实现的接口包括:按照不同类型的数据生成不同的接口。 [0086] 其中,在实际应用中,所述接口可以包括地图接口和附属信息接口连种接口。 [0087] 从上述可见,在实际应用中,系统可以包括枢纽结构和图层模块,其中枢纽结构负责调度,图层负责绘制等其他个性化事务。例如,本发明实施例中可以包括底层、信息点层、线路层等图层,其中,底层负责显示基本的地图信息,如道路、建筑等;信息点层负责显示用户查询出来的兴趣点信息;线路层负责显示用户搜索的公交线路、驾驶线路及用户绘制的线路等。
[0088] 以上对本发明所提供的一种组织地理数据的方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。