对在地图制作应用程序上分层的数据的过滤的制作方法

文档序号:6455733阅读:250来源:国知局
专利名称:对在地图制作应用程序上分层的数据的过滤的制作方法
对在地图制作应用程序上分层的数据的过滤
背景
地图制作功能已变得常见,且与这样的地图制作功能的交互可以是用户专 用的(例如,用户可通过输入与所感兴趣的区域的位置或放置有关的信息来査 看所期望的感兴趣的区域)。计算设备通常用于向用户提供在各地之间移动时 通信并保持"连接"的手段。这样的移动计算设备的技术发展到容易获取关于任 何所需内容的数据的程度。例如,许多人利用地图制作技术来査看诸如家乡或 景点等感兴趣的区域、获取驾驶方向或为各种其他理由。
地图制作应用程序向用户提供容易地查看与地球上或用户想要査看的其 他地方(例如,月球、行星、恒星、虚拟位置等)上的位置有关的地理以及其 他数据的手段。存在可供在地图制作应用程序中査看的大量数据。例如,用户 能够"放大"以查看地图区域的小部分(例如, 一个城市街区)或"縮小"以查看 整个世界或其子集。地图区域的放大版本可包含各种详细信息,诸如街道名、 河流、建筑物、与温度有关的数据、驾驶方向等。当地图制作应用程序被縮小 以査看较大的查看区域(例如,整个州)时,由于系统和显示器约束以及可用 的大量数据,显示诸如街道名等详细信息是不可行的。因此,縮小级别的显示 数据可仅包括州名、主要公路名或主要城巿。
地图制作应用程序可使众多不同类型的数据按层彼此覆盖。对这种数据的 过滤和显示通常通过开启和关闭不同数据层或显示诸如行政、道路或夜间样式 等不同地图样式来完成。当在各层或各样式之间切换时,用户需要记住不同的 数据类型以便在不同的视图之间作出比较。这可能是困难且令人灰心的。此外, 用户可能希望基本上同时査看显示空间的不同区域或部分的不同信息。然而, 由于各层是对整个显示区域开启或关闭的,用户不能够对不同的地图区域查看 不同的信息。
从而,为了克服前述以及其他缺陷,需要的是用于在地图制作应用程序上 分层的数据的视觉过滤系统。这样的数据分层应按照简单的方式操纵并显示,
5同时允许用户按需修改显示的不同区域。应向用户提供以可视且直观的方式与 大量数据层交互的简单用户界面。
概述
以下呈现了简化概述以提供对所公开的各实施例的某些方面的基本理解。 该概述并不是广泛的纵览,且既非旨在标识诸实施例的关键或重要元素,也非 旨在描绘此类实施例的范围。其唯一目的是以简化的形式给出所描述实施例的 一些概念,作为后面给出的更加详细的描述的序言。
根据一个或多个实施例及其相应的公开内容,结合在地图制作应用程序上 分层的数据的视觉过滤器描述了各方面。本发明可允许用户以可视且直观的方 式与包含在地图制作应用程序中的多个数据层交互。这样的交互可以是对包含
在两个或多个过滤数据集的重叠部分中的数据应用指定的集合运算(例如,并、 差、交)形式的。过滤数据可由用户指定,且可包括一个或多个地图制作层(例
如,航摄图样式、道路图样式、天气、交通、搜索结果、实况web摄像头、建
筑物的外部结构等)。每一过滤数据集可覆盖地图制作应用程序,且可在显示 区域的单独部分中呈现,且还可覆盖其他过滤数据集。过滤数据可以是任何形
状或大小的,且可被选择性地修改。可选择时间参数并将其应用于过滤数据。 根据某些实施例,包括数据层、过滤器、显示蒙板和集合运算的组合在内 的各种数据可按照各种方式管理,并显示得到的结果。用户可例如通过将任何 数量的层拖放到显示蒙板上来修改过滤器以显示这样的层。用户还可通过相对 于彼此拖曳过滤器来修改显示。显示蒙板的相交区域揭示了用户对所显示的数 据选择的操作。可修改显示蒙板的物理形状或大小。可按需调节对正在显示的 数据的元数据设置的值范围。
为实现上述和相关目的,一个或多个实施例包括以下全面描述且在权利要 求书中特别指出的特征。以下描述和附图详细地阐明了某些说明性方面,且仅 指示了可采用本发明的原理的各种方式中的几种。当结合附图考虑时,将从以 下详细描述中清楚其它优点和新颖特征,并且所公开的实施例旨在包括所有这 些方面及其等效方面。
6附图简述


图1示出了用于在地图制作应用程序上对数据分层的示例性系统。
图2示出了便于配置地图层并以预定义方式在至少两个过滤器的重叠部 分中自动显示数据层的示例性系统。
图3示出了利用本文所公开的一个或多个实施例的地图制作应用程序显 示蒙板的示例性屏幕截图。
图4示出了显示蒙板相交区域上的示例性数据层并操作。
图5示出了采用机器学习的示例性系统,该系统便于自动化根据所公开的
各实施例的一个或多个特征。
图6示出了用于在地图制作应用程序中显示分层数据的方法。
图7示出了用于在地图制作应用程序上对数据分层的另一方法。
图8示出了可用于执行所公开的实施例的计算机的框图。
图9示出了可用于执行所公开的实施例的示例性计算环境的示意性框图。
详细描述
现在参照附图描述各实施例,全部附图中,相同的附图标记用于指代相同 的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对一个或多 个方面的全面理解。然而,显然,各实施例能够在无需这些具体细节的情况下 实施。在其它情况中,以框图形式示出公知的结构和设备以便于描述这些实施 例。
如在本申请中所使用的,术语"组件"、"模块"和"系统"等旨在表示计算机 相关的实体,它可以是硬件、硬件和软件的组合、软件、或者执行中的软件。 例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执 行码、执行的线程、程序和/或计算机。作为说明,运行在服务器上的应用程序 和服务器都可以是组件。 一个或多个组件可以驻留在进程和/或执行的线程内, 并且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。
在此使用的词语"示例性"意味着用作示例、实例或说明。在此被描述为"示 例性"的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有 利。各实施例将按照可包括多个组件、模块等的系统来呈现。可以理解和明白, 各种系统可包括结合各附图讨论的另外的组件、模块等和/或可不全包括所有组 件、模块等。也可使用这些方法的组合。此处所公开的各实施例可以在电子设 备上执行,包括利用触摸屏显示技术和/或鼠标键盘类型接口的设备。这些设备 的示例包括计算机(台式和移动)、智能电话、个人数字助理(PDA)、以及 有线和无线的其它电子设备。
一开始参考图1,示出了用于在地图制作应用程序上对数据分层的示例性
系统100。系统100包括覆盖组件102、优化组件104以及呈现器组件106,这 些组件作为一组过滤器来与层地图数据接口且当置于重叠配置中时可交互并 产生新过滤器。系统100例如可位于客户机或远程机器上,客户机或远程机器 可以是固定或移动的计算设备。
覆盖组件102可被配置成覆盖至少两个过滤数据集的部分。在地图制作应 用程序中,存在多个数据层,且过滤数据可包括一个或多个数据层。数据层可 以是由地图制作应用程序在不同文件的单独的数据流中接收的数据。数据层的 示例包括航摄图样式、道路图样式、天气、交通、实况web摄像头、陆标或名 胜古迹、三维结构、搜索结果、黄页、混搭(mashup)等。
每一过滤数据集(过滤器)可按任何组合被全部或部分置于彼此之上,以 呈现用户有兴趣查看的内容的"完整画面"。应注意到,过滤器可彼此完全覆盖, 或者一个过滤器的子集可覆盖一个或多个过滤器的子集。为了创建不同的层分 组,可由用户按需创建以及启用或禁用任何数目的过滤器。此外,可命名或标 识过滤器。
每一过滤器可在其在屏幕上自己的单独区域中被呈现到显示屏(例如,由 呈现组件106)。所显示的地图上的每一单独区域可被称为"显示蒙板"。每一 显示蒙板可以是任何形状或大小的,且同一地图制作应用程序中不同的显示蒙 板在形状和大小上可以不同。以这样的方式,地图制作应用程序可在窗口或显 示区中査看。在该窗口或査看区中也存在显示由过滤器为每一蒙板定义的各层 的显示蒙板。关于在地图制作应用程序中操作的显示蒙板的其他信息在下文中 提供。
优化组件104可被配置成标识指定的布尔或集合运算,并将该集合运算应用于两个或多个过滤数据集的覆盖部分。集合运算可以是并、差和交以及其他 布尔运算。用户可将集合运算定义为在两个或多个显示蒙板之间使用。这样定 义的集合运算可被预定义、在覆盖两个或多个显示蒙板时选择、或随用户对数 据的使用的改变而改变。根据某些实施例,系统100可自动显示请求应在重叠 部分上执行哪一集合运算的用户提示。
另外地或作为替换,优化组件104可对数据层应用如由用户所定义的时间
设置。例如,可在图象上调节时间设置以仅在显示蒙板内显示从2004年到2006 年取得的数据。以此方式,用户可通过在所感兴趣的区域上移动显示蒙板而非 切换整个地图的各个层来查看当时的(以及其他定义的显示蒙板信息)。以此 方式,优化组件104可对第一过滤数据集和第二过滤数据集独立应用时间设置。
呈现组件106可被配置成根据布尔或集合运算在重叠部分中呈现数据的 显示。显示蒙板中不重叠的部分不应用集合运算。以此方式,显示数据中不重 叠的部分以原始定义的数据层查看。然而,随着显示蒙板的移动和显示蒙板中 的各部分彼此重叠,分层的数据按集合运算所定义地改变。
图2示出了便于配置地图层并以预定义方式在至少两个过滤器的重叠部 分自动显示数据层的示例性系统200。系统200可位于客户机或远离客户机的 机器上。系统200可包括将第一过滤数据集的至少一部分与至少第二过滤数据 集的至少一部分相覆盖的覆盖组件202。还包括优化组件204,它对第一过滤 数据集和至少第二过滤数据集的覆盖部分应用集合运算,以及呈现组件206, 它根据该集合运算在重叠的部分中呈现数据。
系统200还包括分层组件208,它可被配置成在与地图制作应用程序相关 联的各个数据层之间进行区分。当数据层由地图制作应用程序接收时,分层组 件208可基于诸如命名约定、编号序列等标识方案来标识这些层。
分层组件208可与过滤组件210相关联。应理解,尽管过滤组件210被示 为包括在分层组件208中的组件,但根据某些实施例,过滤组件210可以是单 独的组件。用户可定义应被包括在每一显示蒙板中的那些层,过滤组件210可 被配置成将数据层应用或分派给显示蒙板。此外,过滤组件210可在接收改变 包含在每一显示蒙板中的层的类型和数目的用户请求时修改显示蒙板。这样的 改变可在任何时间发生,包括在定义了显示蒙板之后。过滤组件210可被配置成以可检索的格式,诸如在存储介质(未示出)中 维护或存储所定义的显示蒙板。各层的信息可保存在客户机上,而地图制作数 据从可远离客户机的服务器接收,然而其他配置也是可能的。作为示例而非限 制,存储介质可包括非易失性和/或易失性存储器。合适的非易失性存储器可包
括只读存储器(ROM)、可编程ROM (PROM)、电可编程ROM (EPROM)、 电可擦除可编程ROM (EEPROM)或闪存。易失性存储器可包括随机存取存 储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多 种形式可得,诸如静态RAM (SRAM)、动态RAM (DRAM)、同步DRAM
(SDRAM)、双数据率SDRAM (DDR SDRAM)、增强型SDRAM (ESDRAM)、 同步链路(Synchlink) DRAM (SLDRAM)、存储器总线(Rambus)直接RAM
(RDRAM)、直接存储器总线动态RAM (DRDRAM)、以及存储器总线动 态RAM (RDRAM)。
过滤组件可通过与输入组件214的接口接收用户输入212,输入组件214 可被配置成提供各种类型的用户界面。例如,输入组件214可以提供图形用户 界面(GUI)、命令行界面、语音界面、自然语言文本界面等等。例如,可以 呈现向用户提供对一个或多个显示蒙板进行加载、导入、选择、读取等的区域 或手段的GUI,并且该GUI可包括呈现这些动作的结果的区域。这些区域可 包括己知的文本和/或图形区域,包括对话框、静态控件、下拉菜单、列表框、 弹出菜单、编辑控件、组合框、单选按钮、复选框、按钮以及图形框。另外,
可采用便于选择哪些数据层要包括在每一显示蒙板中的工具,诸如用于导航的 垂直和/或水平滚动条以及确定一区域是否可被查看的工具栏按钮。例如,用户 可通过将信息输入到编辑控件内来与一个或多个显示蒙板、数据层或这两者交 互。
用户可通过诸如鼠标、滚球、键区、键盘、笔、经由照相机捕捉的姿势和 /或语音激活等各种设备来与数据层和显示蒙板交互以选择和提供信息。通常, 可在输入信息之后采用诸如键盘上的按钮或回车键等机制以启动信息传达。然 而,可以理解,所公开的各实施例不限于此。例如,仅仅突出显示一复选框可 启动信息传达。在另一示例中,可采用命令行界面。例如,命令行界面可通过 提供文本消息、产生音频音调等向用户提示信息。用户然后可提供合适的信息,诸如对应于在界面提示中提供的显示蒙板名或数据层名的字母数字输入或对 在提示中提出的问题(例如,"你想要在显示蒙板Y中包括(删除)数据层X " 或"你想要创建(移除)显示蒙板Z ")的回答。可以理解,命令行界面可以
与GUI和/或API结合使用。另外,命令行界面可以结合具有有限图形支持和/ 或低带宽通信信道的硬件(例如,视频卡)和/或显示器(例如,黑白和EGA) 来使用。
当一个或多个显示蒙板被置于一个或多个其他显示蒙板之上或在其上移 动时,诸如通过拖曳动作,覆盖组件202标识每一显示蒙板中被覆盖的各部分。 优化组件204可对每一显示蒙板中被覆盖的部分执行集合运算。所执行的集合 运算对显示蒙板中重叠的部分创建新过滤器,同时显示蒙板中其余部分(不与 另一显示蒙板重叠的那些部分)维持其原始定义的过滤器(例如,为该显示蒙 板选择的数据层)。因此,优化组件204可被配置成对重叠部分执行集合运算 而不影响显示蒙板中不被覆盖的部分。
如果两个或多个显示蒙板覆盖特定的显示蒙板或其子集,优化组件204 则可被配置成对显示蒙板的被覆盖的不同区域应用不同的集合运算。因此,显 示蒙板可对显示蒙板的不同子部分应用一个或多个集合运算。此外,如果两个 或多个显示蒙板覆盖另一显示蒙板的一部分,则可按照预定义次序对每一蒙板 执行集合运算。应注意,运算的次序可能影响运算的结果。
呈现组件206可与显示组件216交互以显示包括显示蒙板和应用于两个或 多个显示蒙板的重叠部分的集合运算的结果的地图。应理解,尽管显示组件216 被示为单独的组件,但根据某些实施例,它可作为呈现组件206的组件或系统 200的另一组件被包括。
图3示出了利用本文所公开的一个或多个实施例的地图制作应用程序显 示蒙板的示例性屏幕截图300。在屏幕截图中示出了三个不同的显示蒙板302、 304和306,它们是地理定位的。术语地理定位可指视觉层和诸如音频等非视 觉层。应理解,尽管将显示蒙板302、 304、 306示为在放大镜内,但它们可用 多种形式呈现,且形状和大小可在同一所显示的地图区域中的显示蒙板之间有 所不同。各个显示蒙板可被开启(在地图区域中显示)或关闭(不在地图区域 中显示)。此外,尽管本文公开的各个实施例是参考地图制作应用程序讨论的,
11但这样的实施例也可应用于各个其他应用程序,诸如模拟、虚拟世界、游戏、 社交网络和采用地理定位数据的其他系统。
每一示出的蒙板302、 304和306显示不同的数据层。层可包括数据(例 如,音频、文本、图象、雷达、激光雷达、红外)。第一蒙板302显示来自地 图制作应用程序的航摄图样式的图像,且如图所示提供太空针塔(Space Needle)的视图。第二蒙板304示出鸟瞰图象作为一层,并示出标记("Experience Music Project (体验音乐项目),,)作为同一蒙板中的另一层。第三蒙板306示 出另一层集,它们是三维建筑物或街边信息。每一蒙板302、 304、 306可被认 为是在基本道路图样式中"钻孔",这提供了蒙板302、 304、 306的位置关系, 从而提供了包含或显示在每一蒙板302、 304、 306内的各层的位置关系。
蒙板302、 304、 306可通过用户选择蒙板并将其拖放到屏幕的特定区域上 而在显示区域上移动。在显示蒙板上査看的信息随着它在地图区域中移动而改 变,以便反映它所处地图的部分。显示蒙板302、 304、 306也可通过用户选择 蒙板并指定显示区域上指示将蒙板移动到哪里的坐标而移动,然而,也可对所 公开的实施例采用用于移动蒙板的其他技术。显示蒙板可位于彼此之上,如由 第一显示蒙板302和第二显示蒙板304所示,重叠部分在308指示。蒙板302、 404的放置允许在数据层和显示蒙板上执行集合运算。
如本文所使用的集合运算与对蒙板区域定义的形状的交或重叠部分相关 联。用户可选择要应用的运算,然而运算的次序可能会影响运算的结果。对层 数据的运算的结果在重叠显示蒙板302、 304的公共区域308上显示。关于对 显示蒙板的重叠部分的集合运算的其他细节参考图4来提供。
作为示例而非限制,可创建三个过滤器,"我在城市的夜晚"、"我的商务 旅行"以及"我的其他"。可能存在与地图制作应用程序相关联的十个层,它们 可以是层l,航摄图样式;层22,道路图样式;层3,天气;层4,交通; 层5,实况web摄像头;层6,名胜古迹;层7,三维结构;层8,搜索结果(例 如,对宾馆的搜索);层9,黄页;层10,混搭(例如,慢跑路线)。这些层 的过滤器的示例例如可以有过滤器:
1. 我在城市的夜晚
a. 层l,航摄图样式
b. 层3,天气
c. 层4,交通
d. 层7,三维建筑物
e. 层9,黄页
2. 我的商务旅行
a. 层2,道路图样式
b. 层3,天气
c. 层6,名胜古迹
d. 层8,搜索结果(例如,对宾馆的搜索)
3. 我的其他
a. 层5,实况web摄像头
b. 层10,混搭(慢跑路线)
c. 层7,三维建筑物
以上各层中的每一个可按照任何组合被放置在彼此之上。与每一层相关联 的过滤器可由用户命名以及启用或禁用。此外,过滤器可被修改,且可创建新 的过滤器。
图4示出了显示蒙板相交区域上的示例性数据层并操作。第一显示蒙板 "A"过滤器402包含若干数据层,第二显示蒙板"B"过滤器404包含另一层数据 集。尽管多个显示蒙板可重叠,但为简明起见,仅示出了两个蒙板。两个显示 蒙板402、 404的相交区域406在应用区域集合运算时得到新的过滤器。用户 可选择要对重叠部分406应用的运算。这样的运算包括并运算、减法运算、交 运算以及其他布尔运算。
出于示例性的目的而非限制,显示蒙板"A"过滤器402可表示过滤器"我在 城市外出的夜晚",而显示蒙板"B"过滤器404可表示过滤器"我的其他"。此外,每一显示蒙板402、 404包含以下层。
我在城市的夜晚 航摄图样式 天气 交通
三维建筑物 黄页 我的其他
实况web摄像头 混搭,慢跑路线 三维建筑物
如果用户对层数据选择并运算G4u^,则重叠区域406中的显示示出来 自"我在城市的夜晚"和"我的其他"层数据两者的数据。重叠区域406的显示将 在应用运算之后示出以下数据层
航摄图样式
天气
交通
三维建筑物 黄页 实况web摄像头 混搭,慢跑路线
如果用户选择了减法运算04-^,则所显示的重叠层将如下
航摄图样式 天气交通 黄页
如果用户选择了交运算C4nS),则所显示的重叠层将如下 三维建筑物
图5示出了采用机器学习的示例性系统500,该系统便于自动化根据所公
开的各实施例的一个或多个特征。基于机器学习的系统(例如,显式和/或隐式 训练的分类器)可用于执行根据将在下文中描述的一个或多个方面的推断和/ 或概率判断和/或基于统计的判断。如此处所使用的,术语"推断"通常指的是根
据经由事件、传感器和/或数据捕获的一组观察结果来推出或推断系统、环境、 和/或用户状态的过程。例如,推断可用于标识特定的上下文或动作,或可生成 状态的概率分布。推断可以是概率性的——即,基于数据和事件的考虑计算感 兴趣的状态的概率分布。推断也可以指用于从一组事件和/或数据合成更高级事 件的技术。这类推断导致从一组观察到的事件和/或储存的事件数据中构造新的 事件或动作,而无论事件是否在相邻时间上相关,也无论事件和数据是来自一 个还是若干个事件和数据源。各种分类方案和/或系统(例如,支持矢量机、神 经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎......)可用于
执行关于各实施例的自动化和/或推断的动作。
各个实施例(例如,结合创建一个或多个显示蒙板和对两个或多个显示蒙
板的重叠部分执行集合运算)可采用各种基于人工智能(AI)的方案以便执行 其各方面。例如,可通过自动分类器系统和进程来促进用于确定是否应在显示 蒙板中包括新数据层的进程。而且,在采用具有相同或相似数据层的多个显示 蒙板时,分类器可用于确定要在特定的情形中采用哪一显示蒙板,或是否应删 除或重命名一特定显示蒙板。
分类器是将输入属性矢量x = (xl, x2, x3, x4, ;c")映射到该输入属于一个类 的置信度的函数,即/Tx^^cw7/We"ce(c/a^)。这一分类可采用基于概率和/或基 于统计的分析(例如,分解成分析效用和成本)来预测或推断用户期望自动执行的动作。在数据层的情况中,例如,属性可以是单词或词组,或从单词导出 的其他数据专用属性(例如,命名约定、标识方案),而类可以是感兴趣的类 别或领域(例如,详细程度)。
支持矢量机(SVM)是可采用的分类器的一个示例。SVM通过找出可能 输入空间中的超曲面来操作,其中,超曲面试图将触发准则从非触发事件中分 离出来。直观上,这使得分类对于接近但不等同于训练数据的测试数据正确。 可采用其它定向和非定向模型分类方法,包括,例如,朴素贝叶斯、贝叶斯网 络、决策树、神经网络、模糊逻辑模型以及提供不同独立性模式的概率分类模 型。此处所使用的分类也包括用于开发优先级模型的统计回归。
如从本说明书中可以容易地理解的,一个或多个实施例可以使用显式训练 (例如,经由通用训练数据)以及隐式训练(例如,通过观察用户行为、接收
外来信息)的分类器。例如,SVM通过分类器构造器和特征选择模块中的学
习或训练阶段来配置。因此,分类器可用于自动学习和执行多个功能,包括但 不限于根据预定准则确定何时授予访问权、要执行哪一存储过程等。准则可包
括但不限于通过调用访问的数据或资源量、数据类型、数据重要性等。
根据某些实施例,机器学习组件可以是实现方案(例如,规则、基于规则 的逻辑组件),且可用来控制和/或管制显示蒙板和相关联的数据层。可以理解, 基于规则的实现可以基于预定义准则来自动和/或动态地管制集合运算和一个 或多个集合运算的次序。响应于此,基于规则的实现可通过基于任何所需的一 个或多个集合运算采用预定义和/或编程的规则来从两个或多个数据蒙板的重 叠部分自动创建新过滤器。
考虑到以上示出并描述的示例性系统,参考图6-8的流程图将可以更好地
理解可依照所公开的主题实现的方法。尽管出于简化解释的目的,各方法被显 示和描述为一系列的框,但应该理解和明白,所要求保护的主题不受框的顺序 所限,因为一些框能够以与在此所叙述和描述所不同的顺序发生和/或与其他框 同时发生。而且,并非所有示出的框都是实现以下描述的方法所必需的。可以 理解,与各框相关联的功能可以由软件、硬件、其组合、或任何其它合适的装 置(例如,设备、系统、进程、组件)来实现。另外,还应该明白,下文以及 本说明书全文中所公开的方法能够被存储在制品上,以便于把此类方法传送和转移到各种设备。本领域技术人员将会明白并理解,方法可替换地被表示为一 系列相互关联的状态或事件,诸如以状态图的形式。
图6示出了用于在地图制作应用程序中显示分层数据的方法600。方法600 在602开始,在那里标识至少两个分层数据集。这两个分层数据集可以是包括 至少一个数据层的过滤器或显示蒙板。这样的显示蒙板可由用户配置和激活 (在屏幕上显示)或停用(不在屏幕上显示)。停用的显示蒙板不能够在当前 会话中标识,除非该蒙板被激活。
在604,对至少两个分层数据集的交应用集合运算。集合运算可以是布尔 运算,且可包括两个或多个显示蒙板之间的各层的并、两个或多个显示蒙板之 间的各层的减法、或两个或多个显示蒙板的各层的交运算。
在606,至少两个分层数据集的交至少部分基于所应用的集合运算被显 示。交被显示为至少部分基于所应用的集合运算的单独的分层数据集。例如, 如果应用了并集合运算,则两个分层数据集的重叠或交部分将包括这两个集合 的所有层。如果应用了减法集合运算,则重叠部分将显示非公共数据层。即如 果两个层均具有一公共数据层,且应用了减法集合运算,则公共数据层将删去 且将不在重叠部分中显示。如果应用了交集合运算,则重叠部分将显示两个(或 多个)分层数据集之间的公共数据层。当两个或多个分层数据集不再重叠(例 如,当用户移动一个或多个集合时),且不再存在相交时,交集合运算被自动 移除,且分层数据集返回到其预定义状态。
图7示出了用于在地图制作应用程序上对数据分层的另一方法700。方法 在702开始,在那里标识一个或多个过滤数据集(显示蒙板)。用户可指定哪 些数据层应被包括在每一过滤数据集中。在704,在地图制作应用程序上显示 所选过滤数据集。所选数据集是地图应用程序中被激活(开启)的那些数据集。 预定义但未被激活的数据集不在地图区域中査看。以此方式,用户可指定要査 看的所需数据集,且可以在不必切换整个地图的层的情况下在所感兴趣的区域 上移动所需数据集(显示蒙板)。
在706作出是否存在过滤数据的重叠部分的判断。这样的判断可在用户将 分层数据集的至少一部分移动到第二分层数据集的另一部分上的几乎同时作 出。例如,用户可利用鼠标选择第一显示蒙板,并在地图区域上"拖曳"该蒙板
17并在地图区域的不同部分"放下"该蒙板。
如果不存在过滤数据的重叠部分("否"),则将蒙板显示为数据层而不执 行任何集合运算。如果706处的判断是存在过滤数据的重叠部分("是"),则
方法700在708继续,在那里对重叠部分应用集合运算。集合运算包括交、并 和减法或要在重叠数据层上执行的另一布尔函数。在708执行的集合运算可以 由用户预定义。在某些实施例中,可向用户呈现指定要执行的集合运算的提示。
该方法在700继续,在那里将应用了集合运算的重叠部分显示为单独的过 滤数据集。显示蒙板中不与另一显示蒙板相交或重叠的部分以其原始格式显 示。例如,如果显示蒙板被创建以显示天气层和交通层,则蒙板中不与另一蒙 板重叠的部分将示出天气层和交通层。
现在参见图8,示出了可用于执行所公开的体系结构的计算机的框图。为 了提供用于此处所公开的各方面的附加上下文,图8及以下讨论旨在提供对其 中可实现各方面的合适的计算环境800的简要概括描述。尽管以上在可在一个 或多个计算机上运行的计算机可执行指令的一般上下文中描述一个或多个实 施例,但是本领域的技术人员将认识到,各实施例也可结合其它程序模块和/ 或作为硬件和软件的组合来实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、 程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方 法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小 型机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可 编程消费电子产品等,其每一个都可操作上耦合到一个或多个相关联的设备。
所示各方面也可以在其中某些任务由通过通信网络链接的远程处理设备 来执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于本 地和远程存储器存储设备中。
计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机 访问的任一可用介质,并包括易失性和非易失牲介质、可移动和不可移动介质。 作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或 其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其 它存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁盒、磁带、 磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机访问 的任一其它介质。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算 机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术 语"已调制数据信号"指的是其一个或多个特征以在信号中编码信息的方式被 设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网 络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。以 上的任何组合也应包括在计算机可读介质的范围之内。
再次参考图8,用于实现各方面的示例性环境800包括计算机802,计算 机802包括处理单元804、系统存储器806和系统总线808。系统总线808将 包括但不限于系统存储器806的系统组件耦合到处理单元804。处理单元804 可以是各种市场上可购买到的处理器中的任意一种。双微处理器和其它多处理 器体系结构也可用作处理单元804。
系统总线808可以是若干种总线结构中的任一种,这些总线结构还可互连 到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上 可购买到的总线体系结构中的任一种的局部总线。系统存储器806包括只读存 储器(ROM) 810和随机存取存储器(RAM) 812。基本输入/输出系统(BIOS) 储存在诸如ROM、 EPROM、 EEPROM等非易失性存储器810中,其中BIOS 包含帮助诸如在启动期间在计算机802内的元件之间传输信息的基本例程。 RAM 812还可包括诸如静态RAM等高速RAM用于高速缓存数据。
计算机802还包括内置硬盘驱动器(HDD) 814 (例如,EIDE、 SATA), 该内置硬盘驱动器814还可被配置成在合适的机壳(未示出)中外部使用;磁 软盘驱动器(FDD) 816 (例如,从可移动磁盘818中读取或向其写入);以 及光盘驱动器820 (例如,从CD-ROM盘822中读取,或从诸如DVD等其它 高容量光学介质中读取或向其写入)。硬盘驱动器814、磁盘驱动器816和光 盘驱动器820可分别通过硬盘驱动器接口 824、磁盘驱动器接口 826和光盘驱 动器接口 828连接到系统总线808。用于外置驱动器实现的接口 824包括通用
19串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。其它外置驱动 器连接技术在一个或多个实施例所构想的范围之内。
驱动器及其相关联的计算机可读介质提供了对数据、数据结构、计算机可 执行指令等的非易失性存储。对于计算机802,驱动器和介质容纳适当的数字 格式的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移 动磁盘以及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当 理解,示例性操作环境中也可使用可由计算机读取的任何其它类型的介质,诸 如zip驱动器、磁带盒、闪存卡、盒式磁带等等,并且任何这样的介质可包含 用于执行此处所公开的方法的计算机可执行指令。
多个程序模块可储存在驱动器和RAM 812中,包括操作系统830、 一个 或多个应用程序832、其它程序模块834和程序数据836。所有或部分操作系 统、应用程序、模块和/或数据也可被高速缓存在RAM812中。可以理解,各 实施例可用各种市场上可购得的操作系统或操作系统的组合来实现。
用户可以通过一个或多个有线/无线输入设备,例如键盘838和诸如鼠标 840等定点设备将命令和信息输入到计算机802中。其它输入设备(未示出) 可包括话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其 它输入设备通常通过耦合到系统总线804的输入设备接口 842连接到处理单元 808,但也可通过其它接口连接,如并行端口、 IEEE 1394串行端口、游戏端口、 USB端口、 IR接口等等。
监视器844或其它类型的显示设备也经由接口 ,诸如视频适配器846连接 至系统总线808。除了监视器844之外,计算机通常包括诸如扬声器和打印机 等的其它外围输出设备(未示出)。
计算机802可使用经由有线和/或无线通信至一个或多个远程计算机,诸 如远程计算机848的逻辑连接在网络化环境中操作。远程计算机848可以是工 作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的 娱乐设备、对等设备或其它常见的网络节点,并且通常包括以上相对于计算机 802描述的许多或所有元件,尽管为简明起见仅示出了存储器/存储设备850。 所描绘的逻辑连接包括到局域网(LAN) 852和/或例如广域网(WAN) 854 等更大的网络的有线/无线连接。这一 LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例 如因特网等全球通信网络。
当在LAN网络环境中使用时,计算机802通过有线和/或无线通信网络接 口或适配器852连接到局域网856。适配器856可以方便到LAN 852的有线或 无线通信,并且还可包括其上设置的用于与无线适配器856通信的无线接入点。
当在WAN网络环境中使用时,计算机802可包括调制解调器858,或连 接到WAN 854上的通信服务器,或具有用于通过WAN 854,诸如通过因特网 建立通信的其它装置。或为内置或为外置的调制解调器858以及有线或无线设 备经由串行端口接口 842连接到系统总线808。在网络化环境中,相对于计算 机802所描述的程序模块或其部分可以存储在远程存储器/存储设备850中。应 该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路 的其它手段。
计算机802可用于与操作上设置在无线通信中的任何无线设备或实体通 信,这些设备或实体例如有打印机、扫描仪、台式和/或便携式计算机、便携式 数据助理、通信卫星、与无线可检测标签相关联的任何一个设备或位置(例如, 公用电话亭、报亭、休息室)以及电话。这至少包括Wi-Fi和蓝牙TM无线技术。 由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备 之间的自组织(adhoc)通信。
Wi-Fi,即无线保真,允许从家中、在酒店房间中、或在工作时连接到因 特网而不需要线缆。Wi-Fi是一种类似蜂窝电话中使用的无线技术,它使得诸 如计算机等设备能够在室内和室外,在基站范围内的任何地方发送和接收数 据。Wi-Fi网络使用称为IEEE 802.11 (a、 b、 g等等)的无线电技术来提供安 全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因 特网以及连接到有线网络(使用IEEE 802.3或以太网)。Wi-Fi网络在未许可 的2.4和5 GHz无线电波段内工作,例如以11 Mbps (802.11a)或54 Mbps (802.11b)数据速率工作,或者具有包含两个波段(双波段)的产品,因此该 网络可提供类似于许多办公室中使用的基本lOBaseT有线以太网的真实性能。
现在参见图9,示出了根据各实施例的示例性的计算环境900的示意性框 图。系统900包括一个或多个客户机902。客户机902可以是硬件和/或软件(例如,线程、进程、计算设备)。客户机902可例如通过采用各实施例而容纳cookie 和/或相关联的上下文信息。
系统900还包括一个或多个服务器904。服务器904也可以是硬件和/或软 件(例如,线程、进程、计算设备)。服务器904可以例如通过使用各实施例 来容纳线程以执行变换。在客户机卯2和服务器904之间的一种可能的通信能 够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。数据分组 可包括例如cookie和/或相关联的上下文信息。系统900包括可以用来使客户 机906和服务器902之间通信更容易的通信框架904 (例如,诸如因特网等全 球通信网络)。
通信可经由有线(包括光纤)和/或无线技术来促进。客户机902操作上 被连接到可以用来存储对客户机908本地的信息(例如,cookie和/或相关联的 上下文信息)的一个或多个客户机数据存储卯2。同样地,服务器卯4可在操 作上连接到可以用来存储对服务器910本地的信息的一个或多个服务器数据存 储904。
以上所描述的包括各实施例的示例。当然,出于描绘各实施例的目的而描 述组件或方法的每一个可以想到的组合是不可能的,但本领域内的普通技术人 员可以认识到,许多进一步的组合和排列都是可能的。因此,本说明书旨在涵 盖所有这些落入所附权利要求书的范围内的更改、修改和变化。
特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另 外指明,否则用于描述这些组件的术语(包括对"装置"的引用)旨在对应于执 行所描述的执行此处在示例性方面中所示的功能的组件的指定功能(例如,功 能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。在这 一点上,也可认识到各方面包括用于执行各方法的动作和/或事件的系统以及具 有用于执行这些动作和/或事件的计算机可执行指令的计算机可读介质。
此外,一个或多个实施例可以使用产生用于控制基于计算机以实现所公开 的各实施例的软件、固件、硬件或其任意组合的标准编程和/或工程技术实现为 的方法、装置或制品。此处所用的术语"制品"(或作为替换,"计算机程序产 品")旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机程序。例 如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁
22带......)、光盘(例如,压縮盘(CD)、数字通用盘(DVD)......)、智能
卡和闪存设备(例如,卡、棒)。另外应该明白,可以采用载波来承载计算机 可读电子数据,例如那些用于发送和接收电子邮件或用于访问如因特网或局域
网(LAN)等网络的数据。当然,本领域的技术人员将会认识到,在不背离所 公开的实施例的范围的前提下可以对这一配置进行许多修改。
另外,尽管可相对于若干实现中的仅一个来公开一个特定特征,但是这一 特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其 它特征相组合。此外,就在说明书或权利要求书中使用术语"包括"和"含有"及 其变体而言,这些术语旨在以与术语"包含"相似的方式为包含性的。
权利要求
1. 一种用于在地图应用程序上对数据分层的系统(100、200、500),包括将第一过滤数据集(302、402)的至少一部分与至少第二过滤数据集(304、404)的至少一部分相覆盖的覆盖组件(102、202、205);对所述第一过滤数据集(302、402)和所述至少第二过滤数据集(304、404)的被覆盖部分(308、404)应用集合运算的优化组件(104、204、504);以及根据所述集合运算在所述重叠部分(308、404)中呈现数据的呈现组件(106、206、506)。
2. 如权利要求1所述的系统,其特征在于,所述集合运算是并、差和交之
3. 如权利要求1所述的系统,其特征在于,所述第一过滤数据集和所述至 少第二过滤数据集被显示为地图制作应用程序上的覆盖图。
4. 如权利要求l所述的系统,其特征在于,所述第一和第二过滤数据 集包括单独的数据层。
5. 如权利要求1所述的系统,其特征在于,所述优化组件对所述第一过滤 数据集和所述第二过滤数据集独立地应用时间设置。
6. 如权利要求1所述的系统,其特征在于,还包括向每一过滤数据集分派 至少一个数据层的过滤组件。
7. 如权利要求6所述的系统,其特征在于,所述过滤组件在客户机的存储 介质中维护每一过滤数据集。
8. 如权利要求1所述的系统,其特征在于,根据所述集合运算呈现的所述 数据创建第三过滤数据集。
9. 如权利要求1所述的系统,其特征在于,还包括接受要对所述重叠部分 应用的用户定义的集合运算的输入组件。
10. —种用于在地图制作应用程序中显示分层数据的方法,包括标识(602、 702)第一分层数据集(302、 402)和至少第二分层数据集 (304、 404);对所述第一分层数据集(302、 402)和所述至少第二分层数据集(304、 404)的交(308、 406)应用(604、 708)集合运算;以及至少部分基于所应用的集合运算将所述交(308、 406)显示(606、 710) 为单独的分层数据集。
11. 如权利要求10所述的方法,其特征在于,还包括在地图制作应用 程序上显示所述第一和第二分层数据集。
12. 如权利要求10所述的方法,其特征在于,在标识了所述第一和第 二分层数据集之后,还包括确定所述第一分层数据集是否有至少一部分重叠 所述第二分层数据集的至少一部分。
13. 如权利要求10所述的方法,其特征在于,还包括以可检索格式 保存所述第一分层数据集和所述至少第二分层数据。
14. 如权利要求10所述的方法,其特征在于,还包括确定所述第一分层数据集的至少第一部分是否与所述第二分层数据集的 至少第二部分相交;以及当确定所述至少第一部分不与所述至少第二部分相交时,从所述交中移除所述集合运算。
15. 如权利要求10所述的方法,其特征在于,所述集合运算是布尔函数。
16. 如权利要求10所述的方法,其特征在于,所述集合运算由用户定义。
17. —种在地图制作应用程序中提供分层数据的计算机可执行系统,包括用于定义第一显示蒙板(302、 402)和至少第二显示蒙板(304、 404)的 计算机实现的装置(210);用于确定所述第一显示蒙板(302、 402)的至少一个子集和所述第二显示 蒙板(304、 404)的子集是否创建重叠部分(308、 406)的计算机实现的装置 (102、 202、 302);以及用于对所述重叠部分(308、 406)应用集合运算的计算机实现的装置(104、 204、 308)。
18. 如权利要求17所述的系统,其特征在于,还包括用于将在所述重 叠部分中应用的集合运算呈现为单独的显示蒙板的计算机实现的装置。
19. 如权利要求17所述的系统,其特征在于,还包括 标识所述第一和第二显示蒙板的子集何时不重叠的计算机实现的装置;以及用于移除所述集合运算的计算机实现的装置。
20. 如权利要求17所述的系统,其特征在于,还包括用于接收要对所 述第一和第二显示蒙板的所述重叠部分应用的集合运算的计算机实现的装置。
全文摘要
提供了根据多个分层数据集显示详细数据信息的地图制作应用程序。当至少两个分层数据集的各部分重叠时,对重叠部分应用集合运算以创建新的分层数据集。集合运算允许利用简单的功能,诸如通过将分层数据集拖放到地图区域的不同部分来修改分层数据集。当各部分不再重叠时,移除集合运算,以其原始格式呈现分层数据集。
文档编号G06T15/00GK101506848SQ200780031289
公开日2009年8月12日 申请日期2007年8月3日 优先权日2006年8月25日
发明者R·D·韦尔斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1