CN101553778B - 再现数字地图及其中瓦片的方法 - Google Patents
再现数字地图及其中瓦片的方法 Download PDFInfo
- Publication number
- CN101553778B CN101553778B CN2007800124549A CN200780012454A CN101553778B CN 101553778 B CN101553778 B CN 101553778B CN 2007800124549 A CN2007800124549 A CN 2007800124549A CN 200780012454 A CN200780012454 A CN 200780012454A CN 101553778 B CN101553778 B CN 101553778B
- Authority
- CN
- China
- Prior art keywords
- tile
- tiles
- request
- grid
- row
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- 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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/44—Browsing; Visualisation therefor
- G06F16/444—Spatial browsing, e.g. 2D maps, 3D or virtual spaces
-
- 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/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/10—Map spot or coordinate position indicators; Map reading aids
- G09B29/106—Map spot or coordinate position indicators; Map reading aids using electronic means
-
- 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/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30181—Earth observation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/04—Partial updating of the display screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/122—Tiling
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)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
web服务器接收来自客户端的规定位置和边界区域的请求。映射引擎产生以所述规定的位置为中心的瓦片栅格。产生种子瓦片,其包含或毗邻所述中心位置。所述web服务器产生所述瓦片栅格中的每一瓦片的资源识别符,且向所述客户端返回包含所述资源识别符的瓦片栅格。每一瓦片的资源识别符包含所述种子瓦片的位置和所述瓦片相对于所述种子瓦片的位置偏移,在一个实施例中所述位置偏移以向北和向东移动为单位来规定。所述客户端使用先前由系统提供的资源识别符从所述系统请求瓦片。一旦接收到所述请求,所述映射引擎使用来自地图数据库的地图数据动态地再现每一所请求的瓦片,且所述web服务器向请求客户端返回动态产生的瓦片。
Description
相关申请交叉参考案
本申请案主张在2006年2月13日提出申请的第60/773,287号美国临时申请案的权利,所述申请案以全文引用的方式并入本文中。
技术领域
本发明涉及数字地图的产生,包含地图瓦片的动态再现。
背景技术
在构建基于web的应用中Ajax(异步JavaScript和XML)的使用向用户提供响应性和互动性外观,从而使Ajax成为普遍的技术。基于web的映射和驱动方向的应用经常使用Ajax来实施。由于当仅改变页内容的一部分时并不必须重加载所述页的全部,因此Ajax提供客户端浏览器的用户在屏幕四处快速地拖拽地图的机会,从而给出基于本地应用的外观而非典型的客户端-服务器互动。
地图再现的常规方法的一个缺点是:如果客户端正尝试确定瓦片在其空间位置中的边界,那么客户端必须知道正用来绘画地图的投影。另外,由于常规应用使用经预再现的地图,因此其具有某些缺点。预再现的地图通过预再现通常极大的图像且将其切割成单个、小图像的集合来产生。然后,通常将所述较小的图像进一步划分成称为瓦片的小得多的图像的若干集合。由于瓦片栅格的中心是预定的,因此在不执行某些额外步骤来将栅格滑动到所需位置的情况下再现以具体请求的位置(例如街道地址)为中心的地图是困难的。另外,瓦片大小是预定义的,从而使得应用不可能请求不同大小的瓦片,除非此瓦片已被预再现。此外,基于已以预定比例可用的许多世界地图,对于预再现的地图缩放水平是固定的。最后,在再现时地图的外观是确定的。因此,应用不能在进行中请求所有路线为红色或突出显示某些特征等,而必需接受地图再现时地图设计者选择任何作为地图外观。
因此,所述技术中存在对提供用于可拖拽地图的改进架构的系统和方法的需要。
发明内容
本发明能够实现动态再现数字地图。在本发明的实施例中,系统包含web服务器、映射引擎和地图数据库。所述web服务器接收来自客户端的规定位置和边界区域的请求。在一个实施例中,位置被规定为地址,而在替代实施例中其被规定为纬度和经度。如果需要,所述映射引擎对所述地址执行地理编码操作,且产生以所述所规定的位置为中心的瓦片栅格。然后,产生种子瓦片,取决于所述瓦片栅格是具有偶数或奇数数目的行和列,所述种子瓦片包含或毗邻所述中心位置。所述web服务器产生瓦片栅格中的每一瓦片的资源识别符例如URL,且向客户端返回包含资源识别符的瓦片栅格。每一瓦片的资源识别符包含种子瓦片的位置和所述瓦片相对于所述种子瓦片的位置偏移,在一个实施中所述位置偏移以向北和向东移动为单位来规定。
在一个实施例中,客户端包含离屏幕外围缓冲器。此允许在使用者拖拽所显示的地图时在屏幕上拖拽外围图像之前加载所述外围图像。
客户端使用先前由系统提供的资源识别符从所述系统请求瓦片。一旦接收到所述请求,映射引擎使用来自地图数据库的地图数据动态地再现每一所请求的瓦片,且所述web服务器向请求客户端返回动态产生的瓦片。
当客户端的用户在客户端用户界面中拖拽地图时,客户端从服务器请求额外瓦片。使用先前针对瓦片栅格中每一位置所用的同一资源识别符请求额外的瓦片,除客户端首先适当地修改位置偏移,例如如果在4x4瓦片栅格中用户将地图向北拖拽一个瓦片,那么通过递增向北偏移+4进行修改。
因为地图瓦片是动态地再现的,其可以基本任意位置为中心。此外,可通过使用从客户端到服务器的资源识别符请求中的参数改变每一瓦片的外观,例如,改变地图上的颜色。重叠数据(例如路由引导)可再现为瓦片的一部分,因为在客户端请求时动态地再现所述瓦片。与常规方法相比较,缩放也被简化,且可通过向服务器提供缩放因数以及图像已从原始中心位置被平移的多个瓦片实现。
附图说明
图1图解说明根据本发明实施例用于再现数字地图的系统。
图2是图解说明根据本发明实施例用于提供瓦片栅格的方法的流程图。
图3图解说明根据本发明实施例由客户端向服务器提出对瓦片栅格的请求。
图4图解说明根据本发明实施例的瓦片栅格。
图5图解说明根据本发明实施例服务器向客户端对请求试用栅格的响应。
图6图解说明根据本发明实施例用于动态地再现地图瓦片的方法。
图7a、7b和7c图解说明根据本发明实施例可由客户端拖拽的地图的移动。
图8图解说明根据本发明实施例客户端向服务器提出的对包含缩放因数的瓦片栅格的请求。
图9图解说明根据本发明实施例客户端向服务器提出的对包含重叠的瓦片栅格的请求。
所述图式仅出于说明的目的描绘本发明的优选实施例。从下文的论述,所属技术领域的技术人员应易于了解,在不背离本文所述本发明原理的前提下,可采用本文中所图解说明的结构及方法的替代实施例。
具体实施方式
图1图解说明根据本发明实施例用于提供动态再现的地图的系统。系统100包含地图数据库104、映射引擎106和web服务器102。还显示客户端108。
地图数据库104含有映射引擎106用于路由、地理编码、地图再现和其它地理空间功能的数字化地图数据。映射引擎106接收并响应于来自web服务器102的对地图数据(包含动态再现的瓦片)的请求。web服务器102包含常规web服务器应用,例如阿帕奇(Apache)软件基金会的阿帕奇HTTP服务器或微软的因特网信息服务web服务器。另外,web服务器102包含用于接收来自客户端108对动态地图的请求、将所述请求通信到映射引擎106、接收动态地图数据且向客户端108提供所述地图数据的逻辑。
图1中还显示客户端108。在一个实施例中,客户端108使用常规web浏览器(例如,微软的因特网浏览器Internet Explorer或谋智(Mozzila)的火狐)来执行格式化来自web服务器102对动态地图的XML请求的JavaScript代码。在替代实施例中,XML可由客户端直接规定,或可使用其它应用来向系统100产生XML请求。下文将进一步描述系统100的元件的操作。
图2图解说明根据本发明实施例用于响应于对瓦片栅格的请求的方法。初始地,web服务器102接收202来自客户端108对瓦片栅格的请求。在一个实施例中,客户端108通过提供XML查询来作出请求。在图3中图解说明此查询的实例。在列表c00中,行2规定栅格内每一瓦片的所需像素宽度和高度属性。行3-10指示中心地址是“加利福尼亚 圣何塞 第二大街4号”,具有1km半径的边界区域。行11指示所述栅格应该包含4个行和4个列。
然后,服务器102确定204请求是否包含必须进行地理编码的地址,例如街道地址。如果包含,那么映射引擎106执行地理编码操作且向web服务器102返回所规定地址的纬度和经度。接下来,或如果不需要进行地理编码,那么服务器102确定208种子瓦片的位置。在一个实施例中,如果行和列的数目是偶数,那么种子瓦片是东北方向上毗接中心的瓦片。如果行和列的数目是奇数,那么种子瓦片是包含中心d02的瓦片。所属技术领域的技术人员应了解在替代实施例中可将其它瓦片定义为种子瓦片。
图4图解说明地图瓦片410的栅格400。(应注意,标记410通常是打算指栅格400内的任何瓦片)。瓦片栅格400是其中存在M个行和N个列的一般情况实例,且如所图解说明,包含4个行,出于方便在图4中标示为0-3;和4个列,标示为0-3。在一个实施例中,对于栅格中的每一图像,图像宽度和高度是相同的,尽管可通过应用规定任何像素宽度和高度。
在图4中,存在偶数数目(4)的行和列,且因此瓦片404被选为种子瓦片。
除栅格尺寸和图像像素尺寸以外,在一个实施例中,客户端108使用某些瓦片作为离屏幕外围缓冲器。此允许外围图像在用户在屏幕上拖拽其之间进行加载。在此实施例中,新的地图以外的瓦片被加载到离屏幕缓冲器中,从而最小化瓦片加载的可见度,且增加地图是单一、连续的图表而非瓦片的栅格的用户感觉。在图4中,瓦片402、404、406和408显示在屏幕上,而剩余的阴影瓦片在外围离屏幕缓冲器中。在替代实施例中,取决于实施者的偏好,客户端108将更多或更少的瓦片存储在离屏幕外围缓冲器中。
在一个实施例中,将瓦片410的位置表述为种子瓦片404的两个对角的坐标和与种子瓦片404的相对位置。在种子瓦片404的情况中,在北和东两个方向上偏移为0。
一旦确定种子瓦片的位置,web服务器102接下来就检查210瓦片栅格400中是否210存在尚未规定其位置的额外瓦片。如果存在,那么web服务器102确定212下一瓦片的位置,包含其从种子瓦片404向北和向东的偏移。例如,在图4中,瓦片402具有0向北和-1向东的偏移。尽管此处我们使用向北和向动偏移进行描述,但所属技术领域的技术人员将了解可使用其它偏移规定符,例如,向南和向西。
一旦确定瓦片栅格400中每一瓦片的位置,web服务器102就向客户端108返回瓦片栅格400。
图5提供服务器102对来自客户端108的瓦片栅格请求的响应500的一部分的实例。在响应500的XML中,以坐标(41.002,-72.000896)为中心返回具有1km的半径的瓦片栅格。所述瓦片栅格具有4个列和4个行,且每一瓦片的高度和宽度为300像素。此外,瓦片呈GIF格式。响应500还包含瓦片栅格400的边界区域的坐标,以及瓦片栅格400中每一瓦片的资源识别符,例如URL。应注意,出于图解说明的清晰目的,图5中仅包含一个URL-图4的瓦片栅格400具有16个瓦片且在瓦片栅格响应中将由16个URL标签表示。
在响应500中所图解说明的URL包含种子瓦片404的坐标、宽度和高度参数、格式参数、客户端名称参数和会话ID参数作为参数。还包含瓦片的北向和东向值,在此情况中0向北和-1向东。从图4可看出由此URL识别的瓦片是瓦片402,其位于种子瓦片404的0向北和-1向东(即,1向西)处。
在接收瓦片栅格400之后,客户端108就请求通过浏览器显示的瓦片,包含客户端请求以填充其离屏幕缓冲器的任何瓦片。参照图6,web服务器102接收602对由URL或其它资源识别符所识别瓦片的请求。web服务器102将所述请求转换为适合映射引擎106的查询,且将包含任何规定参数的查询传递给映射引擎106。映射引擎106从地图数据库104检索604地图数据且动态地再现608瓦片,其然后经由web服务器102返回610到客户端108。
在一个实施例中,系统100包含高速缓冲存储器,例如最近最少使用(LRU)的高速缓冲存储器,且web服务器402在每一瓦片被动态地再现之后对其进行高速缓冲存储。在此实施例中,当系统100接收对瓦片的请求时,web服务器102首先检查高速缓冲存储器以确定所述高速缓冲存储器中是否已经存在所述瓦片,且如果已经存在,那么返回经高速缓冲存储的版本;如果不存在,那么如以上所述动态地再现所述瓦片。
由于系统100依请求动态地再现瓦片,因此可在请求时例如使用来自客户端108的URL请求中的参数规定瓦片的外观。在URL中规定再现参数可在各种实施例中以多种方式来实施-在一个实施例中,客户端在URL中规定再现参数,例如“ROADS=red;WATER=blue”,且服务器102返回经适当再现的瓦片。在另一实施例中,服务器102在其第一次向客户端108提供瓦片栅格URL时提供默认的再现参数,且客户端108可在形成其对瓦片的请求中接受或对其进行处理。在替代实施例中,在缺少客户端108对参数的规定的情况下,系统100默认未规定参数的预定值。
在一个实施例中,包含会话ID参数作为在客户端108与服务器102之间传递的参数。服务器102使用所述会话ID参数(例如)以防止经高速缓冲存储的瓦片被不适当地发送到客户端108-例如,两个客户端可请求同一动态产生的瓦片,但一个客户端可规定不同于另一客户端的再现参数。通过使用会话ID,服务器102可确保客户端仅接收针对所述客户端动态产生的瓦片。
图Ga、Gb和Gc图解说明客户端108的用户将地图向下托拽一页的序列。星星d02表示所映射的地址或位置,即,在图3和图5的XML代码中瓦片栅格的中心地址。外部DIV 702建造内部DIV 704以产生以内部四个瓦片402、404、406、408为中心的可视区域。将CSS“溢出”属性设置为在外部DIV 702上隐藏以使得看不见离屏幕外围瓦片。外部DIV 702具有比内部DIV 704高的CSS Z-索引。所图解说明图Ga、Gb和Gc的瓦片栅格包含瓦片712。
在图7a中,未对地图进行拖拽。因此,内部DIV 704具有距其内封外部DIV为零的垂直偏移。与种子瓦片404相比,300像素乘以300像素瓦片图像712具有-2北向和-2东向的URL。
在图7b中,用户向下拖拽地图150像素。在内部DIV内没有一个图像翻转或改变其偏移。仅内部DIV相对于外部DIV移动。
在图7c中,已将内部DIV 704从内封外部DIV 702向下拉1个完成的瓦片(300像素)。瓦片712已从栅格的底部翻转到栅格的顶部,从而获得相对于内部DIV为-300的偏移。类似地,图像的URL获得已增加4(即,现在为+2)的北向值。此通过对图像初始的-2北向瓦片相加整个栅格高度(4个瓦片)来确定。
因此,当客户端108希望以新的内容绘画瓦片712时,其仅需从web服务器102请求与原始指派给所述瓦片的URL相同的URL,除变更北向值为+2代替-2以外。以此方式,客户端不需要规定待绘画的瓦片的坐标,也不需要客户端在使用中维持关于地图投影的任何信息-通过提供具有更新的北向和东向值的URL,客户端将从服务器102获取正确的经动态再现瓦片。
系统100还允许客户端108在不必跟踪纬度和经度信息的情况下根据需要容易地缩小或放大。
替代地,瓦片栅格请求允许客户端简单地在任何方向上规定地图已被规定的瓦片数目。此通过将Pan元素包含在瓦片栅格请求中来实现。
图8显示规定1.0的缩放因数的XML请求,其在图解说明的实施例中导致2的缩放因数,即,所得图像为两倍大。除以上所述的请求以外,图8中的额外标签规定“zoom=‘1.0’”的缩放因数作为<Output>标签的一部分,且除<TileGrid>标签的行和列参数以外,还包含<Pan>标签,其指示在请求缩放之前,具有规定中心点的图像向东平移13.17个瓦片且向南平移4.234个瓦片。通过规定此信息,客户端108已向服务器102提供足够的信息来使所述服务器动态地再现以适当的新位置为中心具有请求的缩放的所需瓦片栅格。
系统100额外地使重叠元素能够在瓦片栅格上动态地再现。重叠元素包含路由几何、所关注的点、文本和类似物。与预再现瓦片不同,动态瓦片再现的优点是所有路由和其它重叠是图像瓦片的一部分,而非再现为具有透明背景的单独图像,且在JavaScript客户端中分层放置在瓦片顶部,从而增加系统的复杂性。
在一个实施例中,将重叠规定为初始TileGrid XML请求的一部分,且经由会话ID与瓦片相关联。如果在请求中未提供会话ID,那么在一个实施例中服务器102返回唯一会话ID。个别瓦片图像的URL包含此会话ID。
图9图解说明包含TileGrid和规定路由几何以重叠在所请求的瓦片上的RouteGeomerry标签的XML请求。在所图解说明的实施例中,fitOverlays属性致使瓦片栅格的空间范围延展以覆盖所有重叠。<RouteGeometry>标签规定路由几何。图9中所包含的路由可例如通过对deCarta Drill Down服务器的DeterminRouteRequest或通过使用其它路由计算方法来确定。随后由系统100再现的URL包含地图数据和重叠两者。
应注意,在上述实施例的替代实施例中,系统100可响应于初始瓦片栅格请求、响应于参数规定返回动态再现的瓦片。此实施例对于(例如)移动装置应用是有用的。
客户端108可在服务器102的URL请求中包含的额外参数规定服务器102在返回瓦片中应使用的图像压缩类型。此是有利的,因为在不同平台上运行或具有不同网络连接速度和延时的客户端可通过使用较高或较低压缩的瓦片寻求效能改进。
已关于有限数目的实施例特别详细地描述了本发明。所属技术领域的技术人员将了解,本发明可另外在其它实施例中实施。例如,在其它实施例中可由其它模块来提供图产生引擎的功能性。本发明还具有除数字地图简化以外的应用。例如,在各种实施例中,本发明可用于在二维或更高维数的空间中的任何应用(例如,用向量再现图式中)中对多线进行简化。
在所述书面说明内,组件的特定命名、术语的大写、属性、数据结构、或任何其它编程或结构方面均不是强制性或具有特殊意义的,且实施本发明或其特征的机制可具有不同的名称、格式或协议。此外,系统可如上文所述经由硬件和软件的组合来实施,或者完全在硬件元件中实施。同样,本文所述各种系统组件之间的功能性的特定划分仅仅是例示性的,且不是强制性的;由单个系统组件实施的功能可替代地由多个组件来实施,且由多个组件实施的功能可替代地由单个组件来实施。例如,节点产生模块202、连线产生模块204等的特定功能可在许多模块或一个模块中提供。
以上说明的某些部分就算法和关于信息的符号操作表示方面呈现本发明的特征。这些算法描述和表示是所属技术领域的技术人员向所属技术领域的其它技术人员最有效地传达其工作实质所使用的手段。从功能上或逻辑上进行描述的这些操作应理解为由计算机程序来实施。此外,已经证明有时将操作的这些布置称为模块或代码装置也是方便的,而不会丧失通用性。
然而,应记住,所有这些术语及类似术语均与适合的物理量相关联,且仅是应用于这些量的方便标记。除非根据上述论述显而易见地另有具体规定,否则应了解,在本说明的通篇中,利用例如“选择”或“计算”或“确定”或类似用语进行的论述是指计算机系统或类似电子计算装置所进行的动作和过程,所述计算机系统或类似电子计算装置对在计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置中被表示成物理(电子)量的数据进行处理及变换。
本发明的某些方面包含本文中以算法的形式描述的过程步骤和指令。应注意,本发明的过程步骤和指令可体现在软件、固件或硬件中,且当体现在软件中时,可被下载以驻留在由实时网络操作系统使用的不同平台上,并由所述平台来操作。
本发明还涉及一种用于实施本文中的操作的设备。此设备可以针对所需的用途进行专门构造,或者其可包括通用计算机,所述通用计算机由存储在所述计算机中的计算机程序有选择地启动或重新配置。此计算机程序可存储在计算机可读存储媒体中,例如,但不限于:任何类型的磁盘,包含软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC);或任何类型的媒体,其适于存储电子指令且每一者均耦合到计算机系统总线。此外,在本说明书中提及的计算机可包含单个处理器,或可以是采用多处理器设计的构架以实现增加的计算能力。
本文中所提供的算法及显示并非与任何特定计算机或其它设备内在地相关。各种通用系统还可根据本文中的教示与程序一起使用,或者可证明便于构造用来实施所需方法步骤的更专门的设备。从上文的说明中将显现各种所述系统的所需结构。另外,未参照任何特定编程语言对本发明加以描述。应了解,可使用各种编程语言来实施本文所述的本发明的教示,且对特定语言的任何提及是为了揭示本发明的可行性和最佳模式而提供的。
最后,应注意,本说明书中所使用的语言原则上是出于易读性和指导性目的而选择的,而不是为描述或限制发明的标的物而选择的。因此,本发明的揭示内容旨在图解说明而非限制本发明的范围。
Claims (17)
1.一种用于再现数字地图中瓦片的由计算机实施的方法,所述方法包括:
由一计算机接收对瓦片栅格的第一请求,所述第一请求规定所述栅格中各瓦片的宽度与高度、位置、边界区域,及所述请求栅格中的列和行的数量;
响应所述第一请求,由所述计算机产生一瓦片栅格,所述瓦片栅格包含具有所规定的宽度与高度的若干瓦片的标签,所述若干瓦片包含根据所规定的位置居中的种子瓦片及若干围绕所述种子瓦片的剩余瓦片;该剩余瓦片与种子瓦片一起形成所规定数量的列与行;
由所述计算机将所产生的瓦片栅格提供给请求者;
由所述计算机接收第二请求,其请求由所述瓦片栅格标示的所述若干瓦片中的一个;
响应所述第二请求,由所述计算机再现所请求的瓦片;及
提供所再现的瓦片给所述请求者。
2.如权利要求1所述的方法,进一步包含:
由所述计算机接收第三请求,其请求所述若干瓦片之外的瓦片;所请求的瓦片识别为距所述若干瓦片中一者的偏移;
响应所述第三请求,由所述计算机再现所请求的瓦片;及
将所再现的瓦片提供给所述请求者。
3.如权利要求1所述的方法,其中再现所请求的瓦片进一步包含:
检索地图数据,其用于与来自地图数据库的所请求的瓦片相关联的坐标;及
根据所检索的地图数据,再现所述瓦片。
4.如权利要求1所述的方法,其中请求所述若干瓦片中的一个的所述第二请求包含再现参数,且再现所请求的瓦片进一步包含根据所述再现参数再现所述瓦片。
5.如权利要求4所述的方法,其中所述再现参数中的一个规定将被再现的特征的颜色。
6.如权利要求1所述的方法,其中所述位置规定为街道地址,且产生所述瓦片
栅格进一步包含地理编码所述地址以发现所规定地址的坐标。
7.如权利要求1所述的方法,其中所述列与行的数量是一偶数;且所述种子瓦片是一毗邻所规定位置的瓦片,而所述瓦片栅格以所规定的位置为中心。
8.如权利要求7所述的方法,其中所述种子瓦片于东北方毗邻所规定的位置。
9.如权利要求1所述的方法,其中所述列与行的数量是一奇数,且所述种子瓦片是一以所规定的位置为中心的瓦片。
10.如权利要求1所述的方法,其中提供所产生的瓦片栅格包含提供所述若干瓦片中每一个的标签。
11.如权利要求10所述的方法,其中所述标签包含统一资源定位符。
12.如权利要求10所述的方法,其中所述标签包含各瓦片相对于所述种子瓦片的偏移。
13.如权利要求1所述的方法,其中提供所产生的瓦片栅格包含提供默认的再现参数。
14.如权利要求1所述的方法,其中提供所产生的瓦片栅格进一步包含提供与所述栅格相关联的边界区域。
15.一种用于再现数字地图的由计算机实施的方法,所述方法包括:
由来自服务器的计算机请求瓦片栅格;所述请求规定位置、边界区域,及所请求栅格的列和行的数量;
由来自所述服务器的所述计算机接收所述瓦片栅格;所述瓦片栅格包含第一若干瓦片的资料;所述第一若干瓦片包含以所规定的位置为中心的种子瓦片,并布置形成所规定数量的列与行;
由来自所述服务器的所述计算机请求第二若干瓦片,所述第二若干瓦片包含来自第一若干瓦片的瓦片;所述请求是使用自所述服务器接收的关于所述第一若干瓦片的资料作出的;
由所述计算机自所述服务器接收所述第二若干瓦片;及
由所述计算机显示所述第二若干瓦片中的至少一些。
16.如权利要求15所述的方法,其进一步包含:
由所述计算机自所述服务器请求额外瓦片,所述额外瓦片不是所述第一或第二若干瓦片中部分;所述请求规定所述额外瓦片距所述第一若干瓦片中之一的位移;
所述计算机自所述服务器接收所请求的额外瓦片;及
由所述计算机显示所接收的额外瓦片。
17.如权利要求15所述的方法,其中对所述第二若干瓦片的请求包含一格式参数,所述格式参数规定由所述服务器再现的所述第二若干瓦片的至少一些的特征显示方式。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77328706P | 2006-02-13 | 2006-02-13 | |
US60/773,287 | 2006-02-13 | ||
PCT/US2007/003695 WO2007095184A2 (en) | 2006-02-13 | 2007-02-13 | Draggable maps |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101553778A CN101553778A (zh) | 2009-10-07 |
CN101553778B true CN101553778B (zh) | 2011-11-23 |
Family
ID=38372061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800124549A Active CN101553778B (zh) | 2006-02-13 | 2007-02-13 | 再现数字地图及其中瓦片的方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9412199B2 (zh) |
EP (1) | EP2024939B1 (zh) |
CN (1) | CN101553778B (zh) |
WO (1) | WO2007095184A2 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130245B2 (en) * | 2007-01-18 | 2012-03-06 | Harris Corporation | System and method for processing map images |
US20080313545A1 (en) * | 2007-06-13 | 2008-12-18 | Microsoft Corporation | Systems and methods for providing desktop or application remoting to a web browser |
US8109414B2 (en) | 2008-10-07 | 2012-02-07 | Ing. Erich Pfeiffer Gmbh | Discharge device |
US20100125552A1 (en) * | 2008-10-30 | 2010-05-20 | Peterson Barry L | Method and system for updating viewer caches |
US8386715B2 (en) * | 2009-11-30 | 2013-02-26 | Nokia Corporation | Method and apparatus for tile mapping techniques |
US8750845B2 (en) * | 2010-02-24 | 2014-06-10 | Nokia Corporation | Method and apparatus for providing tiles of dynamic content |
US8880589B2 (en) * | 2010-12-29 | 2014-11-04 | Environmental Systems Research Institute, Inc. | Signature based map caching |
US20120284662A1 (en) * | 2011-05-04 | 2012-11-08 | Microsoft Corporation | Virtualized caching of user interface controls |
US9116607B2 (en) | 2011-05-11 | 2015-08-25 | Microsoft Technology Licensing, Llc | Interface including selectable items corresponding to single or multiple data items |
US8949857B2 (en) | 2011-07-15 | 2015-02-03 | Microsoft Corporation | Value provider subscriptions for sparsely populated data objects |
US8384726B1 (en) * | 2011-08-31 | 2013-02-26 | Google Inc. | Selective rendering of off-screen content |
US8560600B2 (en) * | 2011-09-26 | 2013-10-15 | Google Inc. | Managing map elements using aggregate feature identifiers |
US9454617B1 (en) | 2011-12-30 | 2016-09-27 | hopTo Inc. | Client rendering |
US8856262B1 (en) | 2011-12-30 | 2014-10-07 | hopTo Inc. | Cloud-based image hosting |
US9367931B1 (en) * | 2011-12-30 | 2016-06-14 | hopTo Inc. | Motion vectors for cross-platform display |
US8775545B1 (en) | 2011-12-30 | 2014-07-08 | hop To Inc. | Image hosting for cross-platform display over a communication network |
US9218107B1 (en) | 2011-12-30 | 2015-12-22 | hopTo Inc. | Cloud-based text management for cross-platform display |
US9223534B1 (en) | 2011-12-30 | 2015-12-29 | hopTo Inc. | Client side detection of motion vectors for cross-platform display |
US9123178B2 (en) * | 2012-02-10 | 2015-09-01 | Google Inc. | Updating map tiles |
US9202311B2 (en) * | 2012-02-10 | 2015-12-01 | Google Inc. | Accessing map tiles |
US9124562B1 (en) | 2012-05-18 | 2015-09-01 | hopTo Inc. | Cloud-based decomposition and recomposition for cross-platform display |
US9106612B1 (en) | 2012-05-18 | 2015-08-11 | hopTo Inc. | Decomposition and recomposition for cross-platform display |
US8990363B1 (en) | 2012-05-18 | 2015-03-24 | hopTo, Inc. | Decomposition and recomposition for cross-platform display |
CN104662527A (zh) * | 2012-08-10 | 2015-05-27 | 诺基亚公司 | 用于提供众包地理编码的方法和装置 |
CN102968442B (zh) * | 2012-10-22 | 2016-02-17 | 武大吉奥信息技术有限公司 | 网络地图瓦片服务聚合的方法和系统 |
US8763054B1 (en) | 2012-11-02 | 2014-06-24 | hopTo Inc. | Cross-platform video display |
US8776152B1 (en) | 2012-11-02 | 2014-07-08 | hopTo Inc. | Cloud-based cross-platform video display |
US11256725B1 (en) | 2013-03-12 | 2022-02-22 | Zillow, Inc. | Normalization of crime based on foot traffic |
US9430134B1 (en) | 2013-03-15 | 2016-08-30 | hopTo Inc. | Using split windows for cross-platform document views |
US9250782B1 (en) | 2013-03-15 | 2016-02-02 | hopTo Inc. | Using split windows for cross-platform document views |
CN103488760B (zh) * | 2013-09-26 | 2017-02-15 | 中国测绘科学研究院 | 地理信息瓦片服务的提供方法及实现该方法的装置 |
CN103593861A (zh) * | 2013-11-21 | 2014-02-19 | 武大吉奥信息技术有限公司 | 一种面向2.5维地图服务的瓦片加载方法 |
CN103955955B (zh) * | 2014-04-30 | 2017-03-29 | 深圳华强信息产业有限公司 | 一种电子地图信息处理方法及装置 |
WO2017106497A1 (en) * | 2015-12-17 | 2017-06-22 | Counterfy Llc | Displayed identifier for a ridesharing service |
US10593074B1 (en) * | 2016-03-16 | 2020-03-17 | Liberty Mutual Insurance Company | Interactive user interface for displaying geographic boundaries |
CN106021446A (zh) * | 2016-05-16 | 2016-10-12 | 深圳市智璟科技有限公司 | 一种地图资源本地化实现系统及方法 |
WO2018231253A1 (en) * | 2017-06-16 | 2018-12-20 | Colorado State University Research Foundation | Satellite loop interactive data explorer in real-time |
EP3467691B1 (en) * | 2017-10-05 | 2020-08-26 | Eshard | Method of selecting software files |
US10719963B2 (en) * | 2017-11-27 | 2020-07-21 | Uber Technologies, Inc. | Graphical user interface map feature for a network service |
CN108303098B (zh) * | 2018-02-09 | 2018-09-25 | 上海思岚科技有限公司 | 机器人路径规划方法及设备 |
US20190325534A1 (en) | 2018-04-24 | 2019-10-24 | Indigo Ag, Inc. | Agricultural transportation entity identification and selection |
US10394859B1 (en) * | 2018-10-19 | 2019-08-27 | Palantir Technologies Inc. | Systems and methods for processing and displaying time-related geospatial data |
US10805374B1 (en) | 2019-08-19 | 2020-10-13 | Palantir Technologies Inc. | Systems and methods for providing real-time streaming data processing at edge servers |
CA3177357A1 (en) * | 2020-05-01 | 2021-11-04 | Christopher Edward Holden | Dynamic data tiling |
CN112843727B (zh) * | 2021-03-17 | 2024-06-14 | 厦门极致互动网络技术股份有限公司 | 一种基于Tiledmap的地图数据导出方法 |
CN116108098A (zh) * | 2023-03-14 | 2023-05-12 | 中科星图数字地球合肥有限公司 | 瓦片数据格式转换方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1204102A (zh) * | 1998-06-04 | 1999-01-06 | 中国地图出版社 | 电子地图中的图象处理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6331869B1 (en) * | 1998-08-07 | 2001-12-18 | Be Here Corporation | Method and apparatus for electronically distributing motion panoramic images |
US6674445B1 (en) * | 1999-10-12 | 2004-01-06 | Autodesk, Inc. | Generalized, differentially encoded, indexed raster vector data and schema for maps on a personal digital assistant |
US7738688B2 (en) * | 2000-05-03 | 2010-06-15 | Aperio Technologies, Inc. | System and method for viewing virtual slides |
US6760024B1 (en) * | 2000-07-19 | 2004-07-06 | Pixar | Method and apparatus for rendering shadows |
US20020067374A1 (en) * | 2000-12-04 | 2002-06-06 | Kenyon Jeremy A. | Method and apparatus for distributing and displaying maps electronically |
US20050116966A1 (en) * | 2002-04-04 | 2005-06-02 | Graham James J. | Web imaging serving technology |
GB0303888D0 (en) * | 2003-02-19 | 2003-03-26 | Sec Dep Acting Through Ordnanc | Image streaming |
US8689113B2 (en) * | 2004-01-22 | 2014-04-01 | Sony Corporation | Methods and apparatus for presenting content |
US7158878B2 (en) * | 2004-03-23 | 2007-01-02 | Google Inc. | Digital mapping system |
US7599790B2 (en) * | 2004-03-23 | 2009-10-06 | Google Inc. | Generating and serving tiles in a digital mapping system |
US7274378B2 (en) * | 2004-07-29 | 2007-09-25 | Rand Mcnally & Company | Customized wall map printing system |
US7813562B2 (en) * | 2004-09-27 | 2010-10-12 | Intel Corporation | Low-latency remote display rendering using tile-based rendering systems |
-
2007
- 2007-02-13 EP EP07750526.1A patent/EP2024939B1/en active Active
- 2007-02-13 CN CN2007800124549A patent/CN101553778B/zh active Active
- 2007-02-13 WO PCT/US2007/003695 patent/WO2007095184A2/en active Application Filing
- 2007-02-13 US US11/706,065 patent/US9412199B2/en active Active
-
2016
- 2016-08-05 US US15/229,262 patent/US10127692B2/en active Active
-
2018
- 2018-10-11 US US16/157,322 patent/US10679386B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1204102A (zh) * | 1998-06-04 | 1999-01-06 | 中国地图出版社 | 电子地图中的图象处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101553778A (zh) | 2009-10-07 |
US10679386B2 (en) | 2020-06-09 |
US20160343153A1 (en) | 2016-11-24 |
US10127692B2 (en) | 2018-11-13 |
EP2024939A2 (en) | 2009-02-18 |
EP2024939A4 (en) | 2011-10-12 |
US20190043227A1 (en) | 2019-02-07 |
US20070229524A1 (en) | 2007-10-04 |
WO2007095184A3 (en) | 2009-04-09 |
EP2024939B1 (en) | 2016-07-06 |
US9412199B2 (en) | 2016-08-09 |
WO2007095184A2 (en) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101553778B (zh) | 再现数字地图及其中瓦片的方法 | |
US12008727B2 (en) | Digital mapping system | |
US7161604B2 (en) | System and method for synchronizing raster and vector map images | |
CN101014831B (zh) | 数字地图描绘系统 | |
JP5006187B2 (ja) | デジタルマッピングシステムにおけるタイルの生成と供給 | |
US20150371439A1 (en) | Addiing Custom Content To Mapping Applications | |
US20050270299A1 (en) | Generating and serving tiles in a digital mapping system | |
US20090319573A1 (en) | Internet based geographic information system | |
Jiang | Geographical Information System in Web Application: Developing Web Application to Serve Spatial Data to Users | |
Król et al. | Interactive “Image Viewers"—comparison of selected tools and application examples | |
Lu et al. | User-generated storytelling based on analog maps with local and dynamic georeferencing | |
Kouzeleas et al. | Architectural, urban digital design and spatial simulation tools in digital cities cartography: Contribution in spatial design and perception | |
CA2562203A1 (en) | Internet census geographic information system (gis) and method of applying census data to geographic mapping applications | |
KR20170071977A (ko) | 해양연구지원장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160715 Address after: California, USA Patentee after: Uber Technologies, Inc. Address before: California, USA Patentee before: De kaarta LLC Effective date of registration: 20160715 Address after: California, USA Patentee after: De kaarta LLC Address before: California, USA Patentee before: Decarta Inc. |