CN105531702A - 用于生成数字地图的技术 - Google Patents
用于生成数字地图的技术 Download PDFInfo
- Publication number
- CN105531702A CN105531702A CN201480049900.3A CN201480049900A CN105531702A CN 105531702 A CN105531702 A CN 105531702A CN 201480049900 A CN201480049900 A CN 201480049900A CN 105531702 A CN105531702 A CN 105531702A
- Authority
- CN
- China
- Prior art keywords
- row
- data structure
- map
- classification
- class label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/37—Details of the operation on graphic patterns
- G09G5/377—Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Instructional Devices (AREA)
- Color Image Communication Systems (AREA)
- Navigation (AREA)
Abstract
描述了用于生成数字地图的技术。方法可以包括:接收具有针对数字地图的地理区域定义的多个类别的类别信息,多个类别中的每个类别具有一个或多个类别值;对任务进行调度以利用一个或多个处理器电路来生成注释的数字地图,注释的数字地图包括针对数字地图的地理区域的多个类别和相关联的类别值的视觉表示,视觉表示具有不同的视觉部分,每个视觉部分表示由随时间变化的相关联的类别值定义的类别,视觉部分中的每包括数据点的集合;并且根据所调度的任务,通过电路来生成具有视觉表示的注释的数字地图。描述和主张了其他实施例。
Description
背景技术
数字地图正变成用于传递表示人员、地点、对象和事件的位置的地图信息的通用平台。随着更多的地图信息被呈现在数字地图上,确保以有意义的方式来将地图信息呈现给用户变得必要。此外,数字地图正在变得更加交互性,以允许用户对数字地图进行操纵以查看感兴趣的特定地图项。此外,巨量的地图信息消耗显著的计算和通信资源。其结果是,需要增强的技术来对数字地图进行管理和操纵,以有效地传递地图信息。
发明内容
下面给出简要的概述,以便于提供对本文描述的一些新颖实施例的基本理解。本概述不是宽泛的概括,并且也不是要标识关键/重要的元件或者描述其范围。其唯一目的是以简要的形式来给出一些概念,作为稍后给出的更详细的描述的前序。
实施例总体上针对用于管理数字地图的增强的技术。一些实施例特别针对以高效和有效的方式来管理数字地图的地图信息,以有利于用户的消费的增强的技术。
在一个实施例中,地图应用可以利用地图调度器部件来将工作单元分配给多个处理器和/或处理器核心,以高效地渲染数字地图。例如,数字地图可以在不同的时间,在同一个位置中呈现变化类型的信息。在这样的情况下,需要针对共享同一时间和位置的所有数据点,来确定一数据点的相对位置。可以将工作调度到处理器集合中的给定处理器,以降低运算该相对位置所需要的时间量。
为了实现上文及相关的目的,本文结合下面的描述以及附图描述了某些示例性方面。这些方面指示可以实现本文公开的原理的各种方式,并且所有这些方面及其等价物都是要落入要求保护的主题的范围内。当结合附图考虑时,根据下文的具体实施方式,其他优点和新颖特征将变得显而易见。
附图说明
图1示出了用于管理数字地图的装置的实施例。
图2A-C示出了区域地图的帧的实施例。
图3示出了装置的逻辑的实施例。
图4示出了第二区域地图的实施例。
图5示出了第三区域地图的实施例。
图6示出了第四区域地图的实施例。
图7示出了用于装置的逻辑流的实施例。
图8示出了用于装置的第二逻辑流的实施例。
图9示出了用于装置的第三逻辑流的实施例。
图10示出了用于装置的第四逻辑流的实施例。
图11示出了用于装置的集中式系统的实施例。
图12示出了用于装置的分布式系统的实施例。
图13示出了计算架构的实施例。
图14示出了通信架构的实施例。
具体实施方式
实施例总体上针对用于管理数字地图的增强技术。一些实施例特别针对用于以高效和有效的方式来管理数字地图的地图信息以有利于用户消费的增强技术。
实施例可以对工作进行组织、管理和调度,来以非常高效和有效的方式生成具有视觉表示的数字地图。视觉表示的一个示例可以包括覆盖在数字地图的特定位置上的图表(例如,条形图、饼状图、分簇的柱形图等)。图表可以提供针对与给定位置相关联的多个类别的图表数据,例如,美国的一个州的政党关系和选民数量。如针对给定实现所期望的,本文描述的技术可以应用于数字地图的任何视觉表示和类别数据。实施例并不限于该上下文。
更特别地,实施例试图改进对共享视觉表示的空间中的同一位置的时限性(time-bound)的数据点的渲染。为了实现该目标,渲染系统可以被布置为针对任何给定的时间点,确定哪些数据点是可见的。在同一时间点上,多个点在同一位置处可见的那些情况中,渲染系统在共享同一时间和位置的所有数据点中动态地(例如,针对每个渲染帧)确定一数据点的相对位置。以这种方式,渲染系统可以快速地处理视觉表示随时间的改变,例如,当与视觉表示相关联的类别值变化时。此外,实施例试图以允许帧的渲染由多个处理器电路并行地执行、由单个专用处理器(例如,图形处理单元)顺序地执行或者由二者的某种组合执行的方式来组织工作任务。其结果是,实施例可以改进操作者、设备或网络的承受能力、可伸缩性、模块化、可扩展性或互操作性。其他优点和使用场景同样适用。
在一个实施例中,方法可以包括:接收具有针对数字地图的地理区域定义的多个类别的类别信息,多个类别中的每个类别具有一个或多个类别值;对任务进行调度以利用一个或多个处理器电路来生成注释的数字地图,该注释的数字地图包括数字地图的地理区域的多个类别和相关联的类别值的视觉表示,该视觉表示具有不同的视觉部分,每个视觉部分表示由随时间变化的相关联的类别值定义的类别,每个视觉部分包括数据点的集合;以及根据所调度的任务,通过电路来生成具有视觉表示的注释的数字地图。描述并且要求保护其他实施例。
一般参照本文所使用的符号和术语,下面的详细描述以在计算机或计算机的网络上执行的程序过程的形式给出。这些过程性的描述和表示由本领域技术人员使用,以将他们工作的实质最有效地传递给本领域的其他技术人员。
这里,过程通常被视为产生期望的结果的自相容的操作序列。这些操作是需要对物理量进行物理操纵的那些操作。通常,虽然不是必须的,这些量可以采用能够被存储、传送、组合、比较以及其他操纵的电、磁或光信号的形式。主要出于通用的原因,将这些信号称为比特、值、元素、符号、字符、项、数量等有时被证明是方便的。然而,应当注意到,所有这些和类似的术语是要与合适的物理量相关联,并且仅是应用于这些量的方便的标签。
此外,执行的操纵通常被称为例如相加或者比较等术语,这些术语通常与由人类操作者所执行的精神上的操作相关联。在本文描述的形成一个或多个实施例的部分的任何操作中,大多数情况下,这样的人类操作者的能力都不是必须的,或者不是期望的。确切地说,这些操作是机器操作。用于执行各种实施例的操作的有用的机器包括通用数字计算机或者类似设备。
各种实施例还涉及用于执行这些操作的装置或系统。该装置可以被专门构造以用于要求的目的,或者其可以包括由存储在计算机中的计算机程序来选择性地驱动或者重新配置的通用计算机。本文所给出的过程并不固有地与特定的计算机或其他装置有关。可以利用根据本文的教示写出的程序来使用各种通用机器,或者可以证明构造更专用的装置来执行所需的方法步骤是方便的。从给出的描述中,各种这样的机器的所需结构将显而易见。
现在参照附图,其中,在整个附图中,相同的附图标记用于指代相同的元件。在下面的描述中,出于解释的目的,阐述了大量的特定细节,以便于提供对本文的充分理解。然而,可能显而易见的是,这些新颖的实施例可以在没有这些特定细节的情况下实施。在其他实例中,以框图的形式示出了公知的结构和设备,以便有利于对这些结构和设备的描述。其意图是要覆盖与要求保护的主题一致的所有修改、等价物、和可替换方案。
图1示出了装置100的框图。在一个实施例中,装置100可以包括计算机实现的装置100,其具有包括一个或多个部件122-a的软件地图应用120。尽管图1中示出的装置100具有按照某种拓扑的有限数量的元件,但应当认识到,如针对给定实现所期望的,装置100可以包括按照可替换的拓扑的更多或更少的元件。
值得注意的是,本文使用的“a”和“b”和“c”以及类似指示符是要作为表示任何正整数的变量。由此,例如,如果实现设置了a=5的值,则部件122-a的完整集合可以包括部件122-1、122-2、122-3、122-4和122-5。实施例并不限于该上下文。
装置100可以包括地图应用120。地图应用120一般可以被布置为管理数字地图124。地图是区域的视觉表示。数字地图124可以包括数字或电子形式的地图。数字地图124可以用于描绘地理。尽管一些实施例在对物理地理位置进行视觉化的方面来讨论地图,但数字地图124还可以用于表示任何空间,真实的或想象的,例如,用于表示脑图、DNA图和宇宙图。实施例不限于该上下文。
在一个实施例中,地图信息112可以由实现装置100的同一个电子设备来提供。在一个实施例中,地图信息112可以由与实现装置100的电子设备(例如,客户端)不同的电子设备(例如,服务器)提供。
地图应用120可以包括能够创建、修改、管理或者另外使用数字地图124的地图信息的任何软件应用。在一个实施例中,地图应用120可以包括或者被实现为独立的生产力应用、或者生产力应用的插件。生产力应用可以包括被设计为执行知识工作者的功能的特定集合的软件应用程序。生产力应用通常操作用于创建、修改、发送、接收或另外管理一个或多个文档的内容。生产力应用的示例可以包括但不限于被设计用于特定操作系统的互相关联的客户端应用、服务器应用和/或网络服务的生产力套件,例如,华盛顿雷蒙德微软公司开发的用于MICROSOFT的OFFICE生产力套件。生产力应用的示例可以包括但不限于:MICROSOFTWORD、MICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTPROJECT、MICROSOFTPUBLISHER、MICROSOFTWORKSPACE、MICROSOFTMICROSOFTOFFICEINTERCONNECT、MICROSOFTOFFICEPICTUREMANAGER、MICROSOFTSHAREPOINTDESIGNER、以及MICROSOFTLYNC。服务器应用的示例可以包括但不限于:MICROSOFTSHAREPOINTSERVER、MICROSOFTLYNCSERVER、MICROSOFTOFFICEFORMSSEVER、MICROSOFTOFFICESERVER、MICROSOFTOFFICEPROJECTSERVER、MICROSOFTOFFICEPROJECTPORTFOLIOSERVER、以及MICROSOFTOFFICESERVER。此外,还应当认识到,除了与所描述的实施例一致的生产力应用之外,实施例还可以实现其他类型的应用。实施例不限于这些示例。
地图应用120能够与网络设备(例如,提供诸如网络服务等的网络服务的服务器)进行通信。网络服务的示例可以包括但不限于:MICROSOFTWINDOWSMICROSOFTOFFICE网络APPLICATIONS、MICROSOFTOFFICELIVE、MICROSOFTLIVEMEETING、MICROSOFTOFFICEPRODUCT网络SITE、MICROSOFTUPDATESERVER、以及MICROSOFTOFFICE365。
再次参照图1,地图应用120可以与其他部件、应用和/或设备交互操作,以接收和/或取回控制指令100、数字地图124的地图信息112、以及数字地图124的类别信息130的集合作为输入。地图应用120可以根据控制指令110来对给定的数字地图124的地图信息112和类别信息130进行处理,并且输出注释的数字地图140。注释的数字地图140可以包括具有地理区域的数字地图124,所述地理区域注释有用于表示由类别信息130定义的多个类别的一个或多个颜色、颜色变量、颜色阴影和/或混合颜色。
注释的数字地图140还可以包括具有地理区域的数字地图124,所述地理区域具有所选择的位置处的视觉表示。视觉表示可以包括适合于以视觉的方式表示类别信息的任何图形化用户界面(GUI)元件。视觉表示的示例可以包括但不限于图表覆盖,其中,视觉图表覆盖被注释有用于表示由类别信息130定义的多个类别的一个或多个颜色、颜色变量、颜色阴影和/或混合颜色。视觉表示的其他示例可以包括但不限于对象、图标、图像、图形、动画、照片、图片、表、数据结构以及能够传递类别信息的任何其他GUI元件。视觉表示可以具有任何水平的不透明度或透明度,以允许查看数字地图上的底层位置,如针对给定实现所期望的。实施例不限于该上下文。
控制指令110可以表示用于对各个部件122-1、122-2和122-2进行控制的控制字或命令。控制指令110可以从诸如触摸屏、语音命令或定点设备等的输入设备接收。输入设备可以由用户手动地控制或者从另一个应用、部件和/或设备自动地控制。控制指令110可以用于传递控制字或命令,以对地图应用120进行控制,例如,选择配置参数、操作参数、性能参数、格式化参数、安全参数、特征、颜色、颜色梯度(颜色斜面)、用户简档、以及与地图应用120相关联的其他可配置信息。实施例不限于该上下文。
地图信息112可以表示与数字地图124相关联的任何数字信息。地图信息112的示例可以包括但不限于地理坐标、边界、兴趣点、元数据、地图对象、图标等。在一个实施例中,数字地图124的地图信息112可以是地理信息系统(GIS)的一部分,或者源自于该GIS。GIS是制图、统计分析和计算机科学技术的融合。GIS是被设计为捕获、存储、操纵、分析、管理、和呈现所有类型的地理数据的系统。GIS可以将数字地图124的地图信息112存储、生成和/或供应到客户端系统,例如地图应用120。GIS可以将地图信息112存储、生成和/或供应为连续流、离散部分(例如,地图块)、或者某种其他期望的形式。也可以使用其他地理信息系统和/或数据。实施例不限于该上下文。
类别信息130可以表示可以与数字地图124的定义的地理区域相关联的任何定义的类别和/或类别值。类别信息130的示例可以包括但不限于商业信息、实体信息、企业信息、销售信息、市场信息、政党关系、投票信息、人口统计信息、数字信息、时间信息等,仅仅举出几个示例。实施例不限于该上下文。
地图应用120可以包括地图管理器部件122-1。地图管理器部件122-1可以管理数字地图124。这可以包括例如下面的操作:从GIS取回数字地图124的地图信息112、从GIS更新数字地图124的地图信息112、针对用户界面或网络浏览器来渲染数字地图124、在电子显示器上呈现数字地图124、存储数字地图124、分配数字地图124的任务和工作信息140、生成数字地图的元数据、以及其他地图管理操作。
地图应用120可以包括地图调度器部件122-2。地图调度器部件122-2提供在数字地图124的球面视图上呈现大量的时限分类数据点的能力。地图调度器部件122-2可以将工作信息140(例如,工作单元)分配给多个处理器和/或处理器核心,以有效地渲染数字地图124。例如,数字地图124可以在不同的时间,在同一个位置中呈现变化类型的信息。在该情况下,需要针对共享该同一时间和位置的所有数据点,确定一数据点的相对位置。可以将工作调度到处理器集合中的给定处理器,以减少运算该相对位置所需要的时间量。
地图应用120可以包括地图生成器部件122-3。地图生成器部件122-3一般可以被布置为生成、注释、修改、存储或另外管理数字地图124。地图生成器部件122-3可以从服务器(例如,GIS服务器)接收地图信息,或者从本地数据库中取回存储的地图信息112。地图生成器部件122-3可以利用各种类型的地图信息112来生成和/或注释数字地图124。地图生成器部件122-3可以在图形化用户界面(GUI)或者网络浏览器中渲染数字地图124,以用于在电子显示器上呈现。
再次参照针对数字地图124的工作调度操作,地图调度器部件122-2提供在数字地图124的球面视图上呈现大量的时限分类的数据点的能力。地图调度器部件122-2可以将工作单元分配给多个处理器电路150-b(和/或处理器核心和/或处理器线程),以有效地渲染数字地图124。处理器电路150-b可以是执行地图应用120和地图调度器部件122-2的同一个处理器电路或是与其不同的处理器电路。实施例不限于该上下文。
处理器电路150-b可以被实现为电子设备的一部分,如参照图11所进一步详细描述的。每个处理器电路150一般可以被布置为执行针对地图应用120的逻辑。处理器电路150的示例可以包括广泛的各种商业可用的处理器中的任一个。处理器电路150可以包括通用处理器电路或专用处理器电路。此外,这些处理器电路150中的一个或多个可以包括多个处理器、多线程处理器、多核心处理器(无论所述多个核共存于同一管芯上还是不同管芯上)、和/或多个物理单独的处理器以某种方式链接的某种其他变型的多处理器架构。在一个实施例中,处理器电路150可以包括不同类型的处理器电路,例如,应用处理器、基带处理器、专用集成电路、控制器、微控制器等。在一个实施例中,处理器电路150可以包括被设计为补充主处理器(例如,中央处理单元)的一个或多个协处理器,例如,浮点单元(FPU)、图形处理单元(GPU)、信号处理单元、字符串处理单元、加密处理单元、输入/输出(I/O)接口、存储器控制器等。实施例并不限于该上下文。
地图调度器部件122-2可以将工作单元分配给多个处理器150(和/或处理器核心和/或处理器线程),以有效地渲染数字地图124。例如,数字地图124可以在不同的时间,在同一个位置中呈现变化类型的信息。在该情况下,需要针对共享该相同时间和位置的所有数据点,确定一数据点的相对位置。地图调度器部件122-2可以对工作单元进行调度,以用于由处理器电路102的集合中的给定处理器电路102来进行处理,以减少运算该相对位置所需要的时间量。
地图调度器部件122-2可以使用诸如图形处理单元(GPU)等的一个或多个专用处理器来渲染数以百万计的时限分簇的图形元素。为了渲染共享空间中同一位置的多个时限数据点,渲染系统需要针对任何给定的时间点,确定哪些数据点是可见的。当在同一时间点,多个点在同一位置处可见时,渲染系统还需要动态地确定(例如,对于每个被渲染的帧)共享该同一时间和位置的所有数据点中的数据点的相对位置。
例如,假定地图调度器部件122-2被给予如表1中所示出的数据集,其中这些数据点共享同一位置:
表1
值 | 类别 | 时间戳 |
3 | 黄色 | 1 |
4 | 绿色 | 1 |
7 | 黄色 | 2 |
2 | 绿色 | 3 |
1 | 红色 | 3 |
与表1的数据集相关联的各种帧需要针对不同的时间戳来进行渲染,如图2中所示。
图2A-C示出了与表3相关联的帧200的集合。帧200可以包括用于以饼形图的形式呈现数据的三个(3)示例性帧202、204和206。作为示例,帧200使用饼形图,但本文所描述的技术可以被实现用于任何类型的视觉化图表,例如,堆叠柱、分簇柱、基于区域的多边形数据、或者其他图表。实施例并不限于该上下文。
图2A示出了在时间戳1处被渲染的第一帧202。帧202可以包括数字地图124的视觉表示210。视觉表示210可以包括一个或多个视觉部分212-c。如图2中所示,例如,视觉表示210可以包括视觉部分212-1、212-2和212-3。视觉部分212-1可以被分配颜色黄色(例如,黄色类别),视觉部分212-2可以被分配颜色绿色(例如,绿色类别),视觉部分212-3可以被分配颜色红色(例如,红色类别),如图2中所指示的。黄色类别、绿色类别和红色类别的大小和相对位置可以由表1中时间戳1处指示的类别值来进行设置。
图2B示出了在时间戳2处被渲染的第二帧204。帧204可以包括如所指示的黄色类别和绿色类别。黄色类别和绿色类别的比例由被时间戳2处的值修改过的表1中时间戳1处指示的值来进行设置。如在时间戳2处的帧204中所指示的,例如,来自绿色类别的值在时间戳1处仍然是可见的,这是因为这里使用的视觉类型需要值保持为可见的,直到在后面的时间戳中由更新的值替换为止。
图2C示出了在时间戳3处渲染的第三帧206。帧206可以包括如所指示的黄色类别、绿色类别和红色类别。黄色类别、绿色类别和红色类别的比例由被时间戳3处的值修改过的表1中的在时间戳1、2处指示的值来进行设置。如在时间戳3处的帧206中所指示的,例如,来自时间戳1处的绿色类别的值仍然是可见的,这是因为这里使用的视觉类型需要值保持为可见的,直到在后面的时间戳由更新的值替换为止。
在一些情况下,帧渲染可以完全地由CPU代码执行。然而,这种类型的实现是不可缩放的,因为CPU存储器与GPU存储器之间的数据传送速度显著地限制了每帧可以被处理的数据量。为了允许渲染系统处理和显示数以百万的动态数据点,地图调度器部件122-2仅利用GPU来处理渲染系统的所有数据。
图3示出了逻辑300。逻辑300可以由地图调度器部件122-2和/或用于对用于电子显示器的图形进行渲染的渲染系统来实现。渲染系统的示例可以包括但不限于视频控制器。在一个实施例中,例如,渲染系统可以包括实现为GPU的处理器电路150。GPU可以用于根据逻辑300来渲染时限分簇的图形元件。
在一个实施例中,渲染系统可以实现地图调度器部件122-2。可替换地,渲染系统可以从地图调度器部件122-2接收控制指令,以根据逻辑300来渲染时限分簇的图形元件。实施例不限于给定的实现。
如图3中所示,逻辑300可以包括收集阶段302、累加阶段304、选择阶段306、以及数据点生成阶段308。收集缓冲器312、累加缓冲器314和选择缓冲器316可以分别用于存储三个阶段302、304和306中的每一个阶段的数据。缓冲器312、314和/或316可以被实现为任何类型的存储器单元,例如参照图11所描述的那些。尽管示出了用于每个阶段的三个单独的缓冲器,但应当认识到,针对给定的实现,可以使用更多或更少的缓冲器。实施例不限于该上下文。
在收集阶段302,渲染系统遍历所有数据点,通过某种标准对它们进行过滤,并将它们输出到存储在结构化的收集缓冲器312中的收集数据结构中。过滤标准的示例可以包括但不限于数据点在当前帧期间是否是可见的。收集数据结构可以包括针对位置和选择的类别0-M的多个列,以及从0-N的多个行。这些收集值可以用于确定给定位置处的视觉表示内的每个类别的类别值。
在如下所示的表2中,可以示出用于收集数据结构的结构的示例:
表2
类别 | ||||||
位置 | 0 | 1 | 2 | 3 | (…) | M |
0 | ||||||
1 | ||||||
2 | ||||||
3 | ||||||
4 | ||||||
(…) | ||||||
N |
GPU硬件深度缓冲器可以用于确保当多个数据点满足过滤标准时(例如,一个以上的数据点在给定的位置中同一时间可见时),只选择最高值。
在累加阶段304,渲染系统遍历由前面的收集阶段302生成的收集数据结构中的所有单元,并对它们的值进行累加。其输出是存储在累加缓冲器314中的累加数据结构。累加数据结构在结构上类似于收集数据结构(如表2所示出的)。然而,每个单元的值包含同一行上的左边所有值的和。例如,假定收集数据结构具有下面表3中示出的包含类别值的集合[3,2,5,7,9]的行0:
表3
类别 | |||||
位置 | 0 | 1 | 2 | 3 | 4 |
0 | 3 | 2 | 5 | 7 | 9 |
在该情况下,累加数据结构将包含如下面表4中所示的累加值的集合[3,5,10,17,26]:
表4
位置 | |||||
行0 | 3 | 5 | 10 | 17 | 26 |
如表4中所指示的,第一单元可以包含值3,其与表3的第一单元相同。第二单元可以包含值5,其是表3的第一单元和第二单元的值3和2的和(例如,3+2=5)。第三单元可以包含值10,其是表3的第一单元、第二单元和第三单元的和(例如,3+2+5=10)。该过程继续通过收集数据结构的整个行0,以生成收集数据结构的行0的累加值,用于存储在累加数据结构中。这些累加值可以用于确定在给定位置处视觉表示内每个类别的相对位置。
为了使用GPU来并行地执行该累加,渲染系统执行log2(类别的数量)遍,其中每遍将一个单元与左边2pass个单元距离远的每个邻居相加。例如,假定收集数据结构具有行0,行0具有表5所示的类别值的集合[3,5,2,0,4,0,7,3],如下所示:
表5
类别 | ||||||||
位置 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
0 | 3 | 5 | 2 | 0 | 4 | 0 | 7 | 3 |
渲染系统遍历表5中示出的由先前的收集阶段302生成的收集数据结构的行0中的所有单元,并且在累加阶段304期间,在3遍中对它们的值进行累加:[3,8,7,2,4,4,7,10]、[3,8,10,10,11,6,11,14]、[3,8,10,10,14,14,21,24]。
第一遍的结果被示出在第一遍累加数据结构中,如下表6所示:
表6
位置 | ||||||||
0 | 3 | 8 | 7 | 2 | 4 | 4 | 7 | 10 |
如表6中所指示的,在第一遍期间,第一单元可以包含值3,其与表5中的第一单元相同。第二单元可以包含值8,其是表6的第一单元和第二单元的值3和5的和(例如,3+5=8)。第三单元可以包含值7,其是表6的第二单元和第三单元的和(例如,5+2=7)。第四单元可以包含值2,其是表6的第三单元和第四单元的和(例如,2+0=2)。该过程继续通过收集数据结构的整个行0,以生成收集数据结构的行0的第一遍累加值。第一遍累加值可以存储在第一遍累加数据结构中。
第二遍的结果在第二遍累加数据结构中示出,如下面表7中所示:
表7
位置 | ||||||||
0 | 3 | 8 | 10 | 10 | 11 | 6 | 11 | 14 |
如先前所描述的,每遍将一个单元与左边2pass个单元距离远的每个邻居相加。如表7中所指示的,在第二遍期间,第一单元可以包含值3,其与表6中的第一单元相同。第二单元可以包含值8,其与表6的第二单元相同。第三单元可以包含值10,其是表6的第一单元和第三单元的值3和7的和(例如,3+7=10)。第四单元可以包含值10,其是表6的第二单元和第四单元的和(例如,8+2=10)。第五单元可以包含值11,其是表6的第三单元和第五单元的和(例如,7+4=11)。该过程继续通过第一遍累加数据结构的整个行0,以生成收集数据结构的行0的第二遍累加值。第二遍累加值可以存储在第二遍累加数据结构中。
第三遍和最后一遍的结果在第三遍累加数据结构中示出,如下面表8中所示:
表8
位置 | ||||||||
0 | 3 | 8 | 10 | 10 | 14 | 14 | 21 | 24 |
如先前所描述的,每遍将一个单元与左边2pass个单元距离远的每个邻居相加。如表8中所指示的,在第三遍期间,第一单元可以包含值3,其与表7中的第一单元相同。第二单元可以包含值8,其与表7的第二单元相同。第三单元可以包含值10,其与表7的第三单元相同。第四单元可以包含值10,其与表7的第四单元相同。第五单元可以包含值14,其是表7的第一单元和第五单元的值3和11的和(例如,3+11=14)。第六单元可以包含值14,其是表7的第二单元和第六单元的和(例如,8+6=14)。第七单元可以包含值21,其是表7的第三单元和第七单元的和(例如,10+11=21)。最后,第八单元可以包含值24,其是表7的第四单元和第八单元的和(例如,10+14=24)。第三遍累加值可以存储在累加数据结构中,作为表5中所示出的收集数据结构的行0的最终累加值。
在选择阶段306,渲染系统遍历在收集阶段302期间生成的收集数据结构的所有单元,并且每个单元选择满足某个标准的一个值。例如,可以选择最大值,以使得只显示给定位置处具有最高值的类别。例如,利用表3中示出的收集数据结构,位置0的最高类别值是类别4的类别值9。该数据被输出作为存储在选择缓冲器316中的选择数据结构。选择数据结构可以至少具有位置、值和选择的类别的三列,以及行0-N。选择数据结构的示例可以在表9中示出,如下所示:
表9
位置 | 值 | 选择的类别 |
0 | ||
1 | ||
2 | ||
3 | ||
4 | ||
(…) | ||
N |
在数据点生成阶段308,渲染系统遍历分别存储在收集缓冲器312、累加缓冲器314和选择缓冲器306中的收集数据结构、累加数据结构和选择数据结构中的数据,并且发布具有正确值和位置的数据点。数据点生成阶段308将数据输出到GPU缓冲器,该数据稍后由将数据显示在屏幕上的实际的渲染算法来进行消费,由此允许整个数据处理和视觉化都在GPU中进行。
图4示出了区域地图400。区域地图400可以示出具有堆叠柱图的数字地图124的部分,所述堆叠柱图利用逻辑300被实现用于数字地图124上的特定地理位置。作为示例,区域地图400可以使用堆叠柱图,但本文所描述的技术可以被实现用于任何类型的视觉图表,例如,饼形图、簇状柱形图、基于区域的多边形数据或者其他图表。实施例不限于该上下文。
如图4中所示,区域地图400示出了在数字地图124上的给定位置404处的堆叠柱图402。堆叠柱图402可以具有不同的柱部406-d,每个柱部表示与给定位置404相关联的不同类别。堆叠柱图402可以使用颜色来对每个柱部406在视觉上进行区分,例如,分别针对柱部406-1、406-2和406-3,使用颜色蓝色、黄色和紫色,柱部406-1、406-2和406-3中的每个表示与位置404相关联的不同类别。
当对堆叠柱图402进行渲染时,存储在收集缓冲器312中的收集数据结构中的类别值用于确定堆叠柱图402中的柱部406中的每个的类别值。存储在累加缓冲器314中的累加数据结构中的累加值用于确定堆叠栏图402中的柱部406的相对位置。例如,假定柱部406-1、406-2和406-3分别被分配了值2、5和4。可以使用前面两个单元的累加值(在该示例中,其可以是9)来确定柱部406-1的位置。可以使用前面单元的值(在该示例中,其可以是4)来确定柱部406-2的位置。可以使用前面单元的值(其被设置为0,因为不存在前面的单元)来确定柱部406-3的位置。
图5示出了区域地图500。区域地图500可以示出具有饼形图的数字地图124的部分,所述饼形图利用逻辑300被实现用于数字地图124上的特定地理位置。作为示例,区域地图500可以使用饼形图,但本文所描述的技术可以被实现用于任何类型的视觉图表,视觉图表例如是堆叠柱图、簇状柱形图、基于区域的多边形数据或者其他图表。实施例不限于该上下文。
如图5中所示,区域地图500示出了数字地图124上的给定位置504处的饼形图502。饼形图502可以具有不同的饼形图部分506-e,每个饼形图部分506表示与给定位置504相关联的不同类别。饼形图502可以使用颜色来对每个饼形图部分406在视觉上进行区分,例如,,分别针对饼形图部分506-1、506-2和506-3使用颜色蓝色、黄色和紫色,饼形图部分506-1、506-2和506-3中的每个表示与位置504相关联的不同类别。
当发布饼形图实例时,收集缓冲器312和最大的累加缓冲器值确定饼形图502的每个饼形图部分506的相对大小。累加缓冲器值确定饼形图502的每个饼形图部分506的相对位置。最大的累加缓冲器值确定整个饼形图502的大小。例如,假定饼形图部分506-1、506-2和506-3分别被分配值2、4和5。可以使用前面两个单元的累加值(在该示例中,其可以是9)来确定饼形图部分506-1的位置。使用前面单元的值(其被设置为0,这是由于不存在前面的单元)来确定饼形图部分506-2的位置。使用前面单元的值(在该示例中,其可以是4)来确定饼形图部分506-3的位置。
图6示出了区域地图600。区域地图600可以示出具有各种区域的数字地图124的部分,其中,与给定区域相关联的一个或多个类别使用不同的颜色、颜色变量、颜色阴影或混合颜色来进行表示。
如图6中所示,区域地图600示出了具有单个的颜色黄色的区域602。当将数据显示为区域时,渲染系统可以使用选择阶段306来选择每个位置的最大值。收集和累加缓冲器值包含用于合适地对区域602进行阴影化的值,而选择缓冲器316确定什么值最终被渲染。例如,假定区域902被分配了值5,其是来自值的集合[2,4,5]中的最大值。存储在选择缓冲器316中的选择数据结构可以包含一个或多个类别和相关联的值,这些类别和值可以用于生成区域602的颜色(或者颜色阴影或混合颜色),在本情况中,颜色是黄色。
数据点生成阶段308可以将数据输出到GPU缓冲器,该数据稍后由在电子显示器上呈现数据的实际的渲染算法来进行消费,由此允许整个数据处理和视觉处理都在GPU上进行。
本文包括表示用于执行所公开的架构的新颖方面的示例性方法的流程图的集合。尽管为了便于说明简便的目的,本文示出的一个或多个方法例如,流程图表或流程图形式,被示出和描述为一系列的动作,但应当理解和认识到,方法并不由动作的顺序限制,这是因为,根据所述方法,一些动作可以以与本文示出和描述的顺序不同的顺序发生和/或与其他动作并行发生。例如,本领域普通技术人员将理解和认识到,方法可以可替换地例如以状态图的方式表示为一系列相关的状态或事件。此外,新颖的实现可以不需要方法中示出的所有动作。
图7示出了逻辑流700的一个实施例。逻辑流700可以表示由本文描述的一个或多个实施例执行的操作中的一些或全部。逻辑流700可以示出由地图应用120执行的操作。
在图7所示出的示例性实施例中,在框702处,逻辑流700可以接收具有针对数字地图的地理区域定义的多个类别的类别信息,多个类别中的每个具有一个或多个类别值。例如,在处理器电路上操作的地图应用120可以被布置为管理数字地图124。地图应用120可以包括地图管理器部件122-1,其被布置为接收具有针对数字地图124的地理区域定义的多个类别的类别信息130。例如,多个类别中的每个可以具有如表3中所示的一个或多个类别值。
在框704处,逻辑流700可以对任务进行调度以利用一个或多个处理器电路来生成注释的数字地图,其中,注释的数字地图包括针对数字地图的地理区域的多个类别和相关联的类别值的视觉表示,该视觉表示具有不同的视觉部分,每个视觉部分表示由随时间变化的相关联的类别值定义的类别,每个视觉部分包括数据点的集合。例如,地图应用120可以包括地图调度器部件122-2,其被布置为调度工作信息140以利用一个或多个处理器电路150来生成注释的数字地图160。注释的数字地图160可以包括针对数字地图124的地理区域的多个类别和相关联的类别值的视觉表示210。视觉表示210可以具有不同的视觉部分212,每个视觉部分表示由随时间变化的相关联的类别值定义的类别,每个视觉部分中包括数据点的集合。在表1中示出了随时间变化的类别值的示例。
在框706处,逻辑流700可以根据所调度的任务,通过电路来生成具有视觉表示的注释的数字地图。例如,地图应用120可以包括地图生成器部件122-3,其被布置为根据分配给处理器电路150中的一个或多个的工作信息140来生成具有视觉表示210的注释的数字地图160。例如,在一个实施例中,工作信息140可以被分配给一个或多个GPU。
在框708处,逻辑流700可以在电子显示器上呈现注释的数字地图。例如,地图生成器部件122-3可以在电子设备的电子显示器上呈现注释的数字地图160。可替换地,地图生成器部件122-3可以发送针对另一个软件或硬件部件的控制指令,以在电子设备的电子显示器上呈现注释的地图160。
图8示出了逻辑流800的一个实施例。逻辑流800可以表示由本文所描述的一个或多个实施例执行的操作中的一些或全部。逻辑流800可以示出在收集阶段302期间由地图应用120执行的操作。
在图8所示出的示例性实施例中,在框802处,逻辑流800可以遍历视觉表示的所有数据点。例如,地图调度器部件122-2可以对工作信息140进行调度来遍历视觉表示210的所有数据点。
在框804处,逻辑流800可以通过一个或多个过滤标准来对这些数据点进行过滤。例如,地图调度器部件122-2可以对工作信息140进行调度来通过一个或多个过滤标准对数据点进行过滤。过滤标准的示例可以包括:在当前帧期间可见的那些数据点。
在框806处,逻辑流800可以将过滤后的数据点存储在收集缓冲器中的收集数据结构中,该收集数据结构具有行和列的集合,所述行用于表示数据点的位置,并且所述列用于表示数据点的类别,每个行和列的交叉点包括具有类别值的单元。例如,地图调度器部件122-2可以对工作信息140进行调度以将过滤后的数据点存储在收集缓冲器312中的收集数据结构中。该收集数据结构可以具有结构。例如,在一个实施例中,该收集数据结构可以被实现为具有行和列的集合的表,所述行用于表示数据点的位置,并且所述列用于表示数据点的类别,每个行和列的交叉点包括具有类别值的单元。在表2中示出了收集数据结构的示例。
图9示出了逻辑流900的一个实施例。逻辑流900可以表示由本文描述的一个或多个实施例执行的操作中的一些或全部。逻辑流900可以示出在累加阶段304期间由地图应用120执行的操作。
在图9所示出的示例性实施例中,在框902处,逻辑流900可以遍历具有行和列的集合的收集数据结构,所述行用于表示数据点的位置,并且所述列用于表示数据点的类别,每个行和列的交叉点包括具有类别值的单元。例如,地图调度器部件122-2可以对工作信息140进行调度来遍历收集数据结构,例如,表2或表3中示出的收集数据结构。
在框904处,逻辑流900可以在一个或多个累加遍次中对收集数据结构的每行上的类别值进行累加。例如,地图调度器部件122-2可以对工作信息140进行调度来在一个或多个累加遍次中对收集数据结构的每行上的类别值进行累加。例如,当使用单个处理器电路150-1(例如,CPU)时,该累加任务可以在单个累加遍次中执行,如表3中所示。
在框906处,逻辑流900可以使用多个累加遍次,利用图形处理单元(GPU)来并行地对收集数据结构的每行上的类别值进行累加。例如,地图调度器部件122-2可以对工作信息140进行调度以在两个或更多累加遍次中,对收集数据结构的每行上的类别值进行累加。当使用多个处理器电路150-1、150-2时,该任务可以在多个累加遍次中执行,如在表5-8中所示的。例如,在一个实施例中,处理器电路150-1可以被实现为CPU,并且处理器电路150-2可以被实现为耦合到处理器电路150-1的GPU。地图调度器部件122-2可以对工作信息140进行调度以指示GPU使用多个累加遍次,并行地对收集数据结构的每行上的类别值进行累加。
在框908处,逻辑流900可以将累加的值存储在累加缓冲器中的累加数据结构中,累加的数据结构具有行和列的集合,所述行用于表示数据点的位置,并且所述列用于表示数据点的累加值迭代,每个行和列的交叉点包括具有累加的值的单元。例如,地图调度器部件122-2可以对工作信息140进行调度以将累加的值存储在累加缓冲器314中的累加数据结构中。累加数据结构可以具有任何结构。在一个实施例中,累加数据结构可以被实现为具有行和列集合的表,所述行用于表示数据点的位置,并且所述列用于表示数据点的累加值迭代,每个行和列的交叉点包括具有累加的值的单元,如表4中所示出的。
图10示出了逻辑流1000的一个实施例。逻辑流1000可以表示由本文描述的一个或多个实施例执行的操作中的一些或全部。逻辑流1000可以示出在选择阶段306期间由地图应用120执行的操作。
在图10所示出的示例性实施例中,在框1002处,逻辑流1000可以遍历具有行和列的集合的收集数据结构,所述行用于表示数据点的位置,并且所述列用于表示数据点的类别,每个行和列的交叉点包括具有类别值的单元。例如,地图调度器部件122-2可以对工作信息140进行调度来遍历收集数据结构,例如,表2或表3中示出的收集数据结构。
在框1004处,逻辑流1000可以针对每行选择与一个或多个选择标准相对应的类别值。例如,地图调度器部件122-2可以对工作信息140进行调度以针对每行选择与一个或多个选择标准相对应的类别值。选择标准的示例可以包括最大的类别值,以确保在给定的位置处,只有具有最高值的类别用于视觉表示210。
在框1006处,逻辑流1000可以将所选择的值存储在选择缓冲器中的选择数据结构中,选择数据结构具有行和列的集合,所述行用于表示数据点的位置,第一列用于表示所选择的类别值,并且第二列用于表示与所选择的类别值相关联的所选择的类别。例如,地图调度器部件122-2可以对工作信息140进行调度来将所选择的值存储在选择缓冲器316中的选择数据结构中。选择数据结构可以被实现为任何结构。例如,在一个实施例中,选择数据结构可以被实现为具有行和列的集合的表。行可以表示数据点的位置。第一列可以表示所选择的类别值。第二列可以表示与所选择的类别值相关联的所选择的类别。在表9中示出了选择数据结构的示例。
一旦完成收集阶段302、累加阶段304和选择阶段306,并且收集数据结构、累加数据结构和选择数据结构被生成并且分别存储在收集缓冲器312、累加缓冲器314和选择缓冲器316中,则处理器电路150可以将控制返回给地图应用120。地图生成器部件122-3可以使用收集数据结构、累加数据结构和选择数据结构来生成具有视觉表示210的注释的数字地图160。例如,在一个实施例中,地图生成器部件122-3可以确定每个位置的类别和相关联的类别值,以便于从收集数据结构和选择数据结构来渲染视觉表示210的每个视觉部分212的数据点,并且根据累加数据结构来确定每个视觉部分212在视觉表示210内的相对位置。
图11示出了集中式系统1100的框图。集中式系统1100可以在单个计算实体中(例如,完全地在单个设备1120内)实现装置100的结构和/或操作中的一些或全部。
设备1120可以包括能够接收、处理和发送用于装置100的信息的任何电子设备。电子设备的示例可以包括但不限于:超级移动设备、移动设备、个人数字助理(PDA)、移动计算设备、智能电话、电话、数字电话、蜂窝电话、电子书阅读器、手持设备、单向寻呼机、双向寻呼机、消息传送设备、计算机、个人计算机(PC)、桌面型计算机、膝上型计算机、笔记本计算机、上网本计算机、手持计算机、平板计算机、服务器、服务器阵或服务器群、网服务器、网络服务器、互联网服务器、工作站、微型计算机、大型计算机、超级计算机、网络设备、网设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子设备、可编程消费电子设备、游戏设备、电视、数字电视、机顶盒、无线接入点、基站、用户站、移动用户中心、无线网络控制器、路由器、集线器、网关、网桥、交换机、机器或者其组合。实施例并不限于该上下文。
设备1120可以使用处理部件1130来执行装置100的处理操作或逻辑。处理部件1130可以包括各种硬件元件、软件元件或二者的组合。硬件元件的示例可以包括设备、逻辑设备、部件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻、电容、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者其任何组合。确定实施例是使用硬件元件和/或软件元件实现的可以根据任何数量的因素而变化,如针对给定实现所期望的,所述因素例如可以是期望的计算速率、功率级、热耐受度、处理循环预算、输入数据速率、输出数据速率、存储器网络资源、数据总线速度和其他设计或性能约束。
设备1120可以使用通信部件1140来执行装置100的通信操作或逻辑。通信部件1140可以实现任何公知的通信技术和协议,例如,适合于与分组交换网络(例如,诸如互联网等的公共网络、诸如企业内联网等的专用网等)、电路交换网络(例如,公共交换电话网络)、或者分组交换网络和电路交换网络的组合(具有合适的网关和转换器)一起使用的技术。通信部件1140可以包括各种类型的标准通信元件,例如,一个或多个通信接口、网络接口、网络接口卡(NIC)、无线设备、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质1112、1142包括有线通信介质和无线通信介质。有线通信介质的示例可以包括电线、电缆、金属导线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤、传播信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外线和其他无线介质。
设备1120可以经由通信部件1140,分别使用通信信号1114、1144,通过通信介质1112、1142分别与其他设备1110、1150进行通信。设备1110、1150可以在设备1120的内部或外部,如针对给定实现所期望的。
如图11中所示,设备1120可以实现整个的装置100以访问由另一个设备实现的地图数据库,例如,由设备1150实现的GIS1160。装置100还可以利用实现装置100的一些或全部的另一个设备(例如,设备1110)来渲染数字地图124。数字地图124可以以任何数量的方式被传送,例如,通过消息传递接口(例如,电子邮件、短消息服务(SMS)、多媒体消息服务(MMS)、即时消息(IM)等)、共享网络存储空间、对等通信、网络技术(例如,网页)、以及其他通信模态。此外,设备1110还可以使用装置100,以类似于与设备1120通信的方式来与GIS1160进行通信。设备1120还可以实现计算和/或通信设备共用的其他平台部件,例如,参照图15所描述的。
图12示出了分布式系统1200的框图。分布式系统1200可以将装置100的结构和/或操作的部分分布到多个计算实体上。分布式系统1200的示例可以包括但不限于客户端-服务器架构、3层架构、N层架构、紧密耦合或聚集的架构、对等架构、主从架构、共享数据库架构、以及其他类型的分布式系统。实施例并不限于该上下文。
分布式系统1200可以包括客户端设备1210和服务器设备1250。一般地,客户端设备1210和服务器设备1250可以与参照图2描述的客户端设备220相同或类似。例如,客户端系统1210和服务器系统1250每个可以包括处理部件1230和通信部件1240,它们分别与参照图11描述的处理部件1130和通信部件1140相同或类似。在另一个示例中,设备1210、1250可以经由通信部件1240,使用通信信号1214来通过通信介质1212进行通信。
客户端设备1210可以包括或采用根据所描述的实施例操作以执行各种方法的一个或多个客户端程序。例如,在一个实施例中,客户端设备1210可以实现装置100的一部分,例如,地图应用120。
服务器设备1250可以包括或采用根据所描述的实施例操作以执行各种方法的一个或多个服务器程序。例如,在一个实施例中,服务器设备1250可以实现装置100的一部分,例如,GIS1160。分布式模型可以适合于在多个设备或用户之间共享地图信息。
图13示出了适合于实现如上文描述的各种实施例的示例性计算架构1300的实施例。在一个实施例中,计算架构1300可以包括或被实现为电子设备的部分。电子设备的示例可以包括参照图11描述的那些等。实施例不限于该上下文。
如本申请所使用的,术语“系统”和“部件”是要指代与计算机有关的实体,无论其是硬件、硬件和软件的组合、还是软件或执行中的软件,这些实体的示例由示例性计算架构1300提供。例如,部件可以是但不限于在处理器上运行的进程、处理器、硬盘驱动器、多个存储驱动器(光和/或磁存储介质)、对象、可执行体、执行的线程、程序、和/或计算机。作为示例,在服务器上运行的应用和该服务器二者都可以是部件。一个或多个部件可以驻留在进程和/或执行的线程内,并且部件可以位于一个计算机上和/或分布在两个或更多计算机上。此外,部件可以通过各种类型的通信介质来相互通信地耦合,以协调操作。协调可以涉及信息的单向或双向交换。例如,部件可以以在通信介质上传送的信号的形式来传送信息。信息可以被实现为分配给各种信号线的信号。在这样的分配中,每个消息都是信号。然而,另外的实施例可以可替换地采用数据消息。这样的数据消息可以通过各种连接被发送。示例性连接包括并行接口、串行接口和总线接口。
计算架构1300包括各种常见的计算单元,例如,一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)部件、电源等。然而,这些实施例不限于计算架构1300的实现。
如图13中所示,计算架构1300包括处理单元1304、系统存储器1306和系统总线1308。处理单元1304可以是各种商业可用的处理器中的任何一个,其包括但不限于和处理器;应用、嵌入式和安全处理器;和和处理器;IBM和单元处理器;Core(2) 和处理器;以及类似处理器。此外,双核微处理器、多核处理器和其他多处理器架构也可以被采用作为处理单元1304。
系统总线1308提供了用于系统部件的接口,该接口包括但不限于系统存储器1306到处理单元1304的接口。系统总线1308可以是能够使用各种商业可用的总线架构中的任一个来进一步互连到存储器总线(具有或者不具有存储器控制器)、外围总线和本地总线的多种类型的总线结构中的任何一个。接口适配器可以经由插槽架构连接到系统总线1308。示例插槽架构可以包括但不限于加速图形端口(AGP)、插件总线、(扩展的)工业标准架构((E)ISA)、微通道架构(MCA)、NuBus、外围部件互连(扩展的)(PCI(X))、快速PCI、个人计算机存储卡国际协会(PCMCIA)等。
计算架构1300可以包括或者实现各种制品。制品可以包括用于存储逻辑的计算机可读存储介质。计算机可读存储介质的示例可以包括能够存储电数据的任何有形介质,其包括易失性存储器或者非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可以包括使用任何合适类型的代码实现的可执行计算机程序指令,所述代码例如是源代码、编译的代码、解释的代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码等。实施例还可以至少部分地被实现为包含在非暂时性计算机可读介质中或者上的指令,该指令可以由一个或多个处理器来读取和执行,以实现本文所描述的操作的性能。
系统存储器1306可以包括以一个或多个较高速度的存储器单元形式的各种类型的计算机可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、诸如铁电聚合物存储器等的聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(RAID)驱动器等的设备阵列、固态存储器设备(例如,USB存储器、固态驱动器(SSD))以及适合于存储信息的任何其他类型的存储介质。在图13中所示出的示例性实施例中,系统存储器1306可以包括非易失性存储器1310和/或易失性存储器1312。基本输入/输出系统(BIOS)可以存储在非易失性存储器1310中。
计算机1302可以包括具有一个或多个较低速度的存储器单元形式的各种类型的计算机可读存储介质,包括内部(或外部)硬盘驱动器(HDD)1314、用于从可移动磁盘1318读取或者向可移动磁盘1318写入的磁性软盘驱动器(FDD)1316、以及用于从可移动光盘1322(例如,CD-ROM或DVD)读取或者向可移动光盘1322写入的光盘驱动器1320。HDD1314、FDD1316和光盘驱动器1320可以分别通过HDD接口1324、FDD接口1326和光驱动接口1328连接到系统总线1308。用于外部驱动实现的HDD接口1324可以包括通用串行总线(USB)和IEEE1394接口技术中的至少一种或者两种。
驱动器和相关联的计算机可读介质提供数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,包括操作系统1330、一个或多个应用程序1332、其他程序模块1334和程序数据1336在内的大量程序模块可以存储在驱动器和存储器单元1310、1312中。在一个实施例中,一个或多个应用程序1332、其他程序模块1334、以及程序数据1336可以例如包括系统100的各种应用和/或部件。
用户可以通过诸如键盘1338的一个或多个有线/无线输入设备和诸如鼠标1340等的定点设备来将命令和信息输入到计算机1302中。其他输入设备可以包括:麦克风、红外(IR)远程控制、射频(RF)远程控制、游戏手柄、手写笔、读卡器、加密锁、指纹读取器、手套、绘图板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容式、电阻式等)、跟踪球、跟踪板、传感器、尖笔等。通常,这些和其他输入设备通过耦合到系统总线1308的输入设备接口1342连接到处理单元1304,但也可以通过诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等的其他接口来连接。
监视器1344或者其他类型的显示设备还经由诸如视频适配器1346等的接口连接到系统总线1308。监视器1344可以在计算机1302内部或外部。除了监视器1344之外,计算机通常包括其他外围输出设备,例如,扬声器、打印机等。
计算机1302可以使用经由有线和/或无线通信的到一个或多个远程计算机(例如,远程计算机1348)的逻辑连接在网络化环境中操作。远程计算机1348可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或者其他常见的网络节点,并且通常包括参照计算机1302所描述的单元中的多个或者全部,但是为了简洁起见,仅示出了存储器/存储设备1350。所描述的逻辑连接包括与局域网(LAN)1352和/或更大网络(例如,广域网(WAN)1354)的有线/无线连接。这样的LAN和WAN网络环境在办公室和公司中是常见的,并且有利于诸如内联网之类的企业范围的计算机网络,所有这些网络都可以连接到全球通信网络,例如,互联网。
当在LAN网络环境中使用时,计算机1302通过有线和/或无线通信网络接口或者适配器1356连接到LAN1352。适配器1356可以有利于与LAN1352的有线和/或无线通信,LAN1352还可以包括设置在其上的用于与适配器1356的无线功能进行通信的无线接入点。
当在WAN网络环境中使用时,计算机1302可以包括调制解调器1358,或者连接到WAN1354上的通信服务器,或者具有用于通过WAN1354来建立通信的其他方式,例如,通过互联网的方式。调制解调器1358(其可以是内部或者外部的,并且可以是有线和/或无线设备)经由输入设备接口1342连接到系统总线1308。在网络化的环境下,参照计算机1302或者其部分所描述的程序模块可以存储在远程存储器/存储设备1350中。应当认识到,示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他方式。
计算机1302可操作用于使用IEEE802标准系列来与有线和无线设备或者实体进行通信,所述设备例如是以无线通信(例如,IEEE802.11空中调制技术)可操作地设置的无线设备。这技术至少包括Wi-Fi(或者无线保真度)、WiMax和蓝牙TM无线技术等。由此,通信可以是如传统网络一样的预定义结构或者是至少两个设备之间的简单的专用通信。Wi-Fi网络使用称为IEEE802.11x(a、b、g、n等)的无线技术,来提供安全、可靠、快速的无线连接。Wi-Fi网络可以用于将计算机彼此连接、连接到互联网、以及连接到有线网络(该有线网络使用与IEEE802.3有关的介质和功能)。
图14示出了适合于实现如先前所描述的各种实施例的示例性通信架构1400的框图。通信架构1400包括各种通用通信元件,例如发射机、接收机、收发机、无线设备、网络接口、基带处理器、天线、放大器、滤波器、电源等。然而,实施例不限于通过通信架构1400的实现。
如图14中所示,通信架构1400包括一个或多个客户端1402和服务器1404。客户端1402可以实现客户端设备1110、1210。服务器1404可以实现服务器设备1250。客户端1402和服务器1404操作地连接到一个或多个相应的客户端数据存储1408和服务器数据存储1410,这些数据存储可以用于存储相应的客户端1402和服务器1404的本地信息,例如,暂存信息(cookie)和/或相关联的上下文信息。
客户端1402和服务器1404可以使用通信架构1406来在彼此之间传送信息。通信架构1406可以实现任何公知的通信技术和协议。通信架构1406可以被实现为分组交换网络(例如,诸如互联网等的公共网络、诸如企业内联网等的私有网络等)、电路交换网络(例如,公众交换电话网络)、或者分组交换网络和电路交换网络的组合(具有合适的网关和转换器)。
通信框架1406可以实现被布置为接受、传送和连接到通信网络的各种网络接口。网络接口可以被视为专门形式的输入输出接口。网络接口可以使用包括但不限于直接连接、以太网(例如,厚、簿双绞线10/100/1000BaseT等)、令牌环网、无线网络接口、蜂窝网络接口、IEEE802.11a-x网络接口、IEEE802.16网络接口、IEEE802.20网络接口等在内的连接协议。此外,可以采用多个网络接口来与各种通信网络类型接合。例如,可以采用多个网络接口来允许通过广播、多播和单播网络进行通信。如果处理需求指示更大数量的速度和容量,则可以类似地使用分布式网络控制器架构来组合、负载平衡、以及另外增加客户端1402和服务器1404所需要的通信带宽。通信网络可以是有线和/或无线网络的任一个或其结合,包括但不限于直接互连、安全定制连接、私有网络(例如,企业内联网)、公共网络(例如,互联网)、个域网(PAN)、局域网(LAN)、城域网(MAN)、工作任务作为互联网上的节点(OMNI)、广域网(WAN)、无线网络、蜂窝网络、以及其他通信网络。
一些实施例可以使用表达“一个实施例”或者“实施例”以及它们的派生词来描述。这些术语表示结合该实施例所描述的特定特征、结构或者特性包括在至少一个实施例中。在说明书的各种位置所出现的短语“在一个实施例中”不一定全都指代同一个实施例。此外,一些实施例可以使用表达“耦合”和“连接”以及它们的派生词来描述。这些术语并不一定是要作为彼此的同义词。例如,一些实施例可以使用术语“连接”和/或“耦合”来进行描述,以指示两个或更多元件彼此直接物理的或电气的接触。然而,术语“耦合”还可以表示两个或更多个元件彼此不是直接接触,但仍然彼此协作或交互。
需要强调的是,提供了本公开的摘要,以允许读者快速地确定技术公开的本质。应当理解的是,其不用于解释或者限制权利要求的范围或含义。此外,在上文的具体实施方式中,可以观察到,出于精简本公开的目的,将各种特征聚集在单个实施例中。本公开的方法不应被解释为反映下面的意图:即,要求保护的实施例需要多于明确记载在每权利要求中的特征。确切地说,如所附的权利要求书所反映的,发明的主题在于少于单个公开的实施例的全部特征。因此,所附的权利要求书由此被并入到具体实施方式中,每个权利要求本身作为单独的实施例。在所附的权利要求书中,术语“包括”和“其中”分别用作相应的术语“包含”和“在其中”的简明英语等价物。此外,术语“第一”、“第二”、“第三”等仅用作标记,其并不是要对它们的对象施加序数要求。
上文已经描述了包括公开架构的示例。当然,不可能描述部件和/或方法的每个能想到的组合,但是本领域的普通技术人员应该认识到,许多其他的组合和置换是可能的。因此,该新颖架构旨在涵盖落入所附权利要求书的精神和范围内的所有这种改变、修改和变形。
Claims (10)
1.一种计算机实现的方法,包括:
接收具有针对数字地图的地理区域定义的多个类别的类别信息,所述多个类别中的每个类别具有一个或多个类别值;
对任务进行调度以利用一个或多个处理器电路来生成注释的数字地图,所述注释的数字地图包括针对所述数字地图的所述地理区域的所述多个类别和相关联的类别值的视觉表示,所述视觉表示具有不同的视觉部分,每个视觉部分表示由随时间变化的相关联的类别值定义的类别,所述视觉部分中的每个视觉部分包括数据点的集合;
根据所调度的任务,通过电路来生成具有所述视觉表示的所述注释的数字地图。
2.根据权利要求1所述的计算机实现的方法,包括:
遍历所述视觉表示的所有数据点;
通过一个或多个过滤标准来对所述数据点进行过滤;以及
将过滤后的数据点存储在收集缓冲器中的收集数据结构中,所述收集数据结构具有行和列的集合,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的类别,每个行和列的交叉点包括具有类别值的单元。
3.根据权利要求1所述的计算机实现的方法,包括:
遍历具有行和列的集合的收集数据结构,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的类别,每个行和列的交叉点包括具有类别值的单元;
在一个或多个累加遍次中对所述收集数据结构的每行上的类别值进行累加;以及
将累加的值存储在累加缓冲器中的累加数据结构中,所述累加数据结构具有行和列的集合,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的累加值迭代,每个行和列的交叉点包括具有累加值的单元。
4.根据权利要求3所述的计算机实现的方法,包括:
使用多个累加遍次,利用图形处理单元(GPU)并行地对所述收集数据结构的每行上的所述类别值进行累加。
5.根据权利要求1所述的计算机实现的方法,包括:
遍历具有行和列的集合的收集数据结构,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的类别,每个行和列的交叉点包括具有类别值的单元;
针对每行选择与一个或多个选择标准相对应的类别值;以及
将所选择的值存储在选择缓冲器中的选择数据结构中,所述选择数据结构具有行和列的集合,所述行用于表示数据点的位置,第一列表示所选择的类别值,并且第二列用于表示与所选择的类别值相关联的所选择的类别。
6.根据权利要求1所述的计算机实现的方法,包括:
确定每个位置的类别和相关联的类别值,以便于来对来自收集数据结构和选择数据结构的所述视觉表示的每个视觉部分的数据点进行渲染;以及
根据累加数据结构来确定所述视觉表示内的每个视觉部分的相对位置。
7.根据权利要求1所述的计算机实现的方法,包括:
使用收集数据结构、累加数据结构和选择数据结构来生成具有所述视觉表示的所述注释的数字地图。
8.一种装置,包括:
处理器电路;以及
在所述处理器电路上能够操作的用于管理数字地图的地图应用,所述地图应用包括:
地图管理器部件,其用于接收具有针对数字地图的地理区域定义的多个类别的类别信息,所述多个类别中的每个类别具有一个或多个类别值;
地图调度器部件,其用于对任务进行调度以利用一个或多个处理器电路来生成注释的数字地图,所述注释的数字地图包括所述数字地图的所述地理区域的所述多个类别和相关联的类别值的视觉表示,所述视觉表示具有不同的视觉部分,每个视觉部分表示由随时间变化的相关联的类别值定义的类别,所述视觉部分的每个视觉部分包括数据点的集合;以及
地图生成器部件,其用于根据所调度的任务,生成具有所述视觉表示的所述注释的数字地图。
9.根据权利要求8所述的装置,包括:
收集缓冲器;并且
所述地图调度器部件用于:
遍历所述视觉表示的所有数据点;
通过一个或多个过滤标准来对所述数据点进行过滤;以及
将过滤后的数据点存储在所述收集缓冲器中的收集数据结构中,所述收集数据结构具有行和列的集合,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的类别,每个行和列的交叉点包括具有类别值的单元。
10.根据权利要求8所述的装置,包括:
累加缓冲器;并且
所述地图调度器部件用于:
遍历具有行和列的集合的收集数据结构,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的类别,每个行和列的交叉点包括具有类别值的单元;
在一个或多个累加遍次中对所述收集数据结构的每行上的类别值进行累加;以及
将累加的值存储在所述累加缓冲器中的累加数据结构中,所述累加数据结构具有行和列的集合,所述行用于表示数据点的位置,并且所述列用于表示所述数据点的累加值迭代,每个行和列的交叉点包括具有累加值的单元。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361876100P | 2013-09-10 | 2013-09-10 | |
US61/876,100 | 2013-09-10 | ||
US14/244,381 | 2014-04-03 | ||
US14/244,381 US9905043B2 (en) | 2013-09-10 | 2014-04-03 | Techniques to generate digital maps |
PCT/US2014/054692 WO2015038511A1 (en) | 2013-09-10 | 2014-09-09 | Techniques to generate digital maps |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105531702A true CN105531702A (zh) | 2016-04-27 |
Family
ID=52625146
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480049832.0A Pending CN105531742A (zh) | 2013-09-10 | 2014-09-09 | 用来管理数字地图的颜色表示的技术 |
CN201480049900.3A Pending CN105531702A (zh) | 2013-09-10 | 2014-09-09 | 用于生成数字地图的技术 |
CN201480058945.7A Pending CN105917384A (zh) | 2013-09-10 | 2014-09-09 | 用于管理解说视图之间的过渡的地图信息的技术 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480049832.0A Pending CN105531742A (zh) | 2013-09-10 | 2014-09-09 | 用来管理数字地图的颜色表示的技术 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480058945.7A Pending CN105917384A (zh) | 2013-09-10 | 2014-09-09 | 用于管理解说视图之间的过渡的地图信息的技术 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9905043B2 (zh) |
EP (3) | EP3044762A2 (zh) |
CN (3) | CN105531742A (zh) |
AR (1) | AR097623A1 (zh) |
TW (1) | TW201519183A (zh) |
WO (3) | WO2015038511A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109937344A (zh) * | 2016-09-29 | 2019-06-25 | 通腾运输公司 | 用于产生电子地图的段的分布曲线数据的方法和系统 |
CN111971668A (zh) * | 2018-04-02 | 2020-11-20 | 微软技术许可有限责任公司 | 用于交互式用户界面图表元素的显示的分级数据的汇总和处理 |
CN115220615A (zh) * | 2022-07-29 | 2022-10-21 | 深圳华创电科技术有限公司 | 一种基于地理信息系统的态势交互系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9922426B2 (en) | 2016-01-25 | 2018-03-20 | Google Llc | Reducing latency in presenting map interfaces at client devices |
US11593342B2 (en) | 2016-02-01 | 2023-02-28 | Smartshift Technologies, Inc. | Systems and methods for database orientation transformation |
US10585655B2 (en) | 2016-05-25 | 2020-03-10 | Smartshift Technologies, Inc. | Systems and methods for automated retrofitting of customized code objects |
US10110781B2 (en) * | 2016-06-23 | 2018-10-23 | Adobe Systems Incorporated | Restoring the appearance of scans of damaged physical documents |
US10089103B2 (en) | 2016-08-03 | 2018-10-02 | Smartshift Technologies, Inc. | Systems and methods for transformation of reporting schema |
PL3497550T3 (pl) * | 2016-08-12 | 2023-07-24 | Packsize, Llc | Systemy i sposoby automatycznego generowania metadanych dla dokumentów multimedialnych |
CN108133454B (zh) * | 2016-12-01 | 2021-06-08 | 阿里巴巴集团控股有限公司 | 空间几何模型图像切换方法、装置、系统及交互设备 |
IL251189A0 (en) | 2017-03-15 | 2017-06-29 | Ophir Yoav | Gradual transition between two-dimensional and three-dimensional augmented reality simulations |
US10678842B2 (en) * | 2017-03-21 | 2020-06-09 | EarthX, Inc. | Geostory method and apparatus |
US10681120B2 (en) * | 2017-07-25 | 2020-06-09 | Uber Technologies, Inc. | Load balancing sticky session routing |
US10528343B2 (en) * | 2018-02-06 | 2020-01-07 | Smartshift Technologies, Inc. | Systems and methods for code analysis heat map interfaces |
US10698674B2 (en) | 2018-02-06 | 2020-06-30 | Smartshift Technologies, Inc. | Systems and methods for entry point-based code analysis and transformation |
US10740075B2 (en) | 2018-02-06 | 2020-08-11 | Smartshift Technologies, Inc. | Systems and methods for code clustering analysis and transformation |
CN108694245B (zh) * | 2018-05-15 | 2021-12-10 | 东软集团股份有限公司 | 多维数据显示方法、装置、可读存储介质及电子设备 |
CN110716682A (zh) * | 2018-07-13 | 2020-01-21 | 上海擎感智能科技有限公司 | 一种地图自定义配色方法及系统、存储介质及终端 |
CN111695045B (zh) * | 2019-03-14 | 2023-08-11 | 北京嘀嘀无限科技发展有限公司 | 一种热力图展示、热力数据通知的方法及装置 |
CN111694908B (zh) * | 2019-03-15 | 2024-06-14 | 丰图科技(深圳)有限公司 | 数据存储方法、装置及存储介质 |
CN112001988A (zh) * | 2019-05-27 | 2020-11-27 | 珠海金山办公软件有限公司 | 一种动画效果生成方法及装置 |
CN111045767B (zh) * | 2019-11-26 | 2024-01-26 | 北京金和网络股份有限公司 | 基于数据灵活配置在地图上显示地图标注的方法和系统 |
US11442969B2 (en) * | 2020-04-24 | 2022-09-13 | Capital One Services, Llc | Computer-based systems configured for efficient entity resolution for database merging and reconciliation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050187814A1 (en) * | 2004-02-20 | 2005-08-25 | Hector Yanez | Voter strategically targeted analyzing and reporting system |
CN101051314A (zh) * | 2007-05-18 | 2007-10-10 | 上海众恒信息产业有限公司 | 结合电子地图的数据分析结果表现方法及装置 |
CN101673304A (zh) * | 2008-10-23 | 2010-03-17 | 中国科学院地理科学与资源研究所 | 人口统计信息的空间可视化系统及其方法 |
CN102855237A (zh) * | 2011-06-29 | 2013-01-02 | 北京天一众合科技股份有限公司 | 生成地图的方法与系统 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2187704C (en) * | 1996-10-11 | 1999-05-04 | Darcy Kim Rossmo | Expert system method of performing crime site analysis |
US8332247B1 (en) * | 1997-06-12 | 2012-12-11 | G. William Bailey | Methods and systems for optimizing network travel costs |
US6941515B1 (en) * | 1999-09-01 | 2005-09-06 | Vertigoxmedia Inc. | Method and apparatus for controlling a graphics engine |
WO2001029582A1 (en) * | 1999-10-15 | 2001-04-26 | Dekalb Genetics Corporation | Methods and systems for plant performance analysis |
US20020198760A1 (en) * | 2001-06-05 | 2002-12-26 | Carpenter John E. | Demographic data development and processing |
US6985837B2 (en) | 2001-11-01 | 2006-01-10 | Moon Dennis A | System presenting meteorological information using a browser interface |
US7583273B2 (en) | 2005-03-02 | 2009-09-01 | Avenza Systems, Inc. | Method and system for transforming spatial data |
US8850011B2 (en) | 2005-04-21 | 2014-09-30 | Microsoft Corporation | Obtaining and displaying virtual earth images |
US10198521B2 (en) | 2005-06-27 | 2019-02-05 | Google Llc | Processing ambiguous search requests in a geographic information system |
US7933897B2 (en) * | 2005-10-12 | 2011-04-26 | Google Inc. | Entity display priority in a distributed geographic information system |
US8788431B1 (en) * | 2005-10-26 | 2014-07-22 | Movoto Llc | Methods and apparatus for graphical analysis and display of real property information |
GB0609037D0 (en) * | 2006-05-06 | 2006-06-14 | Guaranteed Markets Ltd | Apparatus and method for intervention in electronic markets |
US20080051994A1 (en) * | 2006-08-28 | 2008-02-28 | Microsoft Corporation | Representation and display of geographical popularity data |
US20080221978A1 (en) * | 2007-02-26 | 2008-09-11 | Samuel Richard I | Microscale geospatial graphic analysis of voter characteristics for precise voter targeting |
US8185122B2 (en) | 2007-03-21 | 2012-05-22 | Metropcs Wireless, Inc. | Method for creating a cellular telephone infrastructure |
US9477732B2 (en) * | 2007-05-23 | 2016-10-25 | Oracle International Corporation | Filtering for data visualization techniques |
US8605786B2 (en) * | 2007-09-04 | 2013-12-10 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
US8638327B2 (en) | 2007-11-14 | 2014-01-28 | Microsoft Corporation | Tiled projections for planar processing of round earth data |
US8599203B2 (en) * | 2007-12-20 | 2013-12-03 | Yahoo! Inc. | Systems and methods for presenting visualizations of media access patterns |
US20110295669A1 (en) * | 2008-05-30 | 2011-12-01 | Jonathan Stiebel | Internet-Assisted Systems and Methods for Building a Customer Base for Musicians |
WO2009154483A1 (en) * | 2008-06-20 | 2009-12-23 | Business Intelligence Solutions Safe B.V. | Methods, apparatus and systems for data visualization and related applications |
CN101726302B (zh) * | 2008-10-15 | 2013-02-13 | 高德信息技术有限公司 | 地图显示方法及导航终端 |
US8745086B2 (en) * | 2008-12-05 | 2014-06-03 | New BIS Safe Luxco S.á.r.l. | Methods, apparatus and systems for data visualization and related applications |
US20100225644A1 (en) * | 2009-03-05 | 2010-09-09 | Navteq North America, Llc | Method and System for Transitioning Between Views in a Traffic Report |
CN101545776B (zh) * | 2009-05-05 | 2011-09-28 | 东南大学 | 基于数字地图的数码像片方位元素获取方法 |
US8294710B2 (en) | 2009-06-02 | 2012-10-23 | Microsoft Corporation | Extensible map with pluggable modes |
US8504512B2 (en) * | 2009-12-02 | 2013-08-06 | Microsoft Corporation | Identifying geospatial patterns from device data |
US9110582B2 (en) * | 2010-11-03 | 2015-08-18 | Samsung Electronics Co., Ltd. | Mobile terminal and screen change control method based on input signals for the same |
US8935714B2 (en) * | 2010-12-30 | 2015-01-13 | Verizon Patent And Licensing Inc. | Interactive user-prediction of content |
CN102096713A (zh) * | 2011-01-29 | 2011-06-15 | 广州都市圈网络科技有限公司 | 一种基于网格化二三维地图匹配方法及系统 |
US9075493B2 (en) * | 2011-03-07 | 2015-07-07 | Sas Institute, Inc. | Techniques to present hierarchical information using orthographic projections |
US8706407B2 (en) * | 2011-03-30 | 2014-04-22 | Nokia Corporation | Method and apparatus for generating route exceptions |
US8994719B1 (en) * | 2011-04-20 | 2015-03-31 | Google Inc. | Matching views between a two-dimensional geographical image and a three-dimensional geographical image |
GB201115369D0 (en) | 2011-09-06 | 2011-10-19 | Gooisoft Ltd | Graphical user interface, computing device, and method for operating the same |
US8864562B2 (en) * | 2011-12-18 | 2014-10-21 | Patrick Daly | Online political prediction game |
US8471847B1 (en) * | 2012-02-29 | 2013-06-25 | Google Inc. | Use of constructed three-dimensional geometries to efficiently represent time varying Cartesian data |
US8944719B2 (en) | 2012-11-09 | 2015-02-03 | Caterpillar Paving Products Inc. | Tracking of machine system movements in paving machine |
US10672008B2 (en) * | 2012-12-06 | 2020-06-02 | Jpmorgan Chase Bank, N.A. | System and method for data analytics |
US20140163885A1 (en) | 2012-12-07 | 2014-06-12 | Caterpillar Inc. | Terrain map updating system |
-
2014
- 2014-04-03 US US14/244,381 patent/US9905043B2/en active Active
- 2014-04-08 US US14/247,580 patent/US20150070379A1/en not_active Abandoned
- 2014-04-14 US US14/251,813 patent/US20150070356A1/en not_active Abandoned
- 2014-08-08 TW TW103127304A patent/TW201519183A/zh unknown
- 2014-09-09 WO PCT/US2014/054692 patent/WO2015038511A1/en active Application Filing
- 2014-09-09 CN CN201480049832.0A patent/CN105531742A/zh active Pending
- 2014-09-09 WO PCT/US2014/054685 patent/WO2015038508A2/en active Application Filing
- 2014-09-09 CN CN201480049900.3A patent/CN105531702A/zh active Pending
- 2014-09-09 EP EP14772513.9A patent/EP3044762A2/en not_active Withdrawn
- 2014-09-09 WO PCT/US2014/054679 patent/WO2015038506A1/en active Application Filing
- 2014-09-09 CN CN201480058945.7A patent/CN105917384A/zh active Pending
- 2014-09-09 EP EP14771716.9A patent/EP3044701B1/en active Active
- 2014-09-09 EP EP14767264.6A patent/EP3044763A1/en not_active Withdrawn
- 2014-09-11 AR ARP140103384A patent/AR097623A1/es unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050187814A1 (en) * | 2004-02-20 | 2005-08-25 | Hector Yanez | Voter strategically targeted analyzing and reporting system |
CN101051314A (zh) * | 2007-05-18 | 2007-10-10 | 上海众恒信息产业有限公司 | 结合电子地图的数据分析结果表现方法及装置 |
CN101673304A (zh) * | 2008-10-23 | 2010-03-17 | 中国科学院地理科学与资源研究所 | 人口统计信息的空间可视化系统及其方法 |
CN102855237A (zh) * | 2011-06-29 | 2013-01-02 | 北京天一众合科技股份有限公司 | 生成地图的方法与系统 |
Non-Patent Citations (1)
Title |
---|
王孝喜等: "《Windows应用程序编程技术》", 30 September 1998, 南开大学出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109937344A (zh) * | 2016-09-29 | 2019-06-25 | 通腾运输公司 | 用于产生电子地图的段的分布曲线数据的方法和系统 |
CN109937344B (zh) * | 2016-09-29 | 2024-02-23 | 通腾运输公司 | 用于产生电子地图的段的分布曲线数据的方法和系统 |
CN111971668A (zh) * | 2018-04-02 | 2020-11-20 | 微软技术许可有限责任公司 | 用于交互式用户界面图表元素的显示的分级数据的汇总和处理 |
CN115220615A (zh) * | 2022-07-29 | 2022-10-21 | 深圳华创电科技术有限公司 | 一种基于地理信息系统的态势交互系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015038508A2 (en) | 2015-03-19 |
TW201519183A (zh) | 2015-05-16 |
US20150070383A1 (en) | 2015-03-12 |
US20150070379A1 (en) | 2015-03-12 |
EP3044763A1 (en) | 2016-07-20 |
CN105917384A (zh) | 2016-08-31 |
EP3044762A2 (en) | 2016-07-20 |
US20150070356A1 (en) | 2015-03-12 |
WO2015038508A3 (en) | 2015-05-07 |
AR097623A1 (es) | 2016-04-06 |
WO2015038511A1 (en) | 2015-03-19 |
CN105531742A (zh) | 2016-04-27 |
US9905043B2 (en) | 2018-02-27 |
WO2015038506A1 (en) | 2015-03-19 |
EP3044701B1 (en) | 2017-08-30 |
EP3044701A1 (en) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105531702A (zh) | 用于生成数字地图的技术 | |
Bibri et al. | The emerging data–driven Smart City and its innovative applied solutions for sustainability: The cases of London and Barcelona | |
Allam et al. | Future (post-COVID) digital, smart and sustainable cities in the wake of 6G: Digital twins, immersive realities and new urban economies | |
Abdoullaev | Keynote: A smart world: A development model for intelligent cities | |
Gubbi et al. | Internet of Things (IoT): A vision, architectural elements, and future directions | |
Das et al. | The new era of smart cities, from the perspective of the internet of things | |
Minteer | Analytics for the internet of things (iot) | |
Ceccarini et al. | On exploiting data visualization and IoT for increasing sustainability and safety in a smart campus | |
Mora et al. | Smart city development: ICT innovation for urban sustainability | |
Geertman et al. | Planning support systems: content, issues and trends | |
CN103999044B (zh) | 用于多遍渲染的技术 | |
Bendle | The structures and flows of a large tourist itinerancy network | |
Dionisio et al. | Geospatial tools for community engagement in the Christchurch rebuild, New Zealand | |
Bibri et al. | Big data and context–aware computing applications for smart sustainable cities | |
Wu et al. | An outlook of a future smart city in Taiwan from post–Internet of things to artificial intelligence Internet of things | |
Tyagi et al. | How a User will Look the Connections of Internet of Things Devices?: A Smarter Look of Smarter Environment | |
Choudhary et al. | An era of internet of things leads to smart cities initiatives towards urbanization | |
van der Laan et al. | A collaborative multi-touch, multi-display, urban futures tool | |
Mohbey | The role of big data, cloud computing and IoT to make cities smarter | |
Dixon | Smart and sustainable? The future of ‘Future Cities’ | |
Marvin et al. | Bricks versus clicks: planning for the digital economy | |
Veglis | Interactive Data Visualization | |
Singh et al. | The smart city: A holistic approach | |
Bibri et al. | The leading data-driven smart cities in Europe: Their applied solutions and best practices for sustainable development | |
Salles et al. | Smart cities, connected world, and internet of things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160427 |
|
RJ01 | Rejection of invention patent application after publication |