通过函数样式的基于属性的符号标示的制作方法

文档序号:5830656阅读:146来源:国知局

专利名称::通过函数样式的基于属性的符号标示的制作方法
技术领域
:本发明涉及绘图(mapping)。更具体而言,本发明涉及地图上的符号规范。
背景技术
:常言道,一图值千言。某些情况下,图片的价值甚至更高。对于制图图像或地图尤其如此。通常,地图显示诸如道路、城市、地质特征、地形特征等元素之间的地理或空间关系。另外,已产生了除了表示地理关系还表示其他数据的地图。某些情况下,地图可包括表示元素的非地理特性的指示符,如元素的重要度等。举例来说,作为政府中心的城市在地图上常用星型符号表示;交通繁忙的道路常用彩色粗线表示;医院常用红十字图标表示;机场常用飞机图标表示,等等。在某些其他情况下,地图可包括取决于与地图地区相关的社会或金融特性的指示符。例如,城市的人口可能影响地图上的城市名称的字体大小,附近地区的犯罪率可能影响地图上的附近地区的颜色,地区内的居民收入可能影响地图上的例如C、$、$$等符号的显示。为了生成地图,常常需要两个组件数据和绘图系统。这两样常常是两个不同群体/组织的产物。例如,数据获取实体通常负责收集和/或购买数据并以数据库的形式来提供数据。在绘图系统的情况下,绘图实体通常负责存取数据库中存储的数据,指定什么数据将被包含在地图中及其如何出现。由于这些功能迥然不同,因此它们常由完全不同的实体来执行。有些情况下,这两个实体可以是一个公司内的不同群体,有些情况下,可以是不同的公司或组织等等。例如,数据库公司可以编译电视节目等的电视观众数据(viewershipdata),该电视观众数据可被卖给提供输出地图的公司。有些地图的价值常常和它们多久更新一次有关。打印的地图常常在它们被打印之后过期。例如,欧洲地图在东德和西德统一后作废,行星地图在冥王星被降级为矮行星之后作废,等等。这常常是因为用来生成地图的数据变得过期了。与打印的地图相比,在线地图/电子绘图系统生成往往更新的地图。这是因为这类绘图系统常常能够定期(例如,在午夜等等)实时地从电子数据库中检索数据。举例来说,某些电子地图能够提供实时或接近实时的交通数据、封路信息、天气状况等。通过上文可知,发明人已意识到创建和发布地图的用户所面临的限制是他们受数据库所提供的数据的限制或约束。例如,他们受数据多久更新一次的限制。更重要的是,他们受所展示的具体数据的限制。换言之,他们只能对数据库中提供的数据绘图。凭经验,发明人己确定地图开发者有时比数据库提供者更"接近"所产生的地图的终端客户。例如,客户可以指定他们想要在地图上看到的数据的类型,客户可以向地图开发者指定地图的外观,等等。仅作为示例,当评价要购买的住宅时,客户可能要求查看地图上的洪水区(floodzone)数据、或者地图上的地震危险数据、或者地图上的滑坡危险数据等等。目前的绘图方式的缺点是为了在地图上提供希望的信息,首先必须可从数据库获得确切的所要求的数据。在数据不存在的情况下,绘图系统用户必须说服数据库用户要么获取这种数据,要么添加可能对现有数据进行计算的属性。重要的是,数据库用户常常犹豫不愿扩充数据库中的属性或表格的数目。这是因为数据库管理员常常希望限制新属性的数目以维护数据库的性能。结果,利用客户要求的数据来更新数据库常常是难办而且耗时的。鉴于上述情况,希望提供增加电子绘图系统的功能性的方式,从而减少上述缺点。
发明内容本发明涉及绘图。更具体而言,本发明涉及用于地图特征的基于属性的表达式。使用各种实施例,在地图显示上提供基于属性的输出,如符号标示(symbology)。在本发明的各种实施例中,基于属性的符号标示是在地图的用户显示中使用的技术。使用各种实施例,各个地图特征(例如,表示城市、道路等的点)被根据与这些地图特征相关的属性(例如,人口、价值)的值通过样式特性(例如,颜色、大小、符号名称)来呈现(显示)。例如,城市可以通过具有根据城市人口(属性)确定的唯一大小的符号来呈现。更一般地,属性是显示为文本的文本或数字形式的数据。在本发明的各种实施例中,描述了通过函数样式(functionalstyle)的使用来实现基于属性的符号标示的新颖技术。在某些实施例中提供的函数样式是灵活的样式定义系统与灵活的表达式求值系统的合成。有了这种方法,可以经由样式定义来存储用于地图特征的呈现指令。在各种实施例中,系统中可以存在任意数目的样式定义——例如,存在可用于点、线、面、文本、栅格(raster)等的不同样式定义。有些实施例中,样式定义包括大量样式特性,每个样式特性表示用于该样式定义的图形特点(例如,颜色)。为了在某些实施例中实现基于属性的符号标示,样式特性具有可以基于每个地图特征的属性值来为该地图特征动态计算的相关表达式。因此,样式特性值是属性值的函数。在各种实施例中,表达式机制是用于动态计算样式特性值的特别丰富的技术。有些实施例中,表达式是符合特定语法的文本串。有些实施例中,语法可以和在诸如微软Excel等的传统电子数据表程序中使用的公式类似。例如,某些函数包括变元(arguments)(例如,AVERAGE)、操作符(例如,"+")、文字操作数(例如,"5000")和引用属性值(例如,名为"人口"的属性)的操作数。8在各种实施例中,用于表达式的其他类型的输入可包括地理空间函数/数据。这些函数可以对地图特征进行几何操作,例如返回多边形的质心、计算线段的长度、设置点的高度或者从地图标签中提取文本等等的函数。如下面将要详细描述的,各种实施例教导了允许样式特性值的动态计算的新颖表达式系统,从而导致了经由函数样式的基于属性的符号标示的动态计算和显示。根据本发明的一个方面,描述了一种用于计算机系统的方法。一种方法包括从数据库检索一个或多个属性的值;对一个或多个属性的值执行计算函数以确定与地图符号相关的样式特性的值;以及输出包含具有样式特性的值的地图符号的地图的表示。根据本发明的另一个方面,公开了一种计算机系统。一种装置包括被配置成存储多个地图符号的存储器,其中每个地图符号与多个样式特性相关。一种设备包括耦合到存储器的处理器,其中所述处理器被配置成检索与地图符号相关的一个或多个属性的值,其中所述处理器被配置成对一个或多个属性的值执行计算函数以确定与地图符号相关的样式特性的值,并且其中所述处理器被配置成响应于与地图符号相关的样式特性的值,提供包含地图符号的地图的输出表示。根据本发明的又一个方面,公开了一种用于包括处理器的计算机系统的、存在于计算机可读的有形介质上的计算机程序产品。有形介质可包括指示处理器检索与地图符号相关的一个或多个属性的值的代码、指示处理器对一个或多个属性的值执行计算函数以确定与地图符号相关的样式特性的值的代码、以及指示处理器响应于与地图符号相关的样式特性的值来输出包含地图符号的地图的表示的代码。该有形介质可包括光存储介质(例如,DVD、CD-ROM、全息等)、磁存储介质(例如,硬盘、存储区域网等)、半导体存储介质(例如,闪存、RAM等)。为了更全面地理解本发明,对附图进行参考。应该理解这些附图不应被视为对本发明范围的限制,通过使用附图来更详细地描述当前描述的实施例和当前所理解的本发明的最佳模式。图l示出了本发明的一个实施例;图2是根据本发明的各种实施例的典型计算机系统的框图;图3示出了根据本发明的各种实施例的流程图;图4示出了根据本发明的各种实施例的流程图;以及图5A-5D示出了根据本发明的各种实施例的示例。具体实施方式概要图1示出了本发明的一个实施例。某些实施例包括数据库100、绘图系统110和输出地图120。在各种实施例中,绘图系统110可包括绘图规范部分130和地图生成部分140。在其他实施例中,地图生成部分140可以与绘图规范部分130分开。在各种实施例中,数据库IOO通常包括由数据库组(例如,管理员)维护的数据。数据库100通常包括大量数据库表格、属性和表格中的属性之间的链接。在某些实施例中,数据库组可以是将新数据添加到数据库表格中的商业数据库公司。例如,数据库公司可以编译电视节目等的电视观众数据,该数据可被卖给第三方。在某些实施例中,数据库组还可以基于现有的数据库数据来实施数据库计算以形成新的数据库数据。例如,基于绘图用户要求,可在数据库中执行定制计算。在各种实施例中,数据库IOO和绘图系统IIO可由分开的用户(例如,独立的公司)管理,而在其他实施例中,数据库IOO和绘图系统110可由共同的用户(例如,单个公司的不同部门、单个用户或研究组等)管理。在各种实施例中,绘图系统110可以通过任意数目的商业上可获得的地理可视化/绘图包系统来实现。一个这样的实施例已在可从Intergraph公司获得的GeoMedia⑧地理信息系统(GIS)中实现。如下面将要描述的,地图开发者使用绘图规范部分130来指定将显示地图的什么元素、将从数据库100检索什么数据、地图上的某些符号将如何出现等等。地图规范可以存储在绘图系统110的存储器内。在本发明的某些实施例中,地图生成部分140生成地图120以显示给用户。举例来说,地图生成部分140从客户处接收地图要求,检索地图规范,从数据库等检索适当的数据,动态计算新属性的值,并基于计算出的值来确定用于地图120的符号的外观。在各种实施例中,地图120可以被打印到诸如纸、塑料、布、玻璃等的介质上;并且/或者地图120可以被显示在计算设备显示器上。更具体而言,地图120可以经由应用程序、网络浏览器、电子消息等在PDA、膝上电脑、蜂窝电话等上显示。图2是根据本发明的各种实施例的典型计算机系统200的框图。在本实施例中,计算机系统200通常包括监视器210(具有图形卡)、计算机220、键盘230、用户输入设备240、计算机接口250等等。在本实施例中,用户输入设备240通常体现为计算机鼠标、轨迹球、轨迹板、操纵杆、无线遥控、绘画板、语音命令系统、视线跟踪系统等等。用户输入设备240通常允许用户经由按钮的按动等的命令来选择在监视器210上出现的对象、图标、文本等。计算机接口250的实施例通常包括以太网卡、调制解调器(电话、卫星、有线电缆、ISDN)、(异步)数字用户线(DSL)单元、火线(FireWire)接口、USB接口等等。例如,计算机接口250可以耦合到计算机网络、火线总线等。在其他实施例中,计算机接口250可以被物理地集成到计算机220的主板上,也可以是诸如软DSL之类的软件程序等等。在各种实施例中,计算机220通常包括诸如处理器260、诸如随机存取存储器(RAM)270之类的记忆存储设备、以及磁盘驱动器(diskdrive)280之类的熟悉的计算机组件、和互连以上组件的系统总线290。RAM270和磁盘驱动器280是被配置成存储数据的有形介质的示例,所述数据如数字源地图数据、地图符号、地图规范处理、地图生成处理、包括可执行的计算机代码、人类可读代码等的本发明的实施例。其他类型的计算机可读的有形介质包括诸如软盘、网络硬盘或可移除硬盘之类的磁存储介质、诸如CD-ROM、DVD和条形码之类的光存储介质、诸如闪存、只读存储器(ROM)之类的半导体存储器、电池备用的易失性存储器、网络存储设备等。在本实施例中,计算机系统200还可包括通过网络实现通信的诸如HTTP、TCP/IP、RTP/RTSP协议等的软件。在本发明的替代实施例中,还可使用例如IPX、UDP等的其他通信软件和传输协议。图2表示能够体现本发明的各个方面的计算机系统。本领域普通技术人员容易理解,很多其他硬件和软件配置适合于与本发明一起使用。例如,计算机可以是桌面式、便携式、机架安装式或平板(tablet)配置。另外,计算机可以是一系列联网计算机。考虑了任意微处理器的使用,所述微处理器如XeonTM、PentiumTM或CoreTM微处理器;来自AdvancedMicroDevices公司的Turion64、OpteronTM或AtWonTM微处理器等。此外,考虑了各种类型的操作系统,如来自微软公司的WindowsVista、WindowsXP、WindowsNT⑧等,来自SunMicrosystems的Solaris,LINUX、UNIX等等。在另外的实施例中,上述技术可以在芯片或辅助处理板上实施。方法图3示出了根据本发明的各种实施例的流程图。更具体而言,图3示出了用于形成地图规范的处理。在各种实施例中,例如数据库之类的包括一组数据的数据源被提供,步骤300。数据源可以是可以从Oracle、SAP等获得的任何商业数据库。在其他实施例中,例如平面文件(flatfile)等的任何其他类型的数据源可被用作数据源。该处理可以是当地图开发者创建新地图项目并指定数据库时手动执行的或者当现有的地图项目被打开并且到数据库的链接己被指定时自动执行的处理的一部分。最初,地图开发者可以在地图上选择一个或多个元素或元素类,步骤310。这些元素或元素类是地图开发者希望向其指派函数样式的元素或元素类,如下所述。任何类型的地图元素可以被选择,例如,诸如河流、山川、森林等的地理元素、诸如道路、高速公路、港口等的运输元素、诸如城市、郡县、国家等社会边界,等等。在本发明的各种实施例中,每一个所选地图元素可以通过属性和属性值来表征。例如,机场可具有指定旅客数目、登机门数目、安全风险、操作设备等的属性值。在各种实施例中,地图元素的选择导致这些地图元素属性的某一些对地图开发者的图形化显示。通常,地图元素具有诸如符号输出之类的许多格式特性,例如颜色、符号、厚度等。地图元素还可具有与之相关的默认特性值。在本发明的某些实施例中,地图开发者可选择要修改的地图元素的样式特性或将新的样式特性添加到地图元素上,步骤320。在以下步骤中,地图开发者随后定义求值的表达式以确定用于地图元素的样式特性的值。在某些实施例中,地图上显示的符号的外观等将取决于该表达式的求值而改变。在本发明的各种实施例中,地图开发者提供可能包括对地图元素的属性的引用在内的表达式,步骤330。例如,表达式可以指定一个或多个涉及其他属性的计算。在各种实施例中,该表达式可以在运行时(即,当地图生成时)被动态地求值。在各种实施例中,如下所述,计算可以是数学运算、逻辑运算、算术函数等。另外,在某些实施例中,计算可包括常数、其他函数样式的可能结果等。在各种实施例中,地图开发者基于计算的结果来指定用于地图元素的不同符号输出,步骤340。在本发明的某些实施例中,可以使用传统的编程技术来指定不同的符号输出,例如,使用IF型语句、嵌套IF型语句等。其他可能的实施例可以使用CASE型语句、DO-UNTIL型语句、循环型语句等等。在各种实施例中,输出可以是视觉指示符。视觉指示符的示例可包括不同文字、文本颜色、文本大小、文本外观;线宽、线型、线色;符号选择、符号大小、符号颜色、符号外观等等。在其他实施例中,当用户用光标等在显示器上"翻滚(roll-over)"地图符号时,可以提供感觉输出(sensoryoutput)。某些情况下,感觉输出可以是听众指示符。例如,当用户翻滚地图符号时,感觉输出可包括不同的声音剪辑、不同音量等等。在某些实施例中,感觉输出可以是力觉反馈(force-feedback)。例如,当用户翻滚图标时,鼠标移动可能具有不同的振动模式、振动强度等。在另外的实施例中,输出信号可以针对外围或辅助设备来指定(例如,对附接到计算机的打印机的输出、PDA上程序的运行、SMS的发送、发送IM、登录到数据日志等等)。考虑到上述情况,应该理解,向地图用户或任意其他一方指示地图元素的表示之间的差别的任何方式都被包含在本发明的实施例中。验证了函数样式提供地图元素的符号表示中的想要的差别之后,地图开发者可以保存地图的规范,包括函数样式的规范,步骤350。在各种实施例中,表达式和函数样式可以与地图规范独立地存储。在这种实施例中,考虑了这种函数样式可以被与其他地图开发者共享。在各种实施例中,可以将函数样式发电子邮件给其他地图开发者;可以共享存储函数样式的模板文件等等。图4示出了根据本发明的各种实施例的流程图。更具体而言,图4描述了用于动态地生成/或显示地图的处理。最初,用户可以请求输出地图的一部分,步骤400。在各种实施例中,该请求可以由在计算机系统上直接运行地图生成部分140的用户发出,可以经由一个或多个网络服务发出,等等。举例来说,用户可以经由膝上电脑、PDA、蜂窝电话等上的网络浏览器来请求地图的显示。在各种实施例中,地图可以地理上受限(例如,针对房地产楼盘)或由终端用户指定(例如,雅虎地图、Google地图)。在各种实施例中,地图的默认部分可以最初被指定。然而,用户也可以具体提供几何坐标、视野、海拔等来生成地图。在在线地图的情况下,当用户掀动(pan)、放縮或滚动地图时,这里描述的处理还可以重复。在其他实施例中,用户还可以具有选择在地图上显示哪些元素的能力。更具体而言,在某些示例中,用户可以依据他们的具体要求来打开或关闭各种地图元素的显示。例如,用户拨开和关闭(toggleonandoff)地图上的车道交通状况视图等。在某些实施例中,该用户请求能力可以由地图开发者定义和/或限制。响应于该请求,可以在地图生成部分140内检索与地图相关的数据,步骤410。在各种实施例中,地图生成部分140检索以上在步骤350中描14述的地图规范,包括函数样式的规范。在各种实施例中,地图生成部分140从数据源检索由地图规范指定的数据,步骤420。在各种实施例中,地图规范可能己包括来自数据库的数据的快照,因此最初可以不请求另外的数据库存取。基于该数据和地图的该部分,地图生成部分140确定哪些地图元素位于地图的视野之内并且被请求,步骤430。在某些实施例中,响应于这些地图元素的标识,与这些地图元素相关的属性被确定,步骤430。在函数样式的情况下,在函数样式的表达式中指定的属性被检索,并且表达式被求值,步骤440。可见,表达式的求值常常是在运行时基于"实况的(live)"数据库数据来动态确定的。接下来,基于表达式的求值,与地图元素相关的感觉输出被确定,步骤450,并输出,步骤460。感觉输出的类型通常取决于基于"实况的"数据的表达式的求值。如上所述,感觉输出可以是视觉上的,即不同动画外观、用于地图的一部分上的符号的不同颜色、不同形状、不同大小等。动画外观的示例可包括及时改变颜色(例如,从白变到蓝再到白并重复)、及时改变强度(例如,黑白闪烁)、及时改变大小(例如,从小尺寸生长到大尺寸的图标)、及时改变外观(例如,生长、收縮)、及时改变形状(例如,从圆变到星并重复)等等的符号或图标。因此,在各种实施例中,地图开发者可以如上所述指定符号的动画以及改变之间的定时(即,循环时间量)。在各种实施例中,感觉输出可以是听觉上的,例如,当用户在地图符号上移动光标时,输出不同声音等;可以是嗅觉上的,例如,当用户在地图符号上移动光标时,输出不同的输出气味;可以是触觉上的,例如,当用户在地图符号上移动光标时,输出不同类型的力觉反馈;可以对用户不可见,例如,可以对用户研究过什么地图符号记日志;等等。详细实施例在本发明的各种实施例中,可以使用诸如在电子数据表程序中使用的传统技术来实施函数样式表达式。通常,它们包括被求值以产生函数样式的输出的操作符和操作数(数值)。在某些实施例中,表达式可包括一个或多个操作数及一个或多个操作符。在各种实施例中,地图操作者可以经由大量对话框来创建和/或编辑表达式。例如,地图操作者可以通过键入值和使用操作按钮在"表达式对话框"上的表达式对话框中插入来指定表达式。在各种实施例中,对话框还可提供用于所选函数的语法指南以及语法检査。在各种实施例中,对话框还可提供类别、属于所选函数类别的函数以及可以作为函数的输入参数来使用的属性。在各种实施例中,用来表示表达式中的值的数据类型可以包括布尔值、字节数据、整型、长整型、货币值、单精度数据、双精度数据、日期数据、文本、长二进制数据、备注(memo)数据、图形化数据、空间数据等。在其他实施例中,还可以考虑其他数据类型。如上所述,表达式可以体现为操作数和操作符的组合并被求值以得到结果值。数据可以在若干不同场合使用,例如作为(在查询时)将检索的数据的一部分或者作为查找满足一组准则的数据的搜索条件。在各种实施例中,表达式中的操作数可以包括标识符,对属性的引用,值对于每个数据库记录变化;常数,对于每个记录恒定的固定值;以及函数,接受输入并返回值的操作。举例来说,表达式可以是诸如(价格X1.5)或(价格+营业税)之类的计算。在各种实施例中,函数样式可以由各种函数的求值产生。例如,函数可包括对单个值操作然后返回单个值的标量函数。在各种实施例中,标量函数可以在表达式有效的任何地方使用。示例标量函数可以是确定点几何特征类的X或Y坐标。在各种实施例中,函数可包括对值的集合操作但返回单个值(例如,和值)的聚合函数。示例聚合函数可以是合并给定列表的点来定义多边形的CREATEPOLYGON。在各种实施例中,函数可包括对单个值(例如,几何值)操作然后返回多个值的扩展函数。扩展函数的示例可以是计算直线的SEGMENTS。在各种实施例中,函数被组织成多个类别,如日期和时间函数、几何函数、逻辑函数、数学和三角函数、统计函数、文本函数、视图函数等。在其他实施例中,考虑其他类型的类别的添加和其他函数的添加。在各种实施例中,标识符被定义为表示属性的名称或常数的符号。每个属性名称通常可以通过使用其名称和群组名称来与另一个属性名称区分。在以下示例中,标识符包括Detail.SalaryandInput.Salary:"IF(COUNT(Detail.Salary)<>0,SUM(Detail.Salary),Input.Salary)"。在某些实施例中,这些标识符可以表示数据库或数据存储器中的逻辑数据构造(例如,表格的属性名称)。在表达式中,操作符是指定对一个或多个操作数执行的动作的符号。在各种实施例中,操作符类别包括算术操作符(例如,力口、减、乘、除、取模等)、按位操作符(例如,与、或、异或、或非等)、比较操作符(例如,=、〉、<、<=等)、逻辑操作符(例如,与、之间(between)、空、内(in)等)、字符串连接操作符、一元操作符(例如,取正、取负等)。在其他实施例中,考虑其他类型的操作符的添加。在本发明的某些实施例中,表达式可以通过用操作符组合若干较小的表达式来构建。在这些复杂的表达式(含"嵌套"表达式)中,操作符基于操作符优先级来求值。伪码示例包括current—tax-prior—tax+purchase—valueXnet一inflation(purchase—year)Xtax—rate示例图5A-5D示出了根据本发明的各种实施例的示例。更具体而言,图5A-D示出了根据本发明的各种实施例的图形化用户界面(GUI)。图5A示出了用于地图开发者的典型GUI500。在该实施例中,地图开发者选择地图的一部分来显示,并指定要显示的地图元素510。在该示例中,地图元素510为电杆。可见,作为响应,表示地图的该部分中的电杆位置的符号520在GUI500中显示。在本示例中,地图开发者可以通过改变符号的样式来改变电杆的符号表示,如以下所述。在各种实施例中,地图开发者可以"右击"地图元素510或通过任何传统方法来改变样式。图5B示出了典型的样式特性对话框GUI530。在图5B中,地图元素的当前输出样式在GUI530中示出。在该示例中,示出了以地图为中心的特性列540和默认值列550。在各种实施例中,特性列540指定地图符号的图形化(符号)特性,值列550指定符号的当前值。在图5B所示的示例中,行560指定符号的输出颜色。在本实例中,(255,105,255)表示用于符号的红、绿、蓝(RGB)值。如图5B中进一步示出的,提供了附加属性列565。在本示例中,地图开发者可以点击属性列565来为符号的输出颜色指派定制值。在该示例中,示出了包含与地图元素相关的大量"属性"的下拉框,如将在图5C中进一步看到的。一种属性——表达式属性570允许地图开发者定义表达式来求值,如上所述。图5C示出了典型的表达式对话框GUI580。在图5C中,GUI580辅助并允许地图开发者在表达式区域590内定义表达式。在该示例中,类别列表600允许地图开发者指定将要包含到表达式中的函数的类别,函数列表610允许地图开发者指定将要包含到表达式中的具体函数。另外,提供了列出与地图符号相关的属性的属性列表630。如所示,在电杆的情况下,属性可包括安装设备要求、杆的几何形状、杆的标识号、安装杆的日期、杆大小、杆的类型(例如,金属、木制、混凝土)。在各种实施例中,用于每个杆的这些属性被存储在数据库中(并且以后被从数据库中检索出)。在图5C的示例中,地图开发者已指定将被求值的表达式以确定RGB值。从图5B中可见,求值的结果(RGB值)用于确定GUI上的电杆符号的颜色。图5C中的表达式IF(Input.type_pole="wood",RGB(182,130,17),IF(InpuUype_pole="metal",RGB(84,163,221),RGB(255,0,0)))在该示例中,表达式的意思是若电杆为木制的(Inputtype_pole="wood"),则表达式的求值返回RGB值(182,130,17),即棕色。此外,若电杆不是木制的而是金属的(Input.type_pole="metar),则表达式的求值返回RGB值(84,163,221),即带蓝色。另外,若电杆不是木制的或金属的,则表达式的求值返回RGB值(255,0,0),即红色。如该示例所示,可以使用嵌套型IF语句等来提供用于地图元素的两种或更多种不同的符号输出。在其他示例中,可以在求值函数内使用其他属性,如安装设备、安装曰期等。图5D示出了用于地图开发者的典型GUI630。在该实施例中,地图元素510在地图的一部分中显示,输出符号通过图5B和5C所示的表达式定义来确定。可见,根据表达式区域590中的表达式,有些电杆640可以是棕的,反映"木"杆属性;有些电杆650可以是蓝的,反映"金属"杆属性。鉴于上述公开内容,应该理解,样式的每个特性可具有与之相关的不同表达式。例如,为了在地图上表示城市,城市的大小特性可具有取决于城市的人口属性的表达式。另外,城市的颜色特性可具有取决于城市的犯罪率的表达式。再举例来说,城市的动画特性可具有取决于计算城市的犯罪率随时间的改变的函数样式的表达式。结果,人口多、犯罪率高的城市可以作为地图上的大红点出现,人口多、犯罪率低的城市可以作为地图上的大绿点出现。此外,若城市过去十年来犯罪率的变化是减少,则大红点可以慢慢闪烁;而若城市过去十年来犯罪率的变化是增加,则大绿点可以快速闪烁。用于与地图元素相关的多种类型的样式特性的表达式的修改和求值在本发明的各种实施例中被设想。对于在绘图系统IIO而非数据库100内指定函数样式的地图开发者/用户的有利之处包括地图开发者可以即时定义他们自己的函数样式。换言之,例如当地图开发者从终端用户接收地图请求时,地图开发者可以迅速而容易地实现这些请求。此外,地图开发者不必等待数据库100的数据库管理员在数据库中实现这种功能并更新数据库数据。在各种示例中,若地图开发者是"小"开发者,则数据库管理员可能因为管理费用而决定不添加这些功能。换言之,数据库管理员可能不相信添加这些定制属性的优势胜过增加的数据库负担。在其他示例中,因为数据源提供者存储了所要求的潜在数据的任意或全部,所以提供者可能不具备计算所要求的属性的能力;数据可以即时生成,因此数据源不具备永久存储器或添加固定属性的能力;数据可以来自不允许客户定制所提供的数据的公共或商业源,等等。鉴于上述情况,考虑不从数据库检索而在运行时动态计算的新属性。通过在地图规范级提供函数样式,地图开发者现在可以容易地基于客户准则来区分地图元素,而不必依赖于数据库管理员。举例来说,可由提供财产售价、寓所大小等的郡县估税办(CountyAssessor'soffice)提供数据库。然而,地图幵发者可能对基于每平方英尺价格的地图上的颜色编码区域感兴趣,而该数据未由估税办提供。因此,通过本发明的各种实施例,地图开发者可以使用财产售价来指定表达式,分别用财产售价除以寓所的平方英尺数,并为每平方英尺价格高的区域指定红色、为每平方英尺价格低的区域指定蓝色、为每平方英尺价格中等的区域指定黄色。举例来说,数据库可由提供参试生(enteringstudent)数目、毕业生数目、准大学生数目等的本地高校区提供。然而,地图开发者可能对高校未提供的基于高校区和基于升学率的地图上的区域的不同底纹(shading)感兴趣。因此,使用本发明的各种实施例,地图开发者可以使用准大学生数目来指定表达式,分别用准大学生数目除以参试的学生数目,并基于求值得到的比率来指定不同的底纹式样。例如,一种式样用于比率50%或以上,另一种式样用于40%或以上,另一种式样用于30%或以上等等。在各种实施例中,表达式的求值可能更直接地影响属性的值。举例来说,城市的人口属性可用于通过如下伪码表达式来确定地图上的城市符号的大小Size=(Population/Max—city_population)XMax—city—symbol—size。在该示例中,Population(人口)通常是从数据源获取的对于每个城市唯一的属性;Max—city_population(最大城市人口)是感兴趣的世界、国家、地区等中的人口最稠密城市的人口。该数据也可从数据源获取,是人工确定的常数等;最后,Max—city—symbol—size(最大城市符号尺寸)是地图上的城市符号的最大期望尺寸的尺寸参数。鉴于上述情况,可以预期地图上没有两个城市符号大小是完全一样的,因为城市人口几乎是唯一。该"连续"符号输出确定的上述实施例还可应用到除了符号大小以外的其他方面,如符号颜色、符号、符号动画等。举例来说,地图上的城市符号颜色可以取决于相比于国家中等房价的城市中等房价;地图上的表示城市的三维条柱可以具有由某一时间段内城市就业率的增长确定的高度;地图上的用于城市符号的闪烁动画可以取决于城市的人口量等等。鉴于上述公开内容,可以预期本领域普通技术人员将能够设想被视为本发明的实施例的附加示例。阅读该公开内容后,本领域普通技术人员可以设想另外的实施例。在其他实施例中,可以优选地做出上面公开的发明的组合或子组合。体系和图形化用户界面的框图被分组以便于理解。然而,应理解,块的组合、新块的添加、块的重排等在本发明的替代实施例中被考虑。因此,说明书和附图应被视为示意性而非限制性的。然而,很明显,可以在不脱离权利要求中提出的本发明的更宽精神和范围的前提下做出各种修改和变更。权利要求1.一种用于计算机系统的方法,包括从数据库检索一个或多个属性的值;对所述一个或多个属性的值执行计算函数以确定与地图符号相关的样式特性的值;以及响应于与所述地图符号相关的所述样式特性的值,输出包含所述地图符号的地图的表示。2.根据权利要求1所述的方法,还包括将所述地图的表示显示给用户。3.根据权利要求1所述的方法,还包括识别一个或多个地理位置;并且其中,检索一个或多个属性的值的步骤包括响应于所述一个或多个地理位置来从所述数据库检索所述一个或多个属性的值。4.根据权利要求1所述的方法,其中,与所述地图符号相关的所述样式特性是从由以下各项组成的组中选择的字体大小、字体、字体颜色、线宽、线色、线型、图标大小、图标颜色、图标、动画特性。5.根据权利要求1所述的方法,其中,所述计算函数是从由以下各项组成的组中选择的逻辑函数、数学函数、算术函数。6.根据权利要求1所述的方法,其中,执行所述计算函数的步骤包括确定作用于所述一个或多个属性的值的函数的值;以及响应于所述函数的值来确定所述样式特性的值。7.根据权利要求1所述的方法,还包括从所述数据库接收所述一个或多个属性的更新值;对所述一个或多个属性的更新值执行所述计算函数以确定与所述地图符号相关的所述样式特性的更新值;以及响应于与所述地图符号相关的所述样式特性的更新值,输出包含所述地图符号的所述地图的更新表示。8.—种计算机系统,包括存储器,被配置成存储多个地图符号,其中,每个地图符号与多个样式特性相关;以及处理器,耦合到所述存储器,其中,所述处理器被配置成检索与地图符号相关的一个或多个属性的值,其中,所述处理器被配置成对所述一个或多个属性的值执行计算函数以确定与地图符号相关的样式特性的值,并且其中,所述处理器被配置成响应于与所述地图符号相关的所述样式特性的值来提供包含所述地图符号的地图的输出表示。9.根据权利要求8所述的计算机系统,其中,所述存储器被配置成存储指定所述一个或多个属性的所述计算函数。10.根据权利要求8所述的计算机系统,其中,所述处理器被配置成接收地理位置的标识;并且其中,所述处理器被配置成响应于所述地理位置来从数据库检索与所述地图符号相关的所述一个或多个属性的值。11.根据权利要求8所述的计算机系统,其中,与所述地图符号相关的所述样式特性是从由以下各项组成的组中选择的字体大小、字体、字体颜色、线宽、线色、线型、图标大小、图标颜色、图标、动画类型。12.根据权利要求8所述的计算机系统,其中,所述计算函数是从由以下各项组成的组中选择的逻辑函数、数学函数、算术函数。13.根据权利要求8所述的计算机系统,其中,所述处理器被配置成确定作用于所述一个或多个属性的值的函数的值;并且其中,所述处理器被配置成响应于所述函数的值来确定与所述地图符号相关的所述样式特性的值。14.根据权利要求8所述的计算机系统,其中,所述处理器被配置成检索与地图符号相关的一个或多个属性的更新值;其中,所述处理器被配置成对所述一个或多个属性的更新值执行所述计算函数以确定与所述地图符号相关的所述样式特性的更新值;并且其中,所述处理器被配置成响应于与所述地图符号相关的所述样式特性的更新值,提供包含所述地图符号的所述地图的更新输出表示。15.—种用于包括处理器的计算机系统的计算机程序产品,该计算机程序产品位于计算机可读的有形介质上,所述计算机程序产品包括指示处理器检索与地图符号相关的一个或多个属性的值的代码;指示处理器对所述一个或多个属性的值执行计算函数以确定与所述地图符号相关的样式特性的值的代码;以及指示处理器响应于与所述地图符号相关的所述样式特性的值来输出包含所述地图符号的地图的表示的代码。16.根据权利要求15所述的计算机程序产品,还包括指示处理器将所述地图显示给用户的代码。17.根据权利要求15所述的计算机程序产品,还包括指示处理器接收地理位置的标识的代码;以及指示处理器响应于所述地理位置来确定所述地图符号的代码。18.根据权利要求15所述的计算机程序产品,其中,所述地图符号的所述样式特性是从由以下各项组成的组中选择的字体大小、字体、字体颜色、线宽、线色、线型、图标大小、图标颜色、图标、动画样式。19.根据权利要求15所述的计算机程序产品,还包括指示处理器检索与所述地图符号相关的一个或多个属性的更新值的代码;指示处理器对所述一个或多个属性的更新值执行所述计算函数以确定与所述地图符号相关的样式特性的更新值的代码;以及指示处理器响应于与所述地图符号相关的所述样式特性的更新值来输出包含所述地图符号的地图的表示的代码。20.根据权利要求15所述的计算机程序产品,其中,所述处理器被配置成确定作用于所述一个或多个属性的值的函数的值;其中,所述处理器被配置成将所述值与阈值作比较;其中,当所述值超过所述阈值时,所述处理器被配置成确定对所述样式特性的值使用第一值;以及其中,当所述值未超过所述阈值时,所述处理器被配置成确定对所述样式特性的值使用第二值。全文摘要用于计算机系统的方法包括从数据库检索一个或多个属性的值;对一个或多个属性的值执行计算函数以确定与地图符号相关的样式特性的值;以及输出包含具有样式特性的值的地图符号的地图的表示。文档编号G01C21/28GK101427103SQ200780013937公开日2009年5月6日申请日期2007年2月13日优先权日2006年2月17日发明者贾罗斯拉夫·雅荷达,迈克·博尔斯马申请人:英特图形软件技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1