CN103270509A - 用于将地理数据库转换成地图瓦片数据库的方法、设备和计算机程序产品 - Google Patents
用于将地理数据库转换成地图瓦片数据库的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN103270509A CN103270509A CN2011800612163A CN201180061216A CN103270509A CN 103270509 A CN103270509 A CN 103270509A CN 2011800612163 A CN2011800612163 A CN 2011800612163A CN 201180061216 A CN201180061216 A CN 201180061216A CN 103270509 A CN103270509 A CN 103270509A
- Authority
- CN
- China
- Prior art keywords
- tile
- record
- geographical
- data
- equipment
- 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.)
- Granted
Links
Images
Classifications
-
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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/24—Querying
- G06F16/245—Query processing
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Instructional Devices (AREA)
- Navigation (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种用于将地理数据库的地理几何内容转换成地图瓦片的设备可以包括处理器和存储可执行计算机代码的存储器,其促使设备至少执行操作,该操作包括部分地基于基于分析对应于几何信息的值而添加布置在字段的数据项目来修改地理数据库。该几何信息与地理数据库的记录相关联。该计算机程序代码还可以促使设备确定包括各记录的地理信息的预定变焦水平下的一组瓦片,并且可以将记录更新成包括与瓦片的最小和最大x和y值相关联的数据。该计算机程序代码还可以促使所述设备确定定义地图瓦片的矩形块的最小和最大x和y值。还提供了相应的计算机程序产品和方法。
Description
技术领域
本发明的实施例总体上涉及数据库技术且更特别地涉及用于通过将地理数据库转换成地图瓦片数据库使数据库最优化以改善位置或地图数据的检索的数据库性能的方法、设备和计算机程序产品。
背景技术
现在通信时代已引起有线和无线网络的巨大膨胀。计算机网络、电视网络以及电话网络正在经历由消费者需求激起的空前的技术膨胀。无线和移动联网技术已在提供信息传输的更多灵活性和立即性的同时解决了相关的消费者需求。
当前和未来的联网技术继续促进信息传输的容易性和用户的方便性。由于电子通信设备现在的普遍存在性,所有年龄和教育水平的人正在利用电子设备来与其他个人或联系人通信,接收服务和/或共享信息、媒体及其他内容。其中存在增加信息传输的容易性的需求的一个领域涉及地图服务到用户的移动终端的输送。地图服务可以提供移动终端的媒体或通信应用所请求的地图数据和位置数据。
当前,由地图服务提供的地图或位置数据通常被存储在地理数据库中。该地理数据库可能能够存储、查询和操纵可能被针对两个或三个维度最优化的地理信息和空间数据。该空间数据可以以几何数据的形式存储为向量数据,该几何数据例如为点、线、多边形等,并且可以具有关联的空间参考系统。在这方面,可以使空间数据与坐标,诸如与现实世界中的位置或对象相对应的纬度和经度坐标,相关联。作为空间数据的示例,考虑可以被描绘成二维对象的公路,该二维对象包含可以表示城镇、街道和诸如县、州等的边界的线、点和多边形。公路的地图是地理信息的可视化。指示这些呈现对象的位置(例如,维度和经度)的数据可以是空间数据。同样地,地理数据库可以存储与街道、公路、水路、海洋、界标、铁道、行政区边界等相关联的几何数据。应指出的是地理数据库可以包括用以表示现实世界中的对象或地点的位置的记录。
目前,现有系统可以利用地图瓦片以便促进从地理数据库进行的地理数据库的快速检索。用于呈现地图瓦片的一个此类技术是曲面细分(tessellation)。在这方面,现有系统可以通过按位置将数据分割并将世界分割成瓦片而利用曲面细分来存储用于特定位置的数据。换言之,可以将对应于现实世界的几何数据分割成瓦片,并且然后可以基于该瓦片来创建用于访问地理数据库的瓦片索引。
这种技术对于地图系统而言可以有益,因为地图系统通常从地理数据库检索以瓦片为单位的数据。虽然这种方法可以相对于地图系统提供数据检索的良好性能,但其还可能在计算存储成本和计算处理成本方面招致高开销。同样地,这种几何数据检索的方法的一个缺点是其可能导致用于瓦片索引的处理资源和计算存储资源(例如,磁盘和存储器)的大量使用。例如,可以根据变焦水平来对对应于地图瓦片的地理数据进行变焦。同样地,给定变焦水平z,处于变焦z的地图瓦片的数目是4z。作为示例,考虑关于瓦片系统的图1。
参考图1,在变焦水平0,整个世界可以被一个瓦片覆盖(例如,4Z=40=1)。在变焦水平1,来自变焦0的单个瓦片被分成四个(例如,4Z=41=4)。在变焦水平2,来自变焦1的四个瓦片中的每一个被进一步划分成四个(例如,4Z=42=16),以此类推。换言之,为了生成用于变焦水平zi的瓦片,变焦水平zi-1的每个瓦片可以被分成四个,如图1中所示。因此,处于给定变焦水平的每个瓦片可以等价于处于较高变焦水平的瓦片的矩形方块。例如,处于变焦水平0的单个瓦片x=0、y=0可以等价于处于变焦水平1的全部四个瓦片。同样地,处于变焦水平1的瓦片x=0、y=1等价于处于变焦水平2的瓦片x=0、y=2;x=1、y=2;x=0、y=3;x=1、y=3。
在具有最大18的变焦水平的系统中,处于变焦水平18的瓦片的数目是418,导致超过640亿个瓦片。在其中叶片索引节点的尺寸可以是四个字节(例如,整数指针地址的大小)的情况下,则对于18个瓦片的变焦而言,仅叶片索引节点的总尺寸大致为256千兆字节(GB)。这是巨大的空间开销量,尤其是考虑到数据库本身的大小时。例如,用于美国的NavteqTM街道数据库具有约2700万个记录,具有11GB的总磁盘空间尺寸。
为了解决磁盘空间问题,现有的瓦片索引系统通常在对地理数据编索引时进行瓦片尺寸权衡。处于较高变焦水平的较小瓦片每个瓦片包含少量的地理数据,并且因此具有用于请求地图数据的查询的较好选择性。然而,以这种方式使用较小瓦片通常要求大量的磁盘空间以保持结果得到的索引。例如,较小瓦片可以导致要求使用更多空间的更多区段遍历。另一方面,处于较低变焦水平的较大瓦片通常每个瓦片包含大量的地理数据,并且因此可以比较小瓦片具有用于请求地图数据的查询的较坏选择性。然而,较大瓦片通常要求较少量的磁盘空间以保持结果得到的索引。例如,在变焦水平9,用于叶片索引节点的磁盘空间仅仅约一兆字节(MB),但是对于处于变焦水平18的瓦片请求而言可以导致不良性能,例如因为针对地图数据的查询通常可以返回大量的记录,因为在每个变焦9瓦片中包含218个(超过260,000个瓦片)变焦18瓦片。
鉴于现有瓦片索引系统的前述缺点,提供用于经由瓦片来访问地理数据库的替换机制是有益的,其中该替换机制可以相对于地理数据库针对瓦片索引更高效地利用计算存储资源。
发明内容
因此提供了可以通过生成地理数据库的宽松瓦片表示来将地理数据库转换成地图瓦片数据库的方法、设备和计算机程序产品。示例性实施例可以不像某些先前已知的瓦片表示方法那样遭受计算存储(例如,磁盘和存储器)的大量使用。示例性实施例可以利用具有作为地理数据库的基数的函数的尺寸的瓦片索引,因为可以直接根据记录字段数据来创建瓦片索引,与其中瓦片索引的尺寸可以是覆盖世界的瓦片数目的函数的较早解决方案相反。
通过创建和使用具有整数类型列(例如,xmin、ymin、xmax、ymax)的索引以便检索瓦片地理数据,示例性实施例可以在没有空间数据库管理系统(例如PostgreSQL)的惯常要求的情况下促进地理数据库的使用。
作为对世界进行曲面细分并根据结果得到的曲面细分来创建瓦片索引以促进从地理数据库进行的数据的快速检索的替代,示例性实施例可以替代地通过用附加数据字段来修改地理数据库中的每个地理记录来修改地理数据库,所述附加数据字段可以指示该记录的几何结构可以与之交叉的候选瓦片。
在这方面,可以从被添加到记录的附加数据字段导出由示例性实施例生成的结果得到的瓦片索引,并且作为结果,示例性实施例的瓦片索引可以占用取决于地理数据库的基数的空间,与其中瓦片索引基于曲面细分结果的当前瓦片索引系统相反,并且因此索引的尺寸可以取决于从当前瓦片索引系统所利用的曲面细分过程得到的瓦片的数目(例如,覆盖世界的瓦片的数目)。
为了促进用于编索引的存储器的更好使用,示例性实施例可以利用针对数据库的地理记录的宽松瓦片表示。此宽松表示可以被示例性实施例捕捉,该示例性实施例生成矩形瓦片块以表示对应于给定记录的几何结构可以与之交叉的候选瓦片。在这方面,在其中示例性实施例可以确定对应于记录的几何结构与瓦片交叉的情况下,然后可以保证瓦片处于相应的记录的瓦片块中。然而,示例性实施例可以确定在该瓦片块中可以存在某些瓦片,对于这些瓦片而言,对应于记录的几何结构可以与其不交叉。
本示例性实施例还可以生成可以发送到用于瓦片中的地理数据的地理数据库的查询。在这方面,示例性实施例可以确定数据库中的地理记录的瓦片块仅仅是记录的宽松瓦片定义。同样地,在解决该查询时,示例性实施例可以确定可能需要进一步检查对查询的结果或响应中的每个记录以确定对应于该记录的几何结构是否实际上与在查询中参考的瓦片交叉。
通过利用示例性实施例,可以缓解当前瓦片索引方案所遭遇的惯常瓦片尺寸权衡问题。在这方面,示例性实施例可以允许针对处于任何变焦水平的瓦片的查询到针对处于被用来变换地理数据库的变焦水平的相关瓦片的查询的方便转换,且然后可以从地理数据库检索相关地理数据。
本发明的示例性实施例可以利用可以转换成更快记录检索时间的较小索引。同样地,示例性实施例可以提供更好的数据库性能。这又可以增强网络设备(例如,服务器)的总体性能,该网络设备可以启用地图服务的提供,该地图服务可以呈现地图瓦片以及执行可以基于地理数据库的其他基于地图的服务,诸如,例如检索并在地图上呈现现场业务数据。同样地,示例性实施例可以提供地图服务器的更好数据库性能。例如,示例性实施例可以生成用于NavteqTM街道数据库的瓦片索引,其可以使用806MB的存储器(例如,磁盘空间),这相对于现有方法而言是个改进。另外,示例性实施例还可以改善对客户端(例如,移动终端)对位置或地图数据的请求的响应时间。
在一个示例性实施例中,提供了一种用于将地理数据库的地理几何内容转换成地图瓦片的方法。该方法可以包括部分地基于基于分析对应于与地理数据库的地理记录相关联的几何信息的值而添加字段布置的数据项目来修改地理数据库。该方法还可以包括在包括各记录的地理信息的至少一部分的预定变焦水平针对每个记录确定一组瓦片,并将每个记录更新成包括与对应于相应记录的地理信息的瓦片的最小和最大x和y值相关联的数据。该方法还可以包括确定最小和最大x和y值定义地图瓦片的一个或多个矩形块。
在另一示例性实施例中,提供了一种用于将地理数据库的地理几何内容转换成地图瓦片的设备。该设备可以包括处理器和包括计算机程序代码的存储器。该存储器和计算机程序代码被配置成与所述处理器一起,促使所述设备至少执行操作,该操作包括部分地基于基于分析对应于与地理数据库的地理记录相关联的几何信息的值而添加字段布置的数据项目来修改地理数据库。该计算机程序代码还可以促使所述设备在包括各记录的地理信息的至少一部分的预定变焦水平针对每个记录确定一组瓦片,并将每个记录更新成包括与对应于相应记录的地理信息的瓦片的最小和最大x和y值相关联的数据。该计算机程序代码还可以促使所述设备确定最小和最大x和y值定义地图瓦片的一个或多个矩形块。
在另一示例性实施例中,提供了一种用于将地理数据库的地理几何内容转换成地图瓦片的计算机程序产品。该计算机程序产品包括具有存储在其中的计算机可执行程序代码指令的至少一个计算机可读存储介质。该计算机可执行程序代码指令可以包括被配置成部分地基于基于分析对应于与地理数据库的地理记录相关联的几何信息的值而添加字段布置的数据项目来修改地理数据库的程序代码指令。该程序代码指令还可以在包括各记录的地理信息的至少一部分的预定变焦水平针对每个记录确定一组瓦片,并将每个记录更新成包括与对应于相应记录的地理信息的瓦片的最小和最大x和y值相关联的数据。该程序代码指令还可以确定最小和最大x和y值定义地图瓦片的一个或多个矩形块。
本发明的实施例可以提高关于与地理数据库的瓦片索引相关联的计算存储和处理中的开销的成本效率。以这种方式,示例性实施例可以减小存储在地理数据库中的地理数据的尺寸,这可以使得能够实现更快速的数据检索。同样地,移动终端用户可以享用改善的移动设备功能。
附图说明
已如此大体上描述了本发明,现在将对附图进行参考,其不一定按比例描绘,并且在所述附图中:
图1是对应于一个或多个变焦水平的瓦片系统的图;
图2是根据本发明的示例性实施例的系统的示意性方框图;
图3是根据本发明的示例性实施例的设备的示意性方框图;
图4是根据本发明的示例性实施例的网络实体的示意性方框图;
图5是根据本发明的示例性实施例的被从一个变焦水平映射到较高变焦水平的瓦片的图;
图6是根据本发明的示例性实施例的瓦片块的图;
图7是根据本发明的示例性实施例的部分地基于查询的地图瓦片和地理记录的图;
图8是根据本发明的示例性实施例的用于将对应于地理数据库的地理数据的地理内容转换成一个或多个地图瓦片的流程图;以及
图9是根据本发明的示例性实施例的用于在已修改地理数据库上执行一个或多个查询的流程图。
具体实施方式
现在将在下文中参考附图来更全面地描述本发明的某些实施例,其中示出了本发明的某些而不是所有实施例。事实上,可以以许多不同形式来体现本发明的各种实施例,并且不应将其理解为局限于本文所阐述的实施例。相同的参考标号自始至终表示相同的元件。本文所使用的术语“数据”、“内容”、“信息”以及类似术语可以互换地使用以指示能够根据本发明的实施例被发送、接收和/或存储的数据。此外,提供本文所使用的术语“示例性”并不是为了传达任何定性评定,而是仅仅传达示例的举例说明。因此,不应将任何此类术语的使用理解为限制本发明的实施例的精神和范围。
另外,如本文所使用的术语“电路”指的是(a)仅硬件电路实施方式(例如,模拟电路和/或数字电路的实施方式);(b)电路和计算机程序产品的组合,该计算机程序产品包括存储在一个或多个计算机可读存储器上的软件和/或固件指令,其一起工作以促使设备执行本文所述的一个或多个功能;以及(c)电路,诸如,例如微处理器或微处理器的一部分,其要求软件或固件以用于操作,即使该软件或固件在物理上并不存在。“电路”的此定义适用于此术语在本文中的所有,包括在任何权利要求中的使用。作为另一示例,如本文所使用的术语“电路”还包括包括一个或多个处理器和/或其一部分及随附软件和/或固件的实施方式。作为另一示例,本文所使用的术语“电路”还包括例如用于移动电话的基带集成电路或应用处理器集成电路或服务器、蜂窝式网络设备、其他网络设备和/或其他计算设备中的类似集成电路。
可以将如在本文中定义的指示非瞬态物理或有形存储介质(例如,易失性或非易失性存储器件)的“计算机可读存储介质”与指示电磁信号的“计算机可读传输介质”区别开。
如本文所涉及的宽松瓦片块可以指示定义每个地理记录的矩形瓦片块,即使对应于地理记录的几何结构可能实际上并未与矩形块中的每个瓦片交叉。
图2图示出在示例性通信环境中的一般系统图,其中示出诸如移动终端10的设备。如图2中所示,根据本发明的示例性实施例的系统的实施例可以包括能够经由网络30相互通信的第一通信设备(例如,移动终端10)和第二通信设备20。在某些情况下,本发明的实施例还可以包括一个或多个附加通信设备,其中的一个在图2中被描绘为第三通信设备25。在一个实施例中,并不是采用本发明的实施例的所有系统都可以包括在本文中图示出和/或描述的所有设备。虽然可以出于示例的目的图示出并在下文描述移动终端10和/或第二和第三通信设备20和25的实施例,但其他类型的终端能够容易地采用本发明的实施例,其他类型的终端诸如便携式数字助理(PDA)、寻呼机、移动电视、移动电话、游戏设备、膝上型计算机、照相机、录像机、音频/视频播放器、无线电、全球定位系统(GPS)设备、蓝牙耳机、通用串行总线(USB)设备或上述各项的任何组合以及其他类型的语音和文本通信系统。此外,诸如服务器和个人计算机的并非移动的设备也可以容易地采用本发明的实施例。
网络30可以包括可以经由相应的有线和/或无线接口相互通信的许多各种不同的节点(其中,第二和第三通信设备20和25可以是示例)、设备或功能。同样地,应将图2的图示理解成系统的某些元件的宽视图的示例,而不是系统或网络30的包括全部或详细视图。虽然不必要,但在一个实施例中,网络30可以能够支持根据许多第一代(1G)、第二代(2G)、2.5G、第三代(3G)、3.5G、3.9G、第四代(4G)移动通信协议、长期演进(LTE)或演进通用陆地无线电接入网络(E-UTRAN)、自动优化/组织网络(SON)LTE内、无线电接入技术(RAT)网络间等中的任何一个或多个的通信。在一个实施例中,网络30可以是点到点(P2P)网络。
诸如移动终端10及第二和第三通信设备20和25的一个或多个通信终端可以经由网络30相互通信,并且每个可以包括用于向一个或多个基站发送信号和从一个或多个基站接收信号的天线。该基站可以是例如一个或多个基站(BS)(其在E-UTRAN称为节点B),其为一个或多个蜂窝式或移动网络的一部分或者为可以被耦合到数据网络的接入点,该数据网络诸如局域网(LAN)、无线局域网(WLAN)、城域网(MAN)和/或广域网(WAN),诸如因特网。随后,可以经由网络30将诸如处理元件(例如,个人计算机、服务器计算机等)的其他设备耦合到移动终端10及第二和第三通信设备20和25。通过直接地或间接地将移动终端10及第二和第三通信设备20和25(和/或其他设备)连接到网络30,可以使得移动终端10及第二和第三通信设备20和25能够与其他设备或相互地通信。例如,移动终端10及第二和第三通信设备20和25以及其他设备可以根据包括超文本传输协议(HTTP)等的许多通信协议进行通信,以从而分别地执行移动终端10及第二和第三通信设备20和25的各种通信或其他功能。
此外,虽然在图2中未示出,但移动终端10及第二和第三通信设备20和25可以根据例如射频(RF)、近场通信(NFC)、蓝牙(BT)、红外(IR)或许多不同有线或无线通信技术中的任何一个进行通信,所述有线或无线通信技术包括局域网(LAN)、无线LAN(WLAN)、全球微波接入互操作性(WiMAX)、无线高保真(WiFi)、超宽带(UWB)、Wibree技术等。同样地,可以使得移动终端10及第二和第三通信设备20和25能够通过许多不同接入机制中的任何一个与网络30且相互地通信。例如,可以支持诸如宽带码分多址(W-CDMA)、CDMA2000、全球移动通信系统(GSM)、通用分组无线电服务(GPRS)等的移动接入机制以及诸如WLAN、WiMAX等的无线接入机制和诸如数字订户线(DSL)、电缆调制解调器、以太网等固定接入机制。
在示例性实施例中,第一通信设备(例如,移动终端10)可以是移动通信设备,例如无线电话或其他设备,诸如个人数字助理(PDA)、移动计算设备、照相机、录像机、音频/视频播放器、定位设备、游戏设备、电视设备、无线电设备或各种其他类似设备或其组合。第二通信设备20和第三通信设备25可以是移动或固定通信设备。然而,在一个示例中,第二通信设备20和第三通信设备25可以是服务器、远程计算机或诸如个人计算机(PC)或膝上型计算机的终端。
在示例性实施例中,网络30可以是被布置成是智能空间的adhoc或分布式网络。因此,设备可以进入和/或离开网络30且网络30的设备可以能够基于其他设备的进入和/或离开来调整操作以考虑各设备或节点及其相应能力的添加或除去。
在示例性实施例中,移动终端以及第二和第三通信设备20和25可以采用能够采用本发明的实施例的设备(例如,图3的设备)。
图3图示出根据本发明的示例性实施例的设备的示意性方框图。现在将参考图3来描述本发明的示例性实施例,其中显示了设备50的某些元件。可以例如在移动终端10(和/或第二通信设备20或第三通信设备25)上采用图3的设备50。替换地,可以在网络30的网络设备上体现设备50。然而,可以替换地在移动和固定两种(诸如,如上文所列的任何设备)的多种其他设备处体现设备50。在某些情况下,可以在设备的组合上采用实施例。相应地,可以整体地在单个设备(例如,移动终端10)处、由采取分布式方式的多个设备(例如,P2P网络中的一个或多个设备)或由处于客户端/服务器关系的设备来体现本发明的实施例。此外,应注意的是下述设备或元件可能不是强制性的,并且因此在某些实施例中可以将某些省略。
现在参考图3,提供了根据示例性实施例的设备。设备50可以包括处理器70、用户接口67、通信接口74、存储器设备76、显示器85以及定位传感器78或与之通信。存储器设备76可以包括例如易失性和/或非易失性存储器。可以将存储器设备76配置成存储信息、数据、文件、应用、指令等以便使得设备能够执行根据本发明的示例性实施例的各种功能。例如,可以将存储器设备76配置成缓存输入数据以用于处理器70的处理。另外或替换地,可以将存储器设备76配置成存储指令以供处理器70执行。作为另一替换,存储器设备76可以是存储信息和/或媒体内容(例如,图片、视频等)的多个数据库中的一个。存储器设备76可以包括一个或多个数据库。在示例性实施例中,存储器设备76可以是非瞬态的有形存储器设备。存储器设备76可以存储地图数据和/或与对象和/或地点等的一个或多个位置相关联的数据。
在一个实施例中,设备50可以是被配置成采用本发明的示例性实施例的移动终端(例如,移动终端10)或固定通信设备或计算设备。然而,在一个实施例中,可以将设备50体现为芯片或芯片组。换言之,设备50可以包括一个或多个物理封装(例如,芯片),其包括结构组件(例如,基板)上的材料、部件和/或导线。该结构组件可以提供用于包括在其上面的部件电路的物理强度、尺寸节省和/或电学相互作用的限制。因此,在某些情况下,设备可以50被配置成在单个芯片上或者作为单个“芯片上系统”实现本发明的实施例。同样地,在某些情况下,芯片或芯片组可以包括用于执行一个或多个操作以便提供本文所述的功能的装置。另外或替换地,芯片或芯片组可以包括用于使得能够实现相对于本文所述的功能和/或服务的用户界面导航的装置。
定位传感器78可以与处理器70通信。定位传感器78可以包括例如全球定位系统(GPS)传感器、辅助全球定位系统(辅助GPS)传感器、蓝牙(BT)GPS鼠标或其他GPS或定位接收机等。然而,在一个实施例中,定位传感器可以包括步程计或惯性传感器。在另一实施例中,定位传感器可以是任何装置,诸如根据软件进行操作或用硬件或硬件和软件的组合体现的设备或电路(例如,在软件控制下操作的处理器70,处理器70被体现为被具体地配置成执行本文所述的操作的ASIC或FPGA,或者其组合),从而将该设备或电路配置成执行如下文所述的定位传感器的相应功能。因此,在其中采用软件的示例中,执行软件的设备或电路(例如,在一个示例中,传感器70),形成与此类装置相关联的结构。
在这方面,例如,可以将定位传感器78配置成特别地生成可以被设备的处理器用来确定该设备的位置的GPS数据。与位置相关联的数据可以但不需要包括与设备的经度、维度和高度坐标中的一个或多个有关的信息。
在示例性实施例中,定位传感器78可以向网络设备发送针对定位数据(例如,地图数据)的一个或多个查询,并且在从网络设备接收到位置数据时,定位传感器78可以利用位置信息(例如,地图数据)来确定地点、对象等的位置。在示例性实施例中,定位传感器78可以将确定的位置信息发送到设备50的一个或多个应用。
可以以许多不同的方式来体现处理器70。例如,可以将处理器70体现为各种处理装置,诸如处理元件、协处理器、控制器或各种其他处理设备,包括集成电路,例如ASIC(专用集成电路)、FPGA(现场可编程门阵列)、硬件加速度计等。在示例性实施例中,可以将处理器70配置成执行存储在存储器设备76中或者处理器70可访问的指令。同样地,无论是用硬件还是软件方法还是用其组合配置,处理器70可以表示能够在被相应地配置时执行根据本发明的实施例的操作的实体(例如,在物理上用电路体现)。因此,例如,当处理器70被体现为ASIC、FPGA等时,处理器70可以是具体配置的硬件以便执行本文所述的操作。替换地,作为另一示例,当处理器70被体现为软件指令的执行器时,该指令可以具体地将处理器70配置成执行本文所述的算法和操作,处理器70另外可以是通用处理元件或其他功能上可配置电路,如果不是用于由指令提供的特定配置的话。然而,在某些情况下,处理器70可以是特定设备(例如,移动终端)的处理器,适合于通过用于执行本文所述的算法和操作的指令对处理器70的进一步配置采用本发明的实施例。
在示例性实施例中,可以将处理器70配置成操作连接性程序,诸如浏览器、网页浏览器等。浏览器可以执行例如网络应用的一个或多个应用。在这方面,连接性程序可以使得设备50能够例如根据无线应用协议(WAP),发送和接收网络内容,诸如,例如基于位置的内容或任何其他适当内容。浏览器可以利用超文本标记语言(HTML)、JavaScript或用于处理网络内容的任何其他适当的编程语言。处理器70还可以与显示器85通信且可以命令显示器图示出任何适当的信息、数据、内容(例如,媒体内容)等。
同时,通信接口74可以是诸如用硬件、软件或硬件和软件的组合体现的设备或电路的任何装置,其被配置成从/向网络和/或与设备50通信的任何其他设备或模块接收和/或发送数据。在这方面,通信接口74可以包括例如天线(或多个天线)和支持硬件和/或软件,用于使得能够实现与无线通信网络(例如,网络30)的通信。在固定环境中,通信接口74可以替换地或者也支持有线通信。同样地,通信接口74可以包括通信调制解调器和/或其他硬件/软件以便支持经由线缆、数字订户线(DSL)、通用串行总线(USB)、以太网或其他机制的通信。
用户接口67可以与处理器70通信以接收在用户接口67处输入的用户的指示和/或向用户提供可听、可视、机械或其他输出。同样地,用户接口67可以包括例如键盘、鼠标、操纵杆、显示器、触摸屏、麦克风、扬声器或其他输入/输出机制。在其中所述设备被体现为服务器或某些其他网络设备的示例性实施例中,可以对用户接口67进行限制、远程定位或将其消除。
现在参考图4,提供了例如网络设备90的网络实体的示例性实施例的方框图。如图4中所示,网络设备90(例如,服务器)可以包括处理器94和关联存储器96。存储器96可以包括易失性和/或非易失性存储器,并且可以存储内容、数据等。例如,该存储器可以存储从网络设备发送和/或被网络设备接收的内容、数据、信息等。并且例如,存储器96可以存储客户端应用、指令、计算机程序代码等以便处理器94执行如上所述的根据本发明的实施例的网络设备的各种操作。存储器96可以包括一个或多个数据库,诸如,例如数据库93。在一个示例性实施例中,可以在网路设备90中体现存储器96。在另一替换示例性实施例中,存储器96可以在网络设备90外部。数据库93可以是地理数据库(在本文中也称为geodatabase93或地理数据库93),其中可以由数据库转换器97以下面更全面地描述的方式将地理数据转换成一个或多个地图瓦片。在这方面,地理数据库可以包括至少一个列,其定义用于与现实世界中的地点、对象等(例如,城市、公路、桥等)的位置(例如一个或多个地图)相关联的相应记录的几何结构(例如,点、线、多边形等)。在这方面,可以使该记录与坐标相关联,诸如,例如对应于现实世界中的地点、对象等的纬度和经度坐标。地理数据库可以为了地理数据库中的数据检索以及由于任何其他适当原因而从处理器94和/或数据库转换器97接收一个或多个查询。在示例性实施例中,数据库93可以包括但不限于与一个或多个街道(例如,对应于道路几何结构)、海洋(例如,对应于水几何结构)、行政边界(例如,对应于国家、州、县、城市、邮政编码等的边界几何结构)相关联的地理数据或任何其他适当地理数据。
除存储器96之外,还可以将处理器94连接到用于显示、发送和/或接收数据、内容等的至少一个接口或其他装置。在这方面,该接口可以包括用于发送和/或接收数据、内容等的至少一个通信接口98或其他装置以及至少一个用户输入接口95。用户输入接口95又可以包括允许网络实体从用户接收数据的许多设备中的任何一个,诸如键盘、触摸显示器、操纵杆或其他输入设备。在这方面,处理器94可以包括被配置成控制用户输入接口的一个或多个元件的至少某些功能的用户接口电路。可以将处理器和/或处理器的用户接口电路配置成通过存储在处理器可访问的存储器(例如,易失性存储器、非易失性存储器等)上的计算机程序指令(例如,软件和/或固件)来控制用户接口的一个或多个元件的一个或多个功能。
在示例性实施例中,处理器94可以被体现为包括或者控制数据库转换器97。数据库转换器97可以是任何装置,诸如根据软件操作或体现为硬件或硬件与软件的组合(例如,处理器94)在软件控制下操作的设备或电路,处理器94被体现为被具体地配置成执行本文所述操作的ASIC或FPGA或其组合,从而将设备或结构配置成执行如下所述的数据库转换器97的相应功能。因此,在其中采用软件的示例中,执行软件的设备或电路(例如,在一个示例中,处理器94)形成与此类装置相关联的结构。
数据库转换器97可以将与坐标相关联的地理数据转换成一个或多个地图瓦片,所述坐标诸如对应于地理数据库(例如,数据库93)中的一个或多个记录的纬度和经度坐标(与现实世界中的地点或对象等的位置(例如,一个或多个地图)相关联)。以下面更全面地描述的方式,可以由可以与记录相关联的一个或多个相应的宽松瓦片块来定义地图瓦片。
在这方面,数据库转换器97可以使得能够实现计算存储(存储器)的尺寸的减小并使要保持地理数据库上的瓦片索引可能需要的处理要求最小化。为此,数据库转换器97可以取地理数据库D和地图变焦水平Zinput作为输入。针对地理数据库D中的每个地理记录R,数据库转换器97可以确定变焦水平Zinput下的瓦片组S={Ti},使得针对记录R的对应于地点、区域或对象的位置的几何结构(例如,点、线、多边形等)与Ti交叉。
数据库转换器97然后可以添加用于R的条目,其指示在相应的地图上瓦片的最小矩形块B,使得,其中,B表示用于记录R的宽松瓦片块表示。为了执行查询以检索其几何结构可以与给定瓦片T交叉的所有地理记录R,数据库转换器97可以识别地理数据库D中的所有记录R,使得用于R的宽松瓦片块B(例如,矩形瓦片块B)与T交叉。在这方面,数据库转换器97可以将对应于地理数据库的几何数据(例如,点、线、多边形等)的地理内容转换成一个或多个相应的地图瓦片,如下面更全面地描述的。根据示例性实施例的地理内容到相应地图瓦片的转换可以减少计算存储容量和处理要求。
出于图示而不是限制的目的,考虑以下内容作为示例,其中,数据库转换器97可以将地理数据库中对应于几何数据的地理内容转换成一个或多个地图瓦片。
在这方面,数据库转换器97可以实现数据库最优化过程,并且可以分析至少两个输入变量:(1)地理数据库D;以及(2)变焦水平Zinput。数据库最优化过程的输出可以是新的或已修改地理数据库D1。在这方面,数据库转换器97可以将Zinput的值设置成在地图系统中最大变焦水平(例如,18、20等的最大变焦水平)。地理数据库D可以包括定义对应于一个或多个记录的几何结构(例如,点、线、多边形等)的列命名几何结构。该几何结构可以对应于一个或多个坐标,诸如与位置数据(例如,地图数据)相关联的经度和纬度坐标。在一个示例性实施例中,地理数据库D的示例可以是数据库93。在这方面,数据库93可以包括与诸如街道、公路(例如,道路几何结构)、海洋(例如,水几何结构)、一个或多个行政边界(例如,用于国家、州、县、城市和邮政编码的边界几何结构)的现实世界中的地点或对象的位置相关联的地理内容(例如,几何位置数据(例如,地图数据))和任何其他适当的地理数据。
修改数据库结构
数据库转换器97可以实现数据库最优化过程并向地理数据库D添加至少四个新列。可以将由数据库转换器97添加到地理数据库D的列表示为xmin、ymin、xmax和ymax。给定地理数据库D的一个或多个记录R和记录R中的几何结构字段的一个或多个值,数据库转换器97可以如下定义字段:
xmin:可以包括R的几何结构的某个部分的变焦水平Zinput处的所有瓦片的最小x值;
ymin:可以包括R的几何结构的某个部分的变焦水平Zinput处的所有瓦片的最小y值;
xmax:可以包括R的几何结构的某个部分的变焦水平Zinput处的所有瓦片的最大x值;以及
ymax:可以包括R的几何结构的某个部分的变焦水平Zinput处的所有瓦片的最大y值;
其中,xmin、ymin、xmax和ymax表示用于地理记录R的宽松瓦片块(例如,矩形瓦片块)。
处理和更新数据库
针对地理数据库D(例如,数据库93)中的每个记录R,数据库转换器97可以执行以下各项:(1)计算可以包括记录R(例如,与用于街道等的几何结构(例如,纬度和经度坐标)相关联的记录)的几何结构的某个部分的变焦水平Zinput下的瓦片组S={Ti};以及(2)如下更新记录R:
设置R.xmin=S中的瓦片的最小x值
设置R.ymin=S中的瓦片的最小y值
设置R.xmax=S中的瓦片的最大x值
设置R.ymax=S中的瓦片的最大y值
在这方面,数据库转换器97可以确定R.xmin、R.ymin、R.xmax、R.ymax的值可以定义作为S的超集的瓦片的宽松块(例如,矩形块)。
在已修改或新数据库上执行查询
客户端(例如,设备50)可以发出用于新的或已修改地理数据库D1(例如,数据库93)中的瓦片的查询Q。响应于查询Q被网络设备90接收到,数据库转换器97可以执行以下语句:
SELECT*from D1WHERE x=xi AND y=yi AND zoom=zi。
换言之,数据库转换器97可以选择已修改或新地理数据库D1的每个记录,其中x=xi且y=yi且zoom=zi。应指出的是在一个示例性实施例中,设备50的定位传感器78可以生成并向网络设备90发送查询Q。
在这方面,数据库转换器97可以首先计算瓦片集合U,使得集合U中的瓦片处于最大变焦水平Zmax(或者被选作到数据库最优化过程的输入(例如,Zinput)的变焦水平,并且可以被包括于在客户端查询Q中参考的瓦片中(例如,瓦片x=xi、y=yi、zoom=zi)。
由于地图瓦片的分级性质,数据库转换器97可以针对处于任何变焦水平的任何地图瓦片T计算可以包括在瓦片T中的最大变焦水平Zmax下的所有瓦片。在这方面,将最大变焦水平(例如,18、20等的变焦水平)定义为到数据库最优化过程的输入变焦水平可以部分地用来确定可以包括在瓦片T中的变焦Zmax下的所有瓦片的集合。数据库转换器97可以将Uleft定义为瓦片集合U中的最左瓦片的x值,将Uright定义为集合U中的最右瓦片的x值,将Utop定义为集合U中的最上瓦片的y值并将Ubottom定义为集合U中的最下瓦片的y值。
数据库转换器97然后可以将查询Q转换成新查询Q1,其中可以通过下式来确定查询Q1:
SELECT*FROM D1WHERE Uleft≤xmax AND Uright≥xminAND Utop≤ymax AND Ubottom≥ymin。
换言之,数据库转换器97可以从新的或已修改地理数据库D1中选择每个记录,其中Uleft≤xmax且Uright≥xmin且Utop≤ymax且Ubottom≥ymin。
数据库转换器97可以将C定义为基于执行查询Q1而返回的候选记录的集合。针对候选记录C中的每个记录R,数据库转换器97可以确定由x=xi、y=yi、zoom=zi所识别的瓦片是否包括记录R的几何结构的某个部分。在其中数据库转换器97确定结果为假的情况下,数据库转换器97可以从候选记录C去除相应的记录R。在这方面,数据库转换器97可以将最终候选记录C返回至向网络设备90发送查询Q的客户端(例如,设备50)。以这种方式,客户端可以利用与记录相关联的数据(例如,地图数据)。
现在参考图5,提供了用于将来自一个变焦水平的瓦片映射到较高变焦水平的示例性实施例。在这方面,给定处于变焦水平z1的瓦片T=(x1、y1),可以由数据库转换器97如下来定义处于变焦水平z2的T中所包含的瓦片块,其中,z2>z1:
定义z2–z1=z,则
等式1被定义为:x2=2×z×x1
等式2被定义为:y2=2×z×y1以及
等式3:n=m=2×z–1。
应指出的是在从客户端(例如,设备50)到网络设备90的针对相应位置数据(例如,地图数据)的查询Q中可以包括瓦片T。
通过利用这些等式,数据库转换器97可以生成图5的映射瓦片,其可以被用于任何变焦水平以便根据示例性实施例将来自一个变焦水平(例如,变焦水平1)的瓦片映射到较高变焦水平(例如,变焦水平15)。
出于图示而非限制的目的,关于示例的数据库转换器97可以将对应于地理数据库的几何数据的地理内容转换成一个或多个相应地图瓦片的方式,考虑以下示例。
在本示例性实施例中,客户端(例如,设备50)可以向网络实体(例如,网络设备90)发布或发送针对处于变焦水平10的瓦片的查询,其中,相应的地图可以具有18的最大变焦水平。同样地,数据库转换器97可以执行以下语句:
SELECT*FROM D WHERE x=100AND y=200AND zoom=10。
换言之,数据库转换器97可以从地理数据库D中选择每个记录R,其可以具有对应于100的x值(例如,瓦片坐标)、200的y值(例如,瓦片坐标)和10的变焦值的几何数据(例如,在几何结构字段中)。
在这方面,网络设备90的数据库转换器97可以首先计算或确定用于对应于10的变焦水平的此瓦片(其中,x=100、y=200、zoom=10)的处于变焦水平18的等价瓦片块。可以使用变焦水平18,因为可以将地图瓦片数据库中的地理记录表示为变焦水平18瓦片记录(因为在本示例中用于相应地图的最大变焦水平可以是18)。
数据库转换器97可以将上文关于图5所述的等式应用于本示例以计算下式:
x1=100,y1=200,z1=10,z2=18
z2–z1=8(例如18-10=8=z)
x2=1600(例如,2×8×100=1600),y2=3200(例如2×8×200=3200),n=m=15(例如2×8-1=15),x2+n=1615(例如1600+15=1615),y2+m=3215(例如3200+15=3215)。
现在参考图6,基于以上计算,数据库转换器97可以生成处于变焦水平18的瓦片块,其等价于变焦水平10,其中,x=100、y=200、zoom=10。例如,图6的瓦片块显示x2=1600、y2=3200、x2+n=1615、y2+m=3215等。在这方面,数据库转换器97可以确定响应于将处于变焦水平10的瓦片扩展至变焦水平18而获得的矩形瓦片块B1。
在计算处于变焦水平18的等价瓦片之后,网络设备90的数据库转换器97可以将由客户端(例如,设备50)发送的初始查询Q转换成新查询Q1,其中,x和y值现在基于18的变焦水平。基于以上示例,可以如下表示此新查询Q1:
SELECT*(例如,选择每个记录)FROM D1WHERE Uleft≤xmax AND Uright≥xmin AND Utop≤ymax AND Ubottom≥ymin,其在被应用于本示例时提供下式:
SELECT*FROM D1WHERE1600≤xmax AND1615≥xminAND3200≤ymax AND3215≥ymin。
同样地,此新查询Q1可以被数据库转换器97提供给新的或已修改地理数据库(例如,数据库93),该新的或已修改数据库具有以上文所述方式部分地基于几何数据生成的地图瓦片数据。在这方面,可以利用查询Q1来返回新的或已修改地理数据库中的所有地理记录,其中其宽松瓦片块与新查询Q1中的瓦片块交叉。以这种方式,可以将地理记录1、2和3返回至网络设备90,因为其瓦片块80(在本文中也称为宽松瓦片块80)、82、84分别与新查询Q1瓦片块87交叉,如图7中所示。
参考图7,提供了图示出矩形块以定义每个地理记录、即使地理记录的几何结构可能实际上并未与相应矩形瓦片块中的每个瓦片交叉的地图。本示例性实施例的好处是与具有可能要求列出相应记录的几何结构交叉的每个瓦片的更准确定义相反,其可以通过使用该块中的瓦片的范围而允许地理记录的高效瓦片表示。考虑其中记录的几何结构可以与1000个随机瓦片交叉的情况。作为保持用于该记录的1000个瓦片的列表的替代,示例性实施例可以始终使用定义最小x和y瓦片值及最大x和y瓦片值的四个数字。
关于以上示例,数据库转换器97可以接收来自由数据库转换器97提供给新的或已修改地理数据库(例如,数据库93)的新查询Q1的结果。数据库转换器97然后可以检查对应于结果中的每个记录的几何结构(例如,与几何数据(例如,点、线、多边形等)相关联的维度坐标和经度坐标),以确定该几何结构是否实际上与新查询Q1中的瓦片块87交叉。如图7中所示,数据库转换器97可以确定地理记录2和3的几何结构与查询瓦片块87交叉。然而,数据库转换器97还可以确定虽然对应于地理记录1的宽松瓦片块80与查询瓦片块87交叉,但对应于地理记录1的实际几何结构并未与查询瓦片块87交叉。同样地,数据库转换器97可以从已从新的或已修改地理数据库检索的结果去除地理记录1,并且可以仅将地理记录2和3提供给最初将查询Q发送到网络设备90的客户端(例如,设备50)。应指出的是在本示例性实施例中并未从数据库检索地理记录4,因为关联宽松瓦片块85并未与查询瓦片块87交叉。
再次参考图7,数据库转换器97可以确定瓦片块80、82、84和85是矩形块B2,其为已修改数据库93中的地理记录的宽松瓦片表示。在其中转换器97确定瓦片块B1(例如,查询瓦片块87)与给定瓦片块B2(例如,宽松瓦片块B2)交叉的情况下,则可以由数据库将与相应的矩形瓦片块B2相关联的地理记录返回给网络设备90(例如,服务器)的数据库转换器97。在这方面,数据库转换器可以分析查询Q1的结果,并且可以在向客户端(例如,设备50)返回结果之前去除其几何结构并未实际上与查询瓦片块B1交叉的任何记录。
现在参考图8,提供了用于将地理数据库中对应于几何数据的地理内容转换成一个或多个地图瓦片的示例性方法。在操作800处,设备(例如,网络设备90)可以分析对应于地理数据库(例如,数据库93)的多个记录的几何数据(例如,点、线、多边形等)。该几何数据可以被包括在与相应的记录相关联的地理数据库的列中。该几何数据可以与诸如纬度和经度坐标的坐标相关联。在操作805处,该设备(例如,网络设备90)可以通过部分地基于对应于与每个记录相关联的几何数据的一个或多个值的分析添加布置于多个相应字段中的多个数据项目来修改地理数据库。该字段可以对应于已修改地理数据库的各列(例如,xmin、ymin、xmax、ymax)。
在操作810处,设备(例如,网络设备90)可以确定处于预定变焦水平的用于每个记录的一组瓦片,该预定变焦水平可以包括各记录的几何数据的至少一部分。该预定变焦水平可以对应于相应地图的最大变焦水平(例如,18的最大变焦水平)。在操作815处,该设备可以将地理数据库的每个记录更新成包括与对应于各记录的几何数据的集合的瓦片的最小和最大x和y值(例如R.xmin、R.ymin、R.xmax、R.ymax)相关联的数据。可选地,在操作820处,该设备可以针对已修改地理数据库中的每个记录确定最小和最大x和y值定义地图瓦片的矩形块,其为包括各记录的几何数据的至少一部分的瓦片集合的超集。在这方面,该设备可以利用地图瓦片的矩形块中的至少一个来确定是否响应于查询(例如,查询Q)的接收而将与至少一个地理记录相关联的数据提供给设备(例如,设备50)。该设备可以在其中与地理记录相关联的几何数据与在从设备接收到的查询中参考的瓦片交叉的情况下确定将地理记录提供给设备。
现在参考图9,提供了一种用于根据示例性实施例来执行已修改数据库上的一个或多个查询的示例性方法。在操作900处,一种设备(例如,网络设备90)可以从设备(例如设备50)接收查询(例如,查询Q),其中,该查询可以包括与瓦片相关联的数据,所述瓦片对应于与该瓦片相对应的变焦水平和x和y值。在操作905处,该设备可以部分地基于用于查询中的瓦片的变焦水平来确定处于最大变焦水平下的对应于查询中的瓦片的多个等价瓦片。在操作910处,该设备可以将查询转换成新查询(例如,查询Q1),其包括对应于最大变焦水平的x和y值。
在操作915处,该设备可以将新查询提供给已修改数据库(例如,数据库93),该查询请求与如下瓦片块相关联的每个地理记录的检索,所述瓦片块与在新查询中识别的瓦片块交叉。在操作920处,该设备可以接收新查询的结果,其指示和与新查询中的瓦片块交叉的瓦片块相关联的一个或多个地理记录。可以从已修改地理数据库接收新查询的结果。在操作925处,该设备可以分析一个或多个地理记录以确定哪个地理记录和与在新查询中识别的瓦片块交叉的几何数据相关联。在操作930处,该设备可以从结果去除被确定为与并未与新查询中的瓦片块交叉的几何数据相关联的一个或多个地理记录中的任何一个。在操作935处,该设备可以将结果提供给设备(例如,设备50),其中,该结果可以指示具有与新查询中的瓦片块交叉的几何数据的地理记录中的至少一个。
应指出的是图8和9是根据本发明的示例性实施例的系统、方法和计算机程序产品的流程图。将理解的是可以由诸如硬件、固件和/或包括一个或多个计算机程序指令的计算机程序产品的各种手段来实现流程图的每个方框以及流程图中的方框的组合。例如,可以由计算机程序指令来体现上述过程中的一个或多个。在这方面,在示例性实施例中,体现上述过程的计算机程序指令被存储器设备(例如,存储器96)存储并被处理器(例如,处理器94、数据库转换器97)执行。如将认识到的,可以将任何此类计算机程序指令加载到计算机或其他可编程设备(例如,硬件)上以产生机器,使得在计算机或其他可编程设备上执行的指令促使在流程图方框中指定的功能被执行。在一个实施例中,计算机程序指令被存储在计算机可读存储器中,其能够命令计算机或其他可编程设备以特定方式运行,使得存储在计算机可读存储器中的指令产生一件制品,其包括执行在流程图方框中指定的功能的指令。还可以将计算机程序指令加载到计算机或其他可编程设备上以促使一系列操作在计算机或其他可编程设备上执行以产生计算机实现过程,使得在计算机或其他可编程设备上执行的指令实现在流程图方框中指定的功能。
相应地,流程图的方框支持用于执行指定功能的手段的组合。还将理解的是可以由执行指定功能的基于专用硬件的计算机系统,或专用硬件和计算机指令的组合来实现流程图的一个或多个方框以及流程图中的方框的组合。
在示例性实施例中,一种用于执行以上图8和9的方法的设备可以包括被配置成执行上述操作(800-820和900-935)中的某些或每一个的处理器(例如,处理器94、数据库转换器97)。可以将该处理器例如配置成通过执行硬件实现逻辑功能、执行存储指令或执行算法以便执行每个操作来执行操作(800—820和900—935)。替换地,该设备可以包括用于执行上述操作中的每一个的装置。在这方面,根据示例性实施例,用于执行操作(800—820和900—935)的装置的示例可以包括例如处理器94(例如,作为用于执行上述任何操作的装置)、数据库转换器97和/或用于执行指令或执行算法以便处理如上所述的信息的设备或电路。
受益于在先前的描述和关联附图中提出的讲授内容,本发明相关领域的技术人员将想到在本文中阐述的本发明的许多修改及其他实施例。因此,应理解的是本发明不限于在本文中公开的特定实施例,并且修改及其他实施例意图被包括在所附权利要求的范围内。此外,虽然前述描述和关联的各图在元件和/或功能的某些示例性组合的背景下描述了示例性实施例,但应认识到的是在不脱离所附权利要求的范围的情况下可以由替换实施例来提供元件和/或功能的不同组合。在这方面,例如,如可能在某些所附权利要求中所阐述的,还可设想除上文明确描述的那些之外的元件和/或功能的不同组合。虽然在本文中采用特定术语,但其仅仅在一般且描述性的意义上使用而不是出于限制的目的。
Claims (20)
1.一种方法,包括:
经由处理器部分地基于基于分析对应于与地理数据库的多个地理记录中的每一个相关联的几何信息的一个或多个值而添加布置于多个字段中的多个数据项目来修改所述地理数据库;
针对每个记录确定在包括各记录的地理信息的至少一部分的预定变焦水平处的一组瓦片;
将每个记录更新成包括与对应于相应记录的几何信息的瓦片的最小和最大x和y值相关联的数据;以及
确定所述最小和最大x和y值定义地图瓦片的一个或多个矩形块。
2.根据权利要求1所述的方法,还包括:
响应于查询的接收,利用地图瓦片的矩形块中的至少一个来确定是否将与地理记录中的至少一个相关联的数据提供给装置。
3.根据权利要求1所述的方法,其中:
该字段包括各列,其中,
所述列中的第一列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最小x值,
所述列中的第二列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最小y值,
所述列中的第三列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最大x值,以及
所述列中的第四列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最大y值;以及
该几何信息包括与维度或经度坐标中的至少一个相关联的数据,该维度或经度坐标与现实世界中的地点或对象的位置相关联。
4.根据权利要求1所述的方法,还包括:
从装置接收针对数据的查询,该查询包括对应于至少一个瓦片的内容,所述瓦片与对应于瓦片的变焦水平及x和y值相关联;以及
部分地基于用于所述瓦片的变焦水平来确定处于最大变焦水平的对应于所述至少一个瓦片的多个等价瓦片。
5.根据权利要求4所述的方法,还包括:
将所述查询转换成新查新,该新查询包括对应于所述最大变焦水平的x和y值;以及
使得能够将所述新查询提供给已修改地理数据库,请求检索与与在所述新查询中识别的瓦片块交叉的一个或多个瓦片块相关联的每个地理记录。
6.根据权利要求5所述的方法,还包括:
从所述已修改地理数据库接收对应于所述新查询的结果,所述结果指示与与在所述新查询中识别的瓦片块的一部分交叉的一个或多个瓦片块相关联的地理记录中的一个或多个。
7.根据权利要求6所述的方法,还包括:
分析与所述一个或多个地理记录相关联的数据以确定所述一个或多个地理记录中的每一个是否包括与在所述新查询中识别的瓦片块交叉的几何内容。
8.根据权利要求7所述的方法,还包括:
使得能够从所述结果去除被确定为与并未与在所述新查询中识别的瓦片块交叉的几何内容相关联的所述一个或多个地理记录中的任何一个。
9.根据权利要求8所述的方法,还包括:
使得能够将所述结果提供给装置,该结果包括指示具有与在所述新查询中识别的瓦片块交叉的相应几何数据的地理记录中的至少一个的标记。
10.一种设备,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器,所述至少一个存储器和计算机程序代码被配置成与所述至少一个处理器一起促使所述设备至少执行以下各项:
部分地基于基于分析对应于与地理数据库的多个地理记录中的每一个相关联的几何信息的一个或多个值而添加布置于多个字段中的多个数据项目来修改所述地理数据库;
针对每个记录确定处于包括各记录的地理信息的至少一部分的预定变焦水平处的一组瓦片;
将每个记录更新成包括与对应于相应记录的几何信息的瓦片的最小和最大x和y值相关联的数据;以及
确定所述最小和最大x和y值定义地图瓦片的一个或多个矩形块。
11.根据权利要求10所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
响应于查询的接收,利用地图瓦片的矩形块中的至少一个来确定是否将与地理记录中的至少一个相关联的数据提供给装置。
12.根据权利要求10所述的设备,其中:
该字段包括各列,其中,
所述列中的第一列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最小x值,
所述列中的第二列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最小y值,
所述列中的第三列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最大x值,以及
所述列中的第四列对应于包括记录的几何数据的至少一部分的预定变焦水平处的所有瓦片的最大y值;以及
该几何信息包括与维度或经度坐标中的至少一个相关联的数据,该维度或经度坐标与现实世界中的地点或对象的位置相关联。
13.根据权利要求10所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
从装置接收针对数据的查询,该查询包括对应于至少一个瓦片的内容,所述瓦片与对应于瓦片的变焦水平及x和y值相关联;以及
部分地基于用于瓦片的变焦水平来确定处于最大变焦水平的对应于所述至少一个瓦片的多个等价瓦片。
14.根据权利要求13所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
将所述查询转换成新查新,该新查询包括对应于所述最大变焦水平的x和y值;以及
使得能够将所述新查询提供给已修改地理数据库,请求检索与与在所述新查询中识别的瓦片块交叉的一个或多个瓦片块相关联的每个地理记录。
15.根据权利要求14所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
从所述已修改地理数据库接收对应于所述新查询的结果,所述结果指示与与在所述新查询中识别的瓦片块的一部分交叉的一个或多个瓦片块相关联的地理记录中的一个或多个。
16.根据权利要求15所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
分析与一个或多个地理记录相关联的数据以确定所述一个或多个地理记录中的每一个是否包括与在所述新查询中的瓦片块交叉的几何内容。
17.根据权利要求16所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
使得能够从所述结果去除被确定为与并未与在所述新查询中识别的瓦片块交叉的几何内容相关联的所述一个或多个地理记录中的任何一个。
18.根据权利要求17所述的设备,其中,所述至少一个存储器和所述计算机程序代码还被配置成与所述处理器一起促使所述设备:
使得能够将所述结果提供给装置,该结果包括指示具有与在所述新查询中识别的瓦片块交叉的相应几何数据的地理记录中的至少一个的标记。
19.一种包括具有存储在其中的计算机可读程序代码部分的至少一个计算机可读存储介质的计算机程序产品,该计算机可读程序代码部分包括:
被配置成部分地基于基于分析对应于与地理数据库的多个地理记录中的每一个相关联的几何信息的一个或多个值而添加布置于多个字段中的多个数据项目来修改地理数据库的程序代码指令;
被配置成针对每个记录确定处于包括各记录的地理信息的至少一部分的预定变焦水平处的一组瓦片的程序代码指令;
被配置成将每个记录更新成包括与对应于相应记录的几何信息的瓦片的最小和最大x和y值相关联的数据的程序代码指令;以及
被配置成确定所述最小和最大x和y值定义地图瓦片的一个或多个矩形块的程序代码指令。
20.根据权利要求19所述的计算机程序产品,还包括:
被配置成响应于查询的接收,利用地图瓦片的矩形块中的至少一个来确定是否将与地理记录中的至少一个相关联的数据提供给装置的程序代码指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/973,514 | 2010-12-20 | ||
US12/973,514 US8352480B2 (en) | 2010-12-20 | 2010-12-20 | Methods, apparatuses and computer program products for converting a geographical database into a map tile database |
PCT/IB2011/054612 WO2012085693A1 (en) | 2010-12-20 | 2011-10-18 | Methods, apparatuses and computer program products for converting a geographical database into a map tile database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103270509A true CN103270509A (zh) | 2013-08-28 |
CN103270509B CN103270509B (zh) | 2016-11-16 |
Family
ID=46235788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180061216.3A Expired - Fee Related CN103270509B (zh) | 2010-12-20 | 2011-10-18 | 用于将地理数据库转换成地图瓦片数据库的方法、设备和计算机程序产品 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8352480B2 (zh) |
EP (1) | EP2656249A4 (zh) |
KR (1) | KR101493184B1 (zh) |
CN (1) | CN103270509B (zh) |
WO (1) | WO2012085693A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537031A (zh) * | 2014-12-19 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种地图数据的修改方法和装置 |
CN105205092A (zh) * | 2014-06-21 | 2015-12-30 | 谷歌公司 | 基于瓦片将可搜索地理空间数据分配到客户端装置 |
CN105740312A (zh) * | 2014-12-27 | 2016-07-06 | 达索系统公司 | 使数据库查询形成聚类以用于运行时间预测 |
CN109416258A (zh) * | 2016-06-29 | 2019-03-01 | 赫尔环球有限公司 | 用于在数字地图接口中的自适应性场地缩放的方法、设备和计算机程序产品 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075822B2 (en) * | 2011-02-11 | 2015-07-07 | Here Global B.V. | Incremental testing of a navigation database |
US8937627B1 (en) * | 2012-03-28 | 2015-01-20 | Google Inc. | Seamless vector map tiles across multiple zoom levels |
US9128975B2 (en) * | 2012-10-29 | 2015-09-08 | Anthony Leto | Systems and methods for determining data dependency for dynamic tiles |
CN104572755B (zh) * | 2013-10-24 | 2018-01-30 | 高德软件有限公司 | 一种建立数据索引的方法、数据查询方法及相关装置 |
KR101598809B1 (ko) * | 2014-10-30 | 2016-03-02 | 김시윤 | 사용자의 실제위치를 포함하는 상하관계형 영역에 기반한 사용자 영역 설정방법및 인접사용자 탐색방법 |
RU2632128C1 (ru) * | 2016-04-04 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система загрузки фрагментов изображения на клиентское устройство |
RU2632150C1 (ru) * | 2016-04-04 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система загрузки фрагментов изображения на клиентское устройство |
US11880883B2 (en) | 2016-09-15 | 2024-01-23 | Circlesx Llc | Systems and methods for geolocation portfolio exchanges |
US11823090B2 (en) | 2016-09-15 | 2023-11-21 | Circlesx Llc | Transportation and freight and parking and tolling and curb capacity unit IPO method and system |
US20200151816A1 (en) * | 2016-09-15 | 2020-05-14 | Erik M Simpson | Transportation and freight capacity units |
US10460520B2 (en) | 2017-01-13 | 2019-10-29 | Simpsx Technologies Llc | Computer ball device for mixed reality, virtual reality, or augmented reality |
US11740777B2 (en) * | 2016-09-15 | 2023-08-29 | Circlesx Llc | Multi-dimension information service helmet method and system |
US11790382B2 (en) | 2016-09-15 | 2023-10-17 | Circlesx Llc | Method to transmit geolocation exchange based markets |
US20190228351A1 (en) | 2018-01-23 | 2019-07-25 | Erik M. Simpson | Electronic forward market exchange for transportation seats and capacity in transportation spaces and vehicles |
US11861527B2 (en) | 2018-11-07 | 2024-01-02 | Circlesx Llc | Financial swap payment structure method and system on transportation capacity unit assets |
US20190272589A1 (en) | 2016-09-15 | 2019-09-05 | Erik M. Simpson | Securitization of transportation units |
US11810023B2 (en) | 2018-10-22 | 2023-11-07 | Circlesx Llc | System and method for a transportation or freight capacity exchange for one or more transportation or freight capacity units |
US10248663B1 (en) | 2017-03-03 | 2019-04-02 | Descartes Labs, Inc. | Geo-visual search |
US10210272B1 (en) * | 2017-11-27 | 2019-02-19 | The Florida International University Board Of Trustees | Window query monitoring for mobile devices and central database servers with a tree-like index |
FR3097363B1 (fr) * | 2019-06-13 | 2021-06-25 | Airbus Defence & Space Sas | Système numérique de préparation de mission |
CN111221933A (zh) * | 2019-12-31 | 2020-06-02 | 武汉市珞珈俊德地信科技有限公司 | 海量地图数据与建筑信息模型融合的三维瓦片构建方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470287B1 (en) * | 1997-02-27 | 2002-10-22 | Telcontar | System and method of optimizing database queries in two or more dimensions |
WO2009137967A1 (en) * | 2008-05-16 | 2009-11-19 | Shanghai Hewlett-Packard Co., Ltd | Provisioning a geographical image for retrieval |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953722A (en) | 1996-10-25 | 1999-09-14 | Navigation Technologies Corporation | Method and system for forming and using geographic data |
US7689621B1 (en) | 2000-11-06 | 2010-03-30 | Navteq North America, Llc | Multi-dimensional spatial index for a geographic database |
US7580927B1 (en) | 2001-05-29 | 2009-08-25 | Oracle International Corporation | Quadtree center tile/boundary tile optimization |
US6879980B1 (en) | 2001-06-29 | 2005-04-12 | Oracle International Corporation | Nearest neighbor query processing in a linear quadtree spatial index |
US7152071B2 (en) | 2002-05-01 | 2006-12-19 | Sun Microsystems, Inc. | Shape-based geometric database and methods and systems for construction and use thereof |
US7397811B2 (en) * | 2003-04-23 | 2008-07-08 | Ericsson Ab | Method and apparatus for determining shared broadcast domains of network switches, ports and interfaces |
US7099882B2 (en) | 2003-04-29 | 2006-08-29 | Navteq North America, Llc | Method and system for forming, updating, and using a geographic database |
US7539666B2 (en) | 2004-04-06 | 2009-05-26 | International Business Machines Corporation | Method, system and program for managing geographic data stored in a database |
US7801897B2 (en) * | 2004-12-30 | 2010-09-21 | Google Inc. | Indexing documents according to geographical relevance |
US20060218114A1 (en) * | 2005-03-25 | 2006-09-28 | Microsoft Corporation | System and method for location based search |
EP1955213A4 (en) * | 2005-11-07 | 2010-01-06 | Google Inc | ILLUSTRATION IN MOBILE DEVICES |
US20090027418A1 (en) * | 2007-07-24 | 2009-01-29 | Maru Nimit H | Map-based interfaces for storing and locating information about geographical areas |
-
2010
- 2010-12-20 US US12/973,514 patent/US8352480B2/en not_active Expired - Fee Related
-
2011
- 2011-10-18 WO PCT/IB2011/054612 patent/WO2012085693A1/en active Application Filing
- 2011-10-18 CN CN201180061216.3A patent/CN103270509B/zh not_active Expired - Fee Related
- 2011-10-18 KR KR20137018896A patent/KR101493184B1/ko active IP Right Grant
- 2011-10-18 EP EP11851800.0A patent/EP2656249A4/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470287B1 (en) * | 1997-02-27 | 2002-10-22 | Telcontar | System and method of optimizing database queries in two or more dimensions |
WO2009137967A1 (en) * | 2008-05-16 | 2009-11-19 | Shanghai Hewlett-Packard Co., Ltd | Provisioning a geographical image for retrieval |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205092A (zh) * | 2014-06-21 | 2015-12-30 | 谷歌公司 | 基于瓦片将可搜索地理空间数据分配到客户端装置 |
CN104537031A (zh) * | 2014-12-19 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 一种地图数据的修改方法和装置 |
CN104537031B (zh) * | 2014-12-19 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 一种地图数据的修改方法和装置 |
CN105740312A (zh) * | 2014-12-27 | 2016-07-06 | 达索系统公司 | 使数据库查询形成聚类以用于运行时间预测 |
CN109416258A (zh) * | 2016-06-29 | 2019-03-01 | 赫尔环球有限公司 | 用于在数字地图接口中的自适应性场地缩放的方法、设备和计算机程序产品 |
CN109416258B (zh) * | 2016-06-29 | 2022-07-29 | 赫尔环球有限公司 | 用于在数字地图接口中的自适应性场地缩放的方法、设备和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
KR101493184B1 (ko) | 2015-02-12 |
US8352480B2 (en) | 2013-01-08 |
EP2656249A4 (en) | 2016-09-28 |
KR20130096765A (ko) | 2013-08-30 |
CN103270509B (zh) | 2016-11-16 |
US20120158762A1 (en) | 2012-06-21 |
EP2656249A1 (en) | 2013-10-30 |
WO2012085693A1 (en) | 2012-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103270509A (zh) | 用于将地理数据库转换成地图瓦片数据库的方法、设备和计算机程序产品 | |
Virrantaus et al. | Developing GIS-supported location-based services | |
US8493407B2 (en) | Method and apparatus for customizing map presentations based on user interests | |
US8856671B2 (en) | Route selection by drag and drop | |
CN103927933B (zh) | 一种海量移动目标渲染的方法及装置 | |
US20150346968A1 (en) | Geo-fence creation on touch-enabled devices | |
CN102227611B (zh) | 用于提供指示制图应用中上下文数据的光标的方法和装置 | |
CN101706809B (zh) | 多源地图数据处理方法、装置和系统 | |
CA2959037A1 (en) | Providing in-navigation search results that reduce route disruption | |
CN103959279A (zh) | 基于移动设备生成的事件分析的地图瓦片数据预取 | |
WO2006059629A1 (ja) | エリア情報の管理装置・方法・プログラム | |
US10657806B1 (en) | Transformation of point of interest geometries to lists of route segments in mobile communication device traffic analysis | |
CN102523273B (zh) | 提供位置相关服务的系统 | |
JP5425174B2 (ja) | 情報処理装置及び方法 | |
US20140285526A1 (en) | Apparatus and method for managing level of detail contents | |
CN102902698A (zh) | 移动运算装置的内容提供方法 | |
JP5475835B2 (ja) | 地点登録装置、端末装置、及び地点登録方法 | |
Ganesan et al. | Composite algorithm for pervasive healthcare system–a solution to find optimized route for closest available health care facilities | |
Li et al. | An approach to integrate outdoor and indoor maps for books navigation on the intelligent mobile device | |
KR20140108608A (ko) | 여행 계획 설계 장치 및 그 방법 | |
Sirvent-Llamas et al. | Data structures modelling for citizen tracking based applications in smart cities | |
Pham Thi et al. | Exploring spatial business data: a ROA based ecampus application | |
JP2001331492A (ja) | 地図情報提供方法ならびにその装置、および同方法がプログラムされ記録された記録媒体 | |
Peng et al. | The weighted shortest path search based on multi‐agents in mobile GIS management services | |
Zhang et al. | Which Mapping Service Should We Select in China? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160119 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161116 Termination date: 20191018 |
|
CF01 | Termination of patent right due to non-payment of annual fee |