动态地更新地图投影的方法和系统的制作方法

xiaoxiao2020-6-26  24

专利名称:动态地更新地图投影的方法和系统的制作方法
技术领域
本发明涉及显示地图,更具体地,涉及动态地显示更新的地图投影。
背景技术
众所周知,在平面(计算机屏幕或纸)上表示球面(球体)会导致一个或多个空间特征的变形。地图投影通过一组规则而运作,该组规则指示了位于球体(地球)上的位置应位于平面上的何处。尽管创建了很多地图投影,它们都使以下四个空间特征中的一个或多个变形形状、面积、距离和方向。这样的空间变形在投影的一些部分比在其他部分要严重。

发明内容
在本发明的一个实施例中,一种用于显示地图投影的方法包括响应于对地图视图的一个或多个方面的一个或多个希望的变化,为希望改变的地图视图选择中央经线,并基于选择的中央经线创建新的地图投影以减少在希望改变的地图视图中的一个或多个空间特征的变形。对地图视图的一个或多个方面的一个或多个希望的变化可包括对地图的可视区域的一个或多个希望的变化。可使用滚动、缩放或扫视控件中的一个或多个来选择对于地图的可视区域的一个或多个希望的改变。地图视图可包括线段。如果线段基本上是笔直的,则选择的中央经线对应于线段。 如果线段基本上不是笔直的,则选择的中央经线对应于拟合于该线段的线。地图视图可包括一个或多个界标,且选择的中央经线可对应于与一个或多个界标交叉的线。地图视图可包括多个数据点,且所选择的中央经线可包括多个数据点的集中趋势线(line of central tendency)。对于地图视图的一个或多个方面的一个或多个希望的改变可包括对于来自数据集的数据选择的一个或多个希望的改变。除了如上所述的显示地图视图的方法,本发明的其他方面涉及用于显示地图视图的相应系统和计算机程序产品。


上面从一般方面描述了本发明,现在将参考附图,其不一定是按比例绘制的,且其中图1-6是地图投影,其示出了根据本发明的各方面动态地显示地图投影的操作;图7是计算机网络的示意性框图,在该计算机网络中,本发明的实施例可操作;以及图8是图7的网络中的计算机的示意性框图。
具体实施例方式本发明的实施例可提供动态创建和更新地图投影以便以对特定的地图视图来说可取的方式降低空间变形的能力。例如,当使用横轴墨卡托(Transverse Mercator)投影工作时,可选择中央经线以降低沿着对于特定地图视图来说最感兴趣的线段的距离。随着的地图视图的改变(例如,响应于用户选择,下面将详细讨论),可选择新的中央经线并基于选择的中央经线创建新的地图投影。动态地更新地图投影以便所有的地层正确地表示对于给定情况最重要的空间特性,这可使得地图分析家能正确地分析正在查看的地图。可被创建的特定类型的地图投影可以是多样的,诸如根据希望较少变形的空间特征。例如,如果希望正确地显示沿着中央经线的距离,可希望创建横轴墨卡托投影。但是, 可使用本发明的实施例来创建任何已知类型的投影。例如,可使用本发明的实施例动态创建正轴等面积割圆锥(Albers Equal Area Conic)投影。正轴等面积割圆锥投影保存了经线和纬线之间的角度。正轴等面积割圆锥投影试图最小化形状和线性标尺两者的变形,但是两者都不是真正正确的。可使用本发明的实施例动态创建的另一种投影是钱柏林三度 (Chamberlin Trimetric)投影,其被国家地理协会用来绘制大多数的大洲。钱柏林三度投影是一个三点等距的投影,其保存了三个参考点相对于任何其他点的距离。可使用本发明的实施例动态创建的另一种投影是正形地图(conformal map)投影,其被用在角度测量非常重要的地图中,诸如航空图和地形图。为了正确地表示特定的地图元素或最佳地适应特定类型的地图或任务,已开发了几百种投影。所选择的中央经线可被选择以便对于特定的地图视图以希望的方式降低空间变形。例如,一种类型的地图可将特定的信息描绘为一条或多条(笔直或不笔直的)线。这样的信息可包括道路、河流、旅游指南(例如,逐向(turn-by-turn)驾驶指南、计划的飞机飞行路线或计划的船运路线)、火车轨道、管道、通信线缆、电力线等。对这样的地图,可选择中央经线以对应于一条或多条线(以下将详细讨论)。一种不同类型的地图可示出特定信息作为一个或多个点。例如,点可代表地理位置(感兴趣的地方或沿着逐向驾驶指南的点),或可代表数据点(例如,犯罪数据、人口统计数据等)。对于这样的地图,可选择中央经线以对应于一个或多个点(以下将详细讨论)。可选择新的中央经线,且使用该新的中央经线根据需要创建新的地图投影,以向用户显示具有降低了的空间变形的地图视图。例如,响应于对地图视图的一个或多个方面的一个或多个希望的变化,可选择新的中央经线且使用该新的中央经线创建新的地图投影。对地图视图的变化可包括,例如,改变地图的可视区域。这种改变地图的可视区域响应于,例如,用户滚动地图视图、缩放或扫视而发生。这样的查看控件在在本领域是熟知的。改变地图视图还可包括,例如,改变一个或多个过滤器选择,其转而改变在地图上显示的数据点。这种对地图视图的改变在图4和图5中示出,且以下将详细讨论。现在参考图1,地图视图10示出了阿拉斯加州和横穿阿拉斯加的管道12。也示出了沿着管道的泵站14。地图视图10包括使用线16作为中央经线的地图投影。地图视图10可以是例如横轴墨卡托投影。中央经线16可被选择以对应于示出的管道部分(其在图1中是整条管道)。为了选择对应于表现为线(诸如图1中的管道)的地图特征的中央经线,如果该线基本是笔直的,则选择的中央经线对应于该线,且如果该线不是基本上笔直的,则选择的中央经线对应于使用任何合适的线拟合(line-fitting)方法拟合不笔直的线的线。由于图1的管道不是笔直的线,(使用任何合适的线拟合技术)笔直的线16拟合于管道的不笔直的线12,且笔直的线16被用作是中央经线。如果管道的示出部分是基本上笔直的线,则表示管道的线可被用作是中央经线。查看图I的地图视图10的用户可希望放大以仔细观看管道部分,由此当用户放大时,地图视图改变了。本发明的实施例可选择新的中央经线,并使用该新的中央经线创建新的地图投影以减少靠近放大图中的管道部分的空间变形。图2示出了当管道的不同部分被放大时,如何选择不同的中央经线。图2a的框20示出了从泵站I到泵站5的管道部分如何被选择以放大。类似地,图2a的框30示出了从泵站6到泵站9的管道部分如何被选择以放大。可使用任何合适的技术来选择包含在框20和30中的部分以便缩放。直到地图视图通过对框20或框30进行放大而被改变以前,图2a的地图视图与图 Ia的一样,且将具有相同的中央经线(线16)。当,例如,用户选择框20来放大时,地图视图将相应地改变到图2b中所示出的那样。根据本发明的实施例,可为图2b的地图视图选择新的中央经线以对应于图2b中示出的管道部分(S卩,泵站I到泵站5)。由于那部分管道不是直线,中央经线将很可能包括已拟合该管道的直线26。用于图2b的地图视图的投影将动态地改变以使用线26作为中央经线。这样,图2b的地图投影将具有对应于管道的示出部分的中央经线,且由此图2b的示出的管道部分将具有相比于如果没有根据本发明实施例动态更新地图投影的情况来说较小的空间变形。类似地,当用户选择框30来放大时,地图视图将相应地改变为如图2所示出的那样。根据本发明的实施例,可为图2c的地图视图选择新的中央经线以对应于图2c中示出的管道部分(即,泵站6到泵站9)。由于那管道部分不是一条直线,中央经线将很可能包括已拟合于管道的直线36。用于2c的地图视图的投影将被动态地改变以使用线36作为中央经线。这样,图2c的地图投影将具有对应于示出的管道部分的中央经线,且由此图2c示出的管道部分将具有相比于如果没有根据本发明实施例动态更新地图投影的情况来说较小的空间变形。查看图2b的放大的地图视图20的用户可能希望向下滚动以便在该缩放级别上查看管道的剩余部分,由此当用户向下滚动时,随每个滚动增量改变地图视图。本发明的实施例可选择新的中央经线并利用该新的中央经线创建新的地图投影以减少靠近每个当前的滚动窗口中可视的管道部分的空间变形。图3示出了当滚动到不同的管道部分时,如何选择不同的中央经线。图3a、3b和3c每个都示出了随着用户向下滚动,管道的不同部分。图 3a示出了从泵站I到泵站4的管道;图3b示出了从泵站5到泵站9的管道;且图3c示出了从泵站8到泵站12的管道。在随着用户的滚动而示出的每个离散的地图视图中,对于每个地图视图,可选择新的中央经线且使用该新的中央经线创建新的地图投影。图3a中示出的地图视图将包括使用线46a作为中央经线而创建的地图投影。图3b示出的地图视图将包括使用线46b作为中央经线而创建的地图投影。图3c中示出的地图视图将包括使用线 46c作为中央经线而创建的地图投影。这样,图3a、3b和3c中示出的管道部分将具有相比于如果没有根据本发明实施例动态更新地图投影的情况来说,较小的空间变形。如以上所讨论的,不同类型的地图可将特定信息示出为一个或多个点,诸如数据点。对于这样的地图,可选择中央经线以对应于一个或多个点。例如,选择的中央经线可对应于多个数据点的集中趋势线。或者,可使用用于将直线拟合于点的任何希望的可替代技术。图4和6示出这样类型的地图,其具有根据本发明的实施例动态选择的中央经线和动态创建的地图投影。图4到6可示出,例如,犯罪统计,其中每个数据点52代表在特定地理位置的记录的犯罪。滑动条(或任何其他合适的选择机制)可被用于使得用户从数据集中过滤数据,且由此控制显示什么数据和显示多少数据。例如,滑动条M包括用于“收入范围”、“日期范围”和“缩放”的选择。当这些滑动条中的一个或多个被用户改变时,地图视图 (且特定地是显示的数据点)可相应地改变。根据本发明的实施例,随着地图视图响应于滑动条的改变而改变,选择新的中央经线且使用新的中央经线创建新的地图投影。图4示出了基于滑动条M的设置的多个数据点52。可基于这些数据点而选择中央经线56。例如,中央经线56可对应于数据点的一条集中趋势线。或者,可使用任何用于将直线拟合于点的所希望的可替代技术。图4的地图投影将使用中央经线56。图5示出了基于滑动条64的设置的多个数据点62。图5的缩放滑动条已被(诸如用户)改变以增加缩放级别。这样,在图5可看到的数据点比在图4的要少。根据本发明的实施例,基于在图5中可见的数据点动态选择新的中央经线66,且基于新的中央经线动态创建新的地图投影。如在图4中,图5的中央经线66可对应于数据点的一条集中趋势线,或可使用用于使直线拟合于点的任何希望的可替代技术。图6示出了基于滑动条74的设置的多个数据点72。图6的缩放滑动条已被(诸如用户)改变,以缩小收入范围并扩大日期范围。在该图示中,这些变化导致了图6中可见的数据点比图4中的更少。根据本发明的实施例,基于图6中的可见数据点动态选择新的中央经线76,且基于该新的中央经线动态创建新的地图投影。如图4中一样,图6的中央经线 76可对应于数据点的集中趋势线,或可使用用于使得直线拟合于数据点的任何希望的可替代技术。本发明的实施例可基于启发式价值点动态地选择中央经线。地图投影可以被连续且动态地改变到人类可识别的中央经线。例如,当地图视图包括一个或多个界标时,可使用本发明的实施例,以便动态选择的中央经线对应于与一个或多个界标或其他可识别的人造物(artifact)交叉的线。这样的实施例通过将空间变形“推到”地图投影的“意义不大的” 区域,减少了对于人类有意义的人造物的空间变形。本发明的实施例可为使用地图规划的(mapped)旅行的每段行程动态地选择中央经线,且使用选择的中央经线创建地图投影。这样的旅行可以是,例如,开车(其中每段行程可对应于根据“逐向”指南车子将开过的路)或坐飞机(其中每段行程可对应于飞行“航节”(leg))。通过为旅行中的每次转弯动态地改变“中央经线”,可消除对于该段旅行的距
离失真。作为一个例子,考虑从点A到点D的旅行,其中沿着路线有途经点B和C。这样的旅行可包括,例如,从佛吉尼亚州夏洛茨维尔机场(CLT)到华盛顿杜勒斯机场(IAD),从IAD 到洛杉矶机场(LAX),以及从LAX到火奴鲁鲁机场(HNL)。随着该旅行的每个行程段将被显示,使用对应于表示该行程段的线的中央经线来动态地创建用于每个行程段的新的地图投影。(如上所述,如果行程段线不是基本上垂直的,则中央经线可需要被“拟合于”行程段线)。所以,对于从A点到B点到C点到D点的旅程,可动态地创建三个地图投影以显示每个行程段。代表行程段AB的线(或拟合于该线的线)将是用于第一个地图投影的中央经线。代表行程段BC的线(或拟合于该线的线)将是用于第二地图投影的中央经线。代表行程段CD(或拟合于该线的线)将是用于第三地图投影的中央经线。当根据将要执行的任务(例如,比较地块大小或是分析被描述为点状符号的犯罪数据)改变地图视图时,本发明的进一步实施例可动态地选择中央经线,且使用选择的中央经线动态地创建地图投影。当以任何希望的方式将改变地图视图时,本发明的实施例可动态地选择中央经线,并使用选择的中央经线来动态地创建地图投影。图7是计算机网络的示意性框图,在该网络中可操作本发明的实施例。计算机82 和服务器84提供执行应用程序等的处理、存储和输入/输出装置。计算机82可经由通信链路86通过通信网络80彼此连接,并连接到其他的计算设备,包括服务器84。通信网络 80可以是因特网的一部分,因特网是当前使用TCP/IP协议套来彼此通信的全世界范围内的计算机、网络和的网关的集合。因特网提供了主要节点或主机间的高速数据通信线路的链路的主干,其包括路由数据和消息的成千上万的商业的、政府的、教育的和其他的计算机网络。但是,计算机82和服务器84可通过任何合适的通信网络而连接。在图7的系统中, 计算机82可以运行Web浏览器,该Web浏览器用以访问和查看地图应用程序,诸如可在服务器84上寄放的地图应用程序。除了图7的客户端-服务器安排,本发明的实施例可以在任何客户端-服务器安排或任何联网的安排中操作,在所述安排中显示元素、数据和/或其他信息从源被发送到接收者。例如,本发明的实施例可在移动通信/数据体系结构(诸如符合国际移动电信-2000(也被称为3G)标准的移动电信网络)中操作,在所述移动通信/数据体系结构中移动电信设备(例如,蜂窝/移动电话)是接收者。图8是图7的计算机网络中的计算机(例如,计算机82或服务器84)的内部结构的图。每个计算机典型地包括系统总线98,其中总线是一组硬件线,用于计算机的组件间的数据传送。总线98本质上是共享的导管,其连接计算机系统的不同的元件(例如,处理器、 盘存储设备、存储器、输入/输出端口、网络端口等),使能元件间的信息传送。附接到系统总线98上的是I/O设备接口 100,用于将各种不同的输入和输出设备(例如,显示器96、打印机、扬声器等)连接到计算机。网络接口 104允许计算机连接到附接到网络(例如,图7 的网络80)的各种不同的其他设备。存储器90为用于实施本发明实施例的计算机软件指令91和数据93提供易失性存储。盘存储设备95为用于实施本发明实施例的计算机软件指令92和数据94提供了非易失性存储。中央处理单元102也被附接到系统总线98并用于执行计算机指令。如本领域技术人员所理解的,本发明的各方面可被实施为系统、方法或计算机程序产品。因此,本发明的方面可采取完全的硬件实施例、完全的软件实施例(包括固件、驻留程序、微代码等),或结合了在此被统称为“电路”、“模块”或“系统”的软件部分和硬件部分的实施例。而且,本发明的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述计算机可读介质在其上包含有计算机可读程序代码。可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是,例如,但不限于,电的、 磁的、光的、电磁的、红外线的、或半导体的系统、装置、设备或以上各项的任何适当组合。计算机可读存储介质的更具体的例子(非穷举的列表)将包括以下各项有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或以上各项的任何适当组合。在本文档的语境中,计算机可读存储介质可以是任何含有或存储供指令执行系统、装置或设备使用的或与指令执行系统、装置或器件相联系地使用的有形介质。计算机可读信号介质可包括例如在基带中或者作为载波一部分传播的、由其体现计算机可读的程序码的数据信号。这样传播的信号可采取多种形式中的任一个,包括但不限于电磁、光或其任何适当组合。计算机可读信号介质可以是任何除了计算机可读存储介质外的计算机可读的介质,其可通信、传播或传输供指令执行系统、装置或设备使用或与指令执行系统、装置或设备相关联地使用的程序。实施在计算机可读介质上的程序代码可以用任何适当的介质传输,所述介质包括但不限于无线、有线、光缆、RF等,或上述各项的任何适当组合。用于执行本发明的各方面的操作的计算机程序代码,可以以一种或多种编程序语言的任何组合来编写,所述编程语言包括诸如Java、Smalltalk, C++之类的面向对象的编程语言,还包括诸如“C”编程语言或类似的编程语言的常规的过程式编程语言。程序代码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何种类的网络连接到用户的计算机,或者,可以(例如,利用因特网服务提供商来通过因特网) 连接到外部计算机。将参考根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/ 或框图来描述本发明的各方面。将理解,流程图和/或框图的每个方框,以及流程图和/或框图中的方框组合,可由计算机程序指令实施。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品。也可以把计算机程序指令加载到计算机、其它可编程数据处理装置或其他装置上,使得在计算机、其它可编程数据处理装置或其他装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机、其它可编程装置或其他装置上执行的指令提供实现流程图和/或框图中的方框中规定的功能/操作的过程。各附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的体系结构、功能和操作。就这点而言,流程图或框图中的每个方框可代表代码的模块、段或部分,其包括一个或多个可执行指令以实现指定的逻辑功能。 应注意,在一些替换实施例中,方框中提到的功能可不按图中提到的顺序发生。例如,两个相继示出的方框实际上可以基本上以先后顺序执行,或者方框有时候可以相反的顺序被执行,这视涉及的功能而定。也注意到,框图和/或流程图的每个方框以及框图和/或流程图的方框的结合可通过执行指定的功能或动作的基于专用硬件系统或专用硬件和计算机指令的结合来实施。“计算机”或“计算设备”广义地是指任何种类的接收输入数据、通过程序中的计算机指令处理数据并生成输出数据的设备。这样的计算机可以是手持设备、膝上型计算机或笔记本计算机、台式计算机、小型计算机、大型计算机、服务器、蜂窝电话、个人数字助理、其他设备,或其任意组合。此处使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的, 单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有清楚的说明。还将理解,术语“包括”和/或“包含”,当在本说明中使用时,指出存在所陈述的特点、整数、步骤、 操作、元件和/或组件,但不排除一个或多个其他的特点、整数、步骤、操作、元件、组件和/ 或其组的存在或添加。权利要求中的所有装置或步骤加功能的相应的结构、材料、动作和等价物旨在包括用于结合在权利要求中特意声明的其他所声明元件而执行所述功能的任何结构、材料或动作。本发明的说明已出于解释和描述的目的被展示,但不旨在将本发明限制在公开的形式。许多修改和变化对于本领域普通技术人员来说是明显的,且不脱离本发明的精神和范围。选择并描述实施例是为了最好地解释本发明的原理和实际应用,且使得本领域普通技术人员能针对具有适用于所考虑的特定用途的各种修改的各种实施例理解本发明。
权利要求
1.一种用于显示地图投影的由计算机实施的方法,该方法包括响应于对于地图视图的一个或多个方面的一个或多个希望的改变,选择用于希望改变的地图视图的中央经线;以及基于所选择的中央经线创建新的地图投影。
2.如权利要求1所述的方法,其中对于地图视图的一个或多个方面的一个或多个希望的改变包括对于地图的可视区域的一个或多个希望的改变。
3.如权利要求2所述的方法,其中使用滚动、缩放或扫视控件中的一个或多个来选择对于地图的可视区域的一个或多个希望的改变。
4.如权利要求2所述的方法,其中地图视图包括线段,其中如果该线段是基本上笔直的,则选择的中央经线对应于该线段,且其中如果该线段不是基本上笔直的,则选择的中央经线对应于拟合于该线段的线。
5.如权利要求2所述的方法,其中地图视图包括一个或多个界标,且其中选择的中央经线对应于与一个或多个界标交叉的线。
6.如权利要求1所述的方法,其中地图视图包括多个数据点,且其中所选择的中央经线包括多个数据点的集中趋势线。
7.如权利要求6所述的方法,其中对于地图视图的一个或多个方面的一个或多个希望的改变包括对于来自数据集的数据选择的一个或多个希望的改变。
8.一种显示地图投影的系统,包括处理器,被配置为响应于对于地图视图的一个或多个方面的一个或多个希望的改变, 为希望改变的地图视图选择中央经线,且被配置为基于选择的中央经线创建新的地图投影;以及显示器,用于显示新的地图投影。
9.如权利要求8所述的系统,其中对于地图视图的一个或多个方面的一个或多个希望的改变包括对于地图的可视区域的一个或多个希望的改变。
10.如权利要求9所述的系统,其中使用滚动、缩放或扫视控件中的一个或多个来选择对于地图的可视区域的一个或多个希望的改变。
11.如权利要求9所述的系统,其中地图视图包括线段,其中如果该线段基本是笔直的,则选择的中央经线对应于该线段,且其中如果该线段不是基本上笔直的,则选择的中央经线对应于拟合该线段的线。
12.如权利要求9所述的系统,其中地图视图包括一个或多个界标,且其中选择的中央经线对应于与一个或多个界标交叉的线。
13.如权利要求8所述的系统,其中地图视图包括多个数据点,且其中所选择的中央经线包括多个数据点的集中趋势线。
14.如权利要求13所述的系统,其中对于地图视图的一个或多个方面的一个或多个希望的改变包括对于来自数据集的数据选择的一个或多个希望的改变。
全文摘要
本发明的实施例提供了动态创建和更新地图投影以便以对于特定地图视图来说是希望的方式来减少空间变形。例如,当地图视图被改变时,可选择新的中央经线且基于该选择的中央经线来创建新的地图投影。动态地改变地图投影以便对于给定情况所有的地层正确地表示最重要的空间特性,这样可使得地图分析者正确地分析正在观看的地图。
文档编号G09B29/00GK102542904SQ201110359878
公开日2012年7月4日 申请日期2011年11月14日 优先权日2010年12月29日
发明者D·马伦拜, J·K·穆勒, R·C·利娅, 严志成 申请人:国际商业机器公司

最新回复(0)