基于地理信息系统的可视化标绘方法及系统的制作方法

文档序号:6335566阅读:640来源:国知局
专利名称:基于地理信息系统的可视化标绘方法及系统的制作方法
技术领域
本发明涉及图像可视化领域,尤其涉及一种基于地理信息系统(Geographic Information System,简称GIS)的可视化标绘方法及系统。
背景技术
随着中国经济的快速发展,经济发达的城市聚集着越来多的人口,要维护这些大都市的繁荣稳定,相关部门担负着重要的责任。特别是现代的大城市人口流动性大,社会以及环境结构非常复杂,所以各种应急问题能否妥善快速的解决更是显得异常重要。在相关的系统软件中,GIS系统以其强大的空间计算能力以及非常直观的图形化表现形式而得到越来越广泛的应用,而计算机硬件综合性能的提升又能满足GIS系统对高速处理能力和海量存储的需求。ArcIMS (Arc Internet Map Server)(Economic & Social Research hstitute,简称ESRI)最新推出的第二代互联网上地理信息系统平台,其结构经过特别设计用来满足在hternet上提供地理数据和服务的需要。以ArcIMS为地理信息系统平台,通过ajax技术,正则表达式、JavaScript等技术将VML标签实现结构化,并通过实时存储分析该VML内容,在地图前台进行快速的展现,使之在地层上实现实时的可视化分析的一系列操作。该地理信息系统平台除了具备有放大、缩小、平移、全图、前图、后图、 鹰眼、图层控制等地图浏览功能、点选查询、框选查询、图层属性查询等空间查询外,还必须具有事件定位功能、全球眼,距离量测、缓冲分析、专题图等高级空间分析和辅助决策功能。在当今的地理信息系统平台中,处理各事件都需动用地图标绘功能,地图标绘指在地图背景上标绘各种具有空间特征的事、物的分布状态或行动部署。因此用户越来越希望可以在网络上通过传输标元素状态,使得态势形式在异地上表现出来,同时支持对已有标绘结果的利用,有友好的人机接口,能使用户更有效地使用系统。然而,现有地图引擎提供的JAVA绘图功能则存在一定的缺陷。如图1所示,给出了利用地图引擎对当前地图进行标绘之后的效果。但当对地图进行放大缩小操作后,如图 2所示,可发现即标绘图形并不会随着地图的比例变化而相应的调整比例,依然是初始绘图的大小比例。另外,在当对标绘过的地图执行漫游操作后,如图3所示,可发现标绘图形仍是初始绘图的大小比例,始终保持在初始绘制时的屏幕位置,并不能随着地图的移动而在相应位置显示。因此现有的地图引擎(例如ArcIMS等)的地图标绘功能具有较大缺陷,只适合于静态地图浏览,而无法在地图缩放平移等操作下动态展示适当的标绘图形。

发明内容
本发明的目的是提出一种基于GIS的可视化标绘方法及系统,能够在各种地图操作下动态展示适当的标绘图形。为实现上述目的,本发明提供了一种基于GIS的可视化标绘方法,包括
4
获取当前标绘的所有矢量可标记语言VML语句;对所述VML语句进行处理,将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标;对所述VML语句进行重组,形成地图化VML语句,并关联存储所述地图化VML语句,在重组后的地图化VML语句中将屏幕坐标替换为地图地理坐标;在地图的参考位置和/或屏幕比例尺发生变化时,提取与被选VML标识关联的所有地图化VML语句;对所述地图化VML语句进行地图地理坐标的提取,并根据变化的地图的参考位置和/或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标;对所述地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标;执行所述新的VML语句,以显示对应的标绘图形。为实现上述目的,本发明提供了一种基于地理信息系统的可视化标绘系统,包括VML语句获取模块,用于获取当前标绘的所有矢量可标记语言VML语句;VML语句重组模块,用于对所述VML语句进行处理,将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标,然后对所述VML语句进行重组,形成地图化VML语句, 在重组后的地图化VML语句中将屏幕坐标替换为地图地理坐标;地图化VML语句存储模块,用于关联存储所述地图化VML语句;地图化VML语句提取模块,用于在地图的参考位置和/或屏幕比例尺发生变化时, 提取与被选VML标识关联的所有地图化VML语句;新VML语句重组模块,用于根据变化的地图的参考位置和/或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标,并对所述地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标;标绘图形显示模块,用于执行所述新的VML语句,以显示对应的标绘图形。基于上述技术方案,本发明通过对VML语句的转换和关联存储,使得在对地图进行各种操作时,可以随着地图的变化而动态展示适当的标绘图形。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为现有技术中对当前地图标绘之后的效果示意图。图2为现有技术中对地图执行放大缩小操作后的效果示意图。图3为现有技术中对地图执行漫游操作后的效果示意图。图4为本发明基于GIS的可视化标绘方法的一实施例的流程示意图。图5为本发明实施例对当前地图进行标绘后的效果示意图。图6为本发明实施例对地图执行放大缩小操作后的效果示意图。图7为本发明实施例对地图执行漫游操作后的效果示意图。图8为本发明基于GIS的可视化标绘系统的一实施例的结构示意图。
5
图9为本发明基于GIS的可视化标绘系统的另一实施例的结构示意图。
具体实施例方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。首先介绍一下VML。VML的全称是Vector Markup Language (矢量可标记语言)。 矢量的图形意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。本发明中的GIS标绘架构有三个层,按优先级由低到高分别为地图(MAP)层、框架 (IFRAME)层、以及块(DIV)层。MAP层是用于展现地图模块的最底层的层次架构,即展现与地图相关的展现。IFRAME层是用于暂存VML标绘数据的次级层次架构,其在MAP层之上,比 MAP层优先级高。DIV层是优先级最高的层次架构,其用于展现标绘的前台页面效果,即在地图之上展现标绘的层次架构。GIS标绘是通过触发鼠标事件(采用手写板、触摸屏等的触发方式也可以实现)进行的。基本标绘大致可分为三类,即铅笔、圆形、以及方形。当通过鼠标(或手写板、触摸屏)进行标绘时,在线绘图编辑器在地图上创建新的DIV层,添加各个类型的VML,如铅笔绘成的不规则形、圆形、或者方形等。下面通过几个实施例来说明一下本发明的基于GIS的可视化标绘方法。如图4所示,为本发明基于GIS的可视化标绘方法的一实施例的流程示意图。在本实施例中,该可视化标绘流程包括步骤101、获取当前标绘的所有矢量可标记语言VML语句;步骤102、对所述VML语句进行处理,将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标;步骤103、对所述VML语句进行重组,形成地图化VML语句,并关联存储所述地图化 VML语句,在重组后的地图化VML语句中将屏幕坐标替换为地图地理坐标;步骤104、在地图的参考位置和/或屏幕比例尺发生变化时,提取与被选VML标识关联的所有地图化VML语句;步骤105、对所述地图化VML语句进行地图地理坐标的提取,并根据变化的地图的参考位置和/或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标;步骤106、对所述地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标;步骤107、执行所述新的VML语句,以显示对应的标绘图形。在本实施例的步骤101中,当利用鼠标(或手写板、触摸屏等)在地图上画出圆形 (包括椭圆形)、方形、其它任意的不规则形(在下文中统称为VML标绘图形)等时,通过捕捉鼠标(或手写板、触摸屏等)对当前操作的各个屏幕坐标和当前笔尖设置的大小和颜色,得到各个VML标绘图形的位置参数,如铅笔的屏幕绘图高度、左平面位置、组合点的拓扑值、圆的半径、优先级、透明度、颜色、中心点等等,由此获取当前绘图操作的VML语句。当然,一次标绘可以包括任意数目的方形、任意数目的圆形、以及任意数目的其他不规则形。方形VML语句形式为
6
<v:rect>style = LEFT ;TOP ;WIDTH ;HEIGHT</v:rect>,例如<v:rectstyle = LEFT:260px ;T0P:230px ;WIDTH: 100 ;HEIGHT:50</v:rect>其中<v:rect> * * * * </v:rect>为标识方形的标识符;LEFT和TOP描述了通过鼠标进行标绘时的标绘起始点距离页面左边的位置、距离页面上边的位置;WIDTH和 HEIGHT描述了标绘的宽度和高度。圆形VML语句形式为<v:oval>style = LEFT ;TOP ;WIDTH ;HEIGHT</v:oval>,例如<v:ovalstyle = LEFT:290px ;T0P:250px ;WIDTH:50 ;HEIGHT 100</v:oval>其中<v oval> * * * * </v oval>为标识圆形的标识符;LEFT和TOP描述了通过鼠标进行标绘时的标绘起始点距离页面左边的位置、距离页面上边的位置;WIDTH和 HEIGHT描述了标绘圆形的长轴和短轴的长度。不规则形VML语句形式为<v:shape>style = LEFT;WIDTH ;path</v:shape),例如<v:shape>style = LEFT:171 ;TOP:225 ;path = “ m0,0 ; 130,-30,60,0 ;e “ </ ν:shape>其中<v: shape〉女± ± ± </v: shape)为标识其它形状的标识符;LEFT和TOP描述了通过鼠标进行标绘时的标绘起始点距离页面左边的位置、距离页面上边的位置。标绘路径I^ath字段则通过下面的示例进行简单地说明。Path的数据形式为="ma,b ;lxl,yl...xn,yn ;e〃,其中ma,b中的a表示偏移该 Path所在的VML语句中的LEFT的值大小、b表示偏移TOP的值大小。1中的参数xn,yn描述了相对于(LEFT+a,T0P+b)而言标绘的各个顶点。应该注意的是如上所述标绘的起始点为(LEFT, TOP)。以三角形为例,例如 path =" m0,0 ;130,-30,60,0,0,0 ;e",m0,0 表示不偏移。30,-30表示相对于(LEFT+0, Τ0Ρ+0)向右30px、向下_30px (即向上30px)的点, 60,0表示相对于(LEFT+0,T0P+0)而言向右60px、向下Opx的点,0,0表示相对于(LEFT+0, Τ0Ρ+0)而言向右Ορχ、向下Opx的点,即就是回到起始点(LEFT,TOP),由此构成了三角型。应该注意的是方形VML语句、圆形VML语句、其他形状VML语句并不局限于上述实例,本领域的技术人员可根据需要选择适当形式的VML语句。此外,需要说明的是以上种种对应数值均为当前地图比例下的屏幕坐标点,没有唯一性和永久性,不具备存储意义。因此,需要将这些不同类型的VML语句的不同参数都一一挖掘出来,有目的的转换,并有规律的存储起来,到提取时再将之转换、依次准确的放回原VML语句。在本实施例中的步骤102中,需要对获得的VML语句进行处理,将VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标。考虑到计算机在处理多类标绘图形时频繁更改解析方式会降低处理效率,因此为了提高处理效率更高,可以在获得VML语句后,对所有的 VML语句进行分类,以便计算机能够分别对每类标绘图形进行统一化的解析处理,避免频繁更改解析方式。
7
通过前面的实例可以看出,VML语句实际上是一串字符串,每个VML语句可能包括了方形(以<v:rect> * * * * </v:rect>为标识符的字符串)、圆形(以<v:oval> * * * * </v:oval>为标识符的字符串)或不规则形(以<v: shape〉* * * * </v: shape)为标识符的字符串)等标绘图形。通过这些标识符可以对获取的VML语句进行分类。这些分类后的VML语句中每一类的标绘图形的参数均不相同,在主要VML标绘图形(不规则形、圆形、方形)中,不规则形的PATH值、LEFT值、TOP值决定了绘图与地图的比例大小以及高度、宽度、左右比例,PATH值表示其他图形各个连接转折点的拓扑关系,而圆形和方形的LEFT值、TOP值、WIDTH值、HEIGHT值决定了这类规则图形的横轴和纵轴以及中心点、长宽等重要信息。因此,针对各种不同的VML标绘图形提取对应的屏幕坐标,具体来说,即提取不规则形的VML语句中的PATH值、LEFT值、TOP值并保存,提取圆形和方形的 VML语句的LEFT值、TOP值、WIDTH值、HEIGHT值并保存。在提取出各个VML语句中的标绘图形的屏幕坐标后,对这些VML语句逐句将屏幕坐标转换为地图地理坐标。前面提到由于经过处理的绘图字符串只在当前地图比例尺下有效,只对应于当前地图比例下的屏幕坐标点,因此如果希望与地图实时保持一致,需要将各个VML标绘图形的坐标参数转换为地图地理坐标。这一转换可采用诸如等差等比方法等现有技术来实现的,因而在此不做详述。因此,通过上述步骤,可将绘图参数与地图真正的结合绑定起来,从而达到保存地图真实坐标的目的。考虑到VML语句中可能存在一些因为不正常鼠标操作引起的不规则坐标,以及语句中可能产生的一些不规则符号。举个例子,分类后存在三句不规则形的VML语句,分别为<v:shape>style = LEFT:90 ;TOP:80 ;path = “ m0,0 ; 100,30,60,20,20. 0,0,0 ; e“ </v:shape> ;<v:shape>style = LEFT:260 ;TOP:230 ;path = “ m0,1 ; 130,-30,60,0 ;e “ </ ν:shape> ;<v:shape>style = LEFT:290 ;TOP:250 ;path = “ ml, 1 ;130, -30,60,0 ;e “ </ ν: shape>。其中第二句起始点m0,1,第三句起始点ml,1可能是因为用户在单击鼠标时,因为失误变成了双击,导致该起始点有了偏移,但由于该偏移非常微小,并不会对后续的操作结果造成影响,因此可以将这两句中的起始点均统一成不偏移的m0,0,在解析计算上更为节省时间,提高处理效率。另外,针对其他图形的I^ath值不规范特点,将其他图形的path值数组中有些标点符号统一,例如将顿号‘、’规则化为逗号‘,’,并且去除数组中有时出现的空白字符以防下一步自动转换出错。在逐句提取屏幕坐标的步骤中,将获得的各句中的LEFT值、TOP值、以及path值保存在对应数组中,然后在转换步骤中按顺序逐个将LEFT值和TOP值转化为地图地理坐标, 例如在第一句中LEFT为90,TOP为80,这表示此图形初始点在当前屏幕的(90,80)像素点处,而根据地图转换,变为LEFT为4000,TOP为3000,这表示在地图中此图形初始点为地图坐标的(4000,3000)。由于不规则形的特殊性,在还原I^ath值时,要依次分别在横坐标和纵坐标值上加上屏幕坐标的LEFT值和TOP值,保证其原始性,再按顺序逐个将path值转化地图坐标,例
8如 path = “ m0,0 ;100,30,60,20. 20. 0,0,0 ;e",去掉头尾参考点 m0,0 ;1000,0 ;e,取出中间三坐标(30,60) (20,20) (0,0),因为这三点并不代表屏幕坐标点,只是三组以起始点为参考的点序列,因此必须加上之前的(LEFT,TOP),也就是这三个坐标最终变为(30+90, 60+80) (20+90,20+80) (0+90,0+80),再经地图转换后为(2500,2500) (1500,2800) (0,0) 在本实施例的步骤103中,需要对VML语句进行重组,形成地图化VML语句,并关联存储地图化VML语句,在重组后的地图化VML语句中将屏幕坐标替换为地图地理坐标。这里的关联存储包括两层含义,一层是转换前的屏幕坐标与转化后的地图地理坐标之间的关联存储,该层关联存储是为了方便解析标绘语句并使之可视化,并供分析和展现;另一层是一次标绘的存储结构VML标识(VMLID)与该次标绘中处理的所有地理化的 VML语句之间的关联存储,由于一次标绘中可以包括任意数量的方形标绘图形、圆形标绘图形和不规则形标绘图形,而该VMLID对应着该次标绘中的所有重组后的地理化VML语句,通过这种关联可以便于用户在多次标绘过程中直接选择VMLID来选择和调用对应的VML语句进行标绘图形的可视化展现。在关联存储前,要对本次标绘中的每个VML语句进行重组,以便得到VML语句,重组过程即是将转换后的标绘参数值重新嵌入各个标绘语句中,如有多条类型相同的标绘语句,则通过JavMcript方法进行循环嵌入。对于不规则形的VML语句而言,将转换后的PATH 值、TOP值、LEFT值、不规则形标识符这四者重组。对于方形或圆形VML语句而言,将转换后的TOP值、LEFT值、WIDTH值、HEIGHT值、方形或圆形标识符这五者重组,从而形成拥有真实地图地理坐标的VML语句。重组后的VML语句所存储的参数都是与地图关联的真实地理坐标,因此将此时的VML语句称为地理化VML语句或地理化标绘语句。仍以不规则形标绘图形为例,将I^ath的X,y值按原顺序依次进行重组,例如I^ath ="m0,0 ;100,30,60,20,20. 0,0,0 ;e"经处理后变为 path = 〃 2500,2500,1500,2800, 0,0,“,将转换后的LEFT值、TOP值、重组完成的path值、以及不规则形标识符逐句嵌入原其他图形标绘语句中。例如,未转换之前的标绘语句为<v:shape>style = LEFT:90 ;TOP:80 ;path = “ m0,0 ; 100,30,60,20,20. 0,0,0 ; e" </v: shape〉,经过步骤B、C之后的VML语句为<v:shape>style = LEFT :4000 ;TOP :3000 ;path =〃 m0,0 ; 100,2500,2500,1500, 2800. 0,0,0 ;e" </v:shape〉。在步骤104中、如果在地图的参考位置和/或屏幕比例尺发生变化,提取与被选 VML标识关联的所有地图化VML语句。当用户需要对某一次标绘进行在线展现时,地图的参考位置和/或屏幕比例尺发生变化可能会发生变化,如果仍沿用原来的屏幕坐标,则难以与地图保持一致,因此需要提取的是该次标绘VMLID相关联的地图化VML语句,该地图化 VML语句中包括的是真实的地图地理坐标的标绘图形的字符串。在步骤105中对地图化VML语句进行地图地理坐标的提取,并根据变化的地图的参考位置和/或屏幕比例尺将地图地理位置转换成新的屏幕坐标。在提取地图地理坐标之前,由于数据库工具的原因,可能会导致提取出的地图化VML语句中参杂了不规范的符号, 为了减少出错的可能性,可以对地图化VML语句中的不规则符号进行规则化。如果提取出的地图化VML语句未按照分类排序,为了提高处理速度,还可以增加分类的操作,具体分类方法可参考前述对VML语句的分类。
坐标的转换过程就是根据变化的地图的参考位置和/或屏幕比例尺将地图地理坐标转换为新的屏幕坐标,而转换方法与前述的屏幕坐标转换成地图地理坐标为逆向且近似的,这里就不做详细说明了。在步骤106重组得到的新的VML语句中,地图地理坐标被替换为新的屏幕坐标,这些新的屏幕坐标组成了与当前地图匹配的各类标绘图形。在获得了重组后的新的VML语句后,可以在地图(MAP)层上创建新的块(DIV)层, 并在块层显示新的VML语句中各个标绘标签对应的标绘图形。通过上述步骤,可以实现地图上的标绘图形随地图而变,展现真实准确的地图标
fe ο与图1-3相比较,图5示出了利用本发明进行标绘后的效果图。如图6所示,在进行地图放大缩小操作后,可发现不但能快速显示绘图,而且该绘图即时随着地图的比例变化而进行自身的调整变化,遵从初始绘图的含义,从而保持在地图中绘图显示的准确性。如图7所示,在进行地图漫游操作后,可发现不但能快速显示绘图,而且该绘图即时随着地图的比例变化而进行自身的调整变化,地理的方向性也严格保持与真实情况统一的状态,遵从初始绘图的含义,从而保持在地图中绘图显示的准确性。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,硬件可包括网络侧的处理单元,其中该单元可以包含了 CPU、 RAM、ROM、以及输入/输出控制器,并且所有这些部件可以透过主机控制器而互连。该单元还可以包括通信接口、存储设备、软盘驱动器、以及图形控制器。特别地,软盘驱动器可对软盘进行读写,图形控制器则驱动显示器。CPU依照存储在ROM、BIOS、以及RAM中的程序来操作,并且由此控制每一个部分。 各类标绘图形可通过鼠标(或手写板、触摸屏等输入设备)输入。存储设备还存储供计算机使用的本发明的程序、应用、OS等等的代码和数据。此后,程序和数据将被加载到RAM中以供CPU使用。从上述结构实例中可以看出,任何具有通用计算机功能的硬件都可以用作本发明需要的硬件。应该指出的是,前面所描述的结构不限于作为实施本发明实施例的硬件结构。 相应地,对其他各种结构来说,只要对其可以应用本发明实施例,那么这些结构都是可行的。此外,每一个上述例示组件未必是本发明的必要组件。另外,本发明还可以使用硬件、 软件、或者软硬件组合来实现。至此,已对本发明进行了描述。通过上述可知,本发明实现了在webgis以及业务平台的操作互动中,根据实时情况在线对地图进行有效的标绘工作,并及时保存,随时调用展现,便于分析,达到了通过实时可靠的现场信息对地图进行准确有效的人工标绘、实时保存、展现分析一系列操作。基于GIS的可视化标绘实时存储与展现这一方法,使基于现有地图引擎的地图标绘功能用于实际,特别是路线的可视化分析和即时绘制,大大方便了在处理事件中,面对各突发状况的决策灵活性和科学性。如图8所示,为本发明基于GIS的可视化标绘系统的一实施例的结构示意图。在本实施例中,可视化标绘系统包括VML语句获取模块1、VML语句重组模块2、地图化VML语句存储模块3、地图化VML语句提取模块4、新VML语句重组模块5和标绘图形显示模块6。VML语句获取模块1负责获取当前标绘的所有矢量可标记语言VML语句。VML语句重组模块2负责对VML语句进行处理,将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标,然后对所述VML语句进行重组,形成地图化VML语句,在重组后的地图化 VML语句中将屏幕坐标替换为地图地理坐标。地图化VML语句存储模块3负责关联存储所述地图化VML语句。地图化VML语句提取模块4负责在地图的参考位置和/或屏幕比例尺发生变化时,提取与被选VML标识关联的所有地图化VML语句。新VML语句重组模块5负责根据变化的地图的参考位置和/或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标, 并对所述地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标。标绘图形显示模块6负责执行所述新的VML语句,以显示对应的标绘图形。如图9所示,为本发明基于GIS的可视化标绘系统的另一实施例的结构示意图。与上一实施例相比,本实施例还可以包括VML语句分类模块7,该模块用于按照所述VML语句中的形状标识符对所述VML语句进行分类。分类后的VML语句在解析处理上效率更高,也更方便。VML语句中的标绘图形的类型可以包括方形、圆形和不规则形,所述方形包括标绘起始点距离页面左边的距离、距离页面上边的距离、标绘方形的宽度和高度,所述圆形包括标绘起始点距离页面左边的距离、距离页面上边的距离、标绘方形的宽度和高度,所述不规则形包括标绘起始点距离页面左边的距离、距离页面上边的距离和标绘路径。考虑到VML语句中可能存在一些因输入设备操作导致的不规则坐标、数据库操作中出现的不规则符号,这些不规则坐标和不规则符号可能会造成坐标提取转换出现错误, 为了避免这种错误,可以在系统中加入VML语句规则化模块8,该模块用于将所述VML语句中的不规则坐标及不规则符号进行规则化。在地图化VML语句提取过程中也存在着因数据库操作导致出现不规则符号的可能,因此为了避免这种不规则符号带来的错误,也可以加入地图化VML语句规则化模块9, 对地图化VML语句中的不规则符号进行规则化。在可视化标绘系统的另一实施例中,标绘图形显示模块还可以具体包括块层创建单元,用于在地图层上创建新的块层;标绘图形显示单元,用于在所述块层显示所述新的 VML语句中各个标绘标签对应的标绘图形。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
1权利要求
1.一种基于地理信息系统的可视化标绘方法,包括获取当前标绘的所有矢量可标记语言VML语句;对所述VML语句进行处理,将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标;对所述VML语句进行重组,形成地图化VML语句,并关联存储所述地图化VML语句,在重组后的地图化VML语句中将屏幕坐标替换为地图地理坐标;在地图的参考位置和/或屏幕比例尺发生变化时,提取与被选VML标识关联的所有地图化VML语句;对所述地图化VML语句进行地图地理坐标的提取,并根据变化的地图的参考位置和/ 或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标;对所述地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标;执行所述新的VML语句,以显示对应的标绘图形。
2.根据权利要求1所述的可视化标绘方法,其中,在获取当前标绘的所有矢量可标记语言VML语句之后,还包括对所有VML语句进行分类的操作,具体为按照所述VML语句中的形状标识符对所述VML语句进行分类。
3.根据权利要求2所述的可视化标绘方法,其中,所述VML语句中的标绘图形的类型包括方形、圆形和不规则形,所述方形包括标绘起始点距离页面左边的距离、距离页面上边的距离、标绘方形的宽度和高度,所述圆形包括标绘起始点距离页面左边的距离、距离页面上边的距离、标绘圆形的长轴和短轴的长度,所述不规则形包括标绘起始点距离页面左边的距离、距离页面上边的距离和标绘路径。
4.根据权利要求1所述的可视化标绘方法,其中,在将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标之前,还包括对所述VML语句进行规则化的操作,具体为将所述VML语句中的不规则坐标及不规则符号进行规则化。
5.根据权利要求4所述的可视化标绘方法,其中,在根据变化的地图的参考位置和/或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标之前,还包括对所述地图化VML语句进行规则化的操作,具体为对所述地图化VML语句中的不规则符号进行规则化。
6.根据权利要求1所述的可视化标绘方法,其中,所述关联存储所述地图化VML语句的操作为将所述地图化VML语句与VML标识关联存储到数据库中。
7.根据权利要求1所述的可视化标绘方法,其中,所述显示对应的标绘图形的操作具体为在地图层上创建新的块层,并在所述块层显示所述新的VML语句中各个标绘标签对应的标绘图形。
8.一种基于地理信息系统的可视化标绘系统,包括VML语句获取模块,用于获取当前标绘的所有矢量可标记语言VML语句;VML语句重组模块,用于对所述VML语句进行处理,将所述VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标,然后对所述VML语句进行重组,形成地图化VML语句,在重组后的地图化VML语句中将屏幕坐标替换为地图地理坐标;地图化VML语句存储模块,用于关联存储所述地图化VML语句; 地图化VML语句提取模块,用于在地图的参考位置和/或屏幕比例尺发生变化时,提取与被选VML标识关联的所有地图化VML语句;新VML语句重组模块,用于根据变化的地图的参考位置和/或屏幕比例尺将所述地图地理位置转换成新的屏幕坐标,并对所述地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标;标绘图形显示模块,用于执行所述新的VML语句,以显示对应的标绘图形。
9.根据权利要求8所述的可视化标绘系统,其中,还包括VML语句分类模块,用于按照所述VML语句中的形状标识符对所述VML语句进行分类。
10.根据权利要求9所述的可视化标绘系统,其中,所述VML语句中的标绘图形的类型包括方形、圆形和不规则形,所述方形包括标绘起始点距离页面左边的距离、距离页面上边的距离、标绘方形的宽度和高度,所述圆形包括标绘起始点距离页面左边的距离、距离页面上边的距离、标绘方形的宽度和高度,所述不规则形包括标绘起始点距离页面左边的距离、 距离页面上边的距离和标绘路径。
11.根据权利要求8所述的可视化标绘系统,其中,还包括VML语句规则化模块,用于将所述VML语句中的不规则坐标及不规则符号进行规则化。
12.根据权利要求11所述的可视化标绘系统,其中,还包括地图化VML语句规则化模块,用于对所述地图化VML语句中的不规则符号进行规则化。
13.根据权利要求6所述的可视化标绘系统,其中,所述标绘图形显示模块具体包括 块层创建单元,用于在地图层上创建新的块层;标绘图形显示单元,用于在所述块层显示所述新的VML语句中各个标绘标签对应的标绘图形。
全文摘要
本发明涉及一种基于GIS的可视化标绘方法,包括获取当前标绘的所有VML语句;处理VML语句,将VML语句对应的标绘图形的屏幕坐标转换为地图地理坐标;重组VML语句,形成并关联存储地图化VML语句,将屏幕坐标替换为地图地理坐标;在地图的参考位置和/或屏幕比例尺发生变化时,提取与被选VML标识关联的所有地图化VML语句;对地图化VML语句进行地图地理坐标的提取,并将地图地理位置转换成新的屏幕坐标;对地图化VML语句进行重组,形成新的VML语句,在新的VML语句中将地图地理坐标替换为屏幕坐标;执行新的VML语句,以显示对应的标绘图形。本发明通过对VML语句的转换和关联存储,使得在对地图进行各种操作时,可以随着地图的变化而动态展示适当的标绘图形。
文档编号G06F17/30GK102467519SQ201010538048
公开日2012年5月23日 申请日期2010年11月4日 优先权日2010年11月4日
发明者吴汝伟, 张晨, 林静, 步鸣笛, 阮毅勇 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1