一种基于swf文件扩展的地理空间数据存储方法

文档序号:6368885阅读:349来源:国知局
专利名称:一种基于swf文件扩展的地理空间数据存储方法
技术领域
本发明涉及地球科学数据存储与管理领域,特别是涉及地理信息空间数据的存储与组织方法。
背景技术
地理空间数据一般是指带有地理空间位置的空间图形数据和属性数据的组合。目前地理空间数据的存储结构通常由矢量图形文件、属性数据文件和拓扑关系文件等多个文件一起构成,常见的地理空间数据文件格式如ArcGIS shp文件和MapInfo tab文件,它们 都分别由若干个文件组成。这种多文件组合的存储结构,一方面不利于网络传输,通常需要进行打包压缩传递,另外一方面不能直接服务于互联网的应用。如今,随着地理信息技术,尤其是互联网技术的发展,网络地理信息系统(WebGIS)已经成为互联网发展应用的主流。要实现WebGIS的应用的一个首要前提是将地理空间数据的地图信息以图形或图片的形式发布到互联网上,从而实现地理信息的网上浏览。实现这种应用的技术主要有两种,一是在客户机端来解决,一是在服务器端来解决。前者通过加入插件或控件,在客户机端扩展浏览器的功能,使得原本不支持图形的浏览器支持矢量图形,并提供方法及属性来改变显示的状态,后者是在服务器端提供相关软件,实现地理空间数据向WEB浏览器支持的图像格式的转换,转换为图片后传送到客户端显示。以当前的应用来看,通过安装地图服务器的方法是当前技术的主流,然而这种技术需要用户端和服务器之间频繁的交互响应,严重影响WebGIS的使用效果。通过对传统网络图形文件的格式分析,Flash的SWF文件格式在表达矢量图形和网络传输方面具有明显优势,但是SWF文件仅仅保存有图形信息和与图形相关的颜色、坐标、透明度等图形属性,缺少对地理空间数据的属性数据的支持,而属性数据又是地理空间数据不可缺少的部分。

发明内容
本发明所解决的技术问题克服上面所述目前存在的技术缺陷,而目的是在于提供一种新的数据格式,这种格式不再需要服务器端地理空间数据向图像的转换,可直接应用于网络传输和展示,从而能够提高WebGIS的网络应用体验,同时又不会给用户带来额外的负担。因此本发明考虑到采用SWF文件支持矢量图形和流媒体网络传输的优点,并在其基础上,设计了一种新的存储格式,这种存储格式充分利用SWF对图形的支持,同时扩展了SWF对属性数据的支持,使图形和属性一一对应,进一步提供了常见的地理空间数据文件格式ArcGIS shp文件格式向该存储格式的转换装置。
为了实现上述目的,本发明的技术方案是一种基于SWF文件扩展的地理空间数据存储方法,其特征在于,其包括以下步骤
a、针对ArcGISShape文件,将其包含的地理空间数据信息全部读取并提取出来,保存到一个记事本文件中;
b、创建基于SWF扩展结构的空白文件,设计Vtag标签、Atag标签和AS3Tag标签;
C、读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中;
d、读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签 中;
e、根据设计的SWF文件拓展结构,完成文件的生成。更进一步的,在所述步骤a中,还包括读取数据过程,在读取数据时进一步包括下面的步骤
步骤1,判断Shape空间数据是何种的地物类型,根据Shape文件的特点,只能存储点、线、面三种地物类型的数据;
步骤2,从*. shp文件中提取空间数据的投影信息、图形的数目及每个图形的坐标信息,保存到一个文本文件中;
步骤3,从*. dbf中读取已有空间数据的字段信息和属性纪录信息,把它们一起存到文本文件中。本发明中还提供了另外一种技术方案,具体是一种基于SWF文件扩展的地理空间数据存储方法,包括步骤1,针对ArcGIS Shape文件,将其包含的地理空间数据信息全部提取出来,进一步判断Shape空间数据的要素类型,从*. shp文件中提取空间数据的投影信息、图形的数目及每个图形的坐标信息,从*. dbf中读取已有空间数据的字段信息和属性纪录信息,把它们一起存到文本文件中;
步骤2,创建基于SWF扩展结构的空白文件,新的扩展结构利用SWF存储分块的特点,分别对矢量图形数据设计Vtag、对图像数据设计Rtag、对于属性数据设计Atag,其它的描述信息设计使用AS3tag,从而使SWF能够同时集成不同形式的地理空间数据;
步骤3,读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中;
步骤4,读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签中;
步骤5,读取文本文件中存储到属性记录信息,存储到Atag标签中,完成基于SWF文件扩展结构的数据存储。本发明通过上述技术方案,这种存储结构由于是在Flash SWF基础上的扩展,Flash SWF文件本身不支持地理信息空间数据存储的,经过本方法的扩展后,它不但可以用于存储地理信息空间数据,而且充分利用了 SWF文件的压缩特点,方便网络传输,而且可以直接在网络上进行查看。


下面结合附图和具体实施方式
来详细说明本发明;
图I为本发明基于SWF文件扩展的地理空间数据存储格式应用流程 图2为本发明从Shape文件中提取信息的基本流程 图3为本发明读取空间图形坐标信息的流程 图4为本发明读取属性记录信息的流程 图5为本发明基于SWF的扩展存储结构示意图。图6为本发明从记事本文件到基于SWF扩展结构的数据存储流程。
具体实施例方式为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式
,进一步阐述本发明。本发明考虑到采用SWF文件支持矢量图形和流媒体网络传输的优点,并在其基础上,设计了一种新的存储格式,这种存储格式充分利用SWF对图形的支持,同时扩展了 SWF对属性数据的支持,使图形和属性一一对应,进一步提供了常见的地理空间数据文件格式ArcGIS shp文件格式向该存储格式的转换装置。ArcGIS Shapefile文件是传统地理空间数据文件的典型代表,并且已经成为行业的数据格式标准。为了便于本发明的实施,特提供对Shapefile数据文件的转换装置。Shape文件是按照地物类型来组织的。地物类型可以简单地分为点(Point)、线(Line)、面(Polygon)三种类型,一个Shape文件中只能包括一种类型的地物,即只能包括点、线或者面状地物中的一种。一个Shapefile是由若干个文件组成的,空间信息和属性信息分离存储,每个ShapefiIe,都至少有这三个文件组成,其中
shp :存储的是几何要素的的空间信息,也就是XY坐标*. shx :存储的是有关*. shp存储的索引信息。它记录了在*. shp中,空间数据是如何存储的,XY坐标的输入点在哪里,有多少XY坐标对等信息dbf :存储地理数据的属性信息的dBase表。这三个文件是构成Shapefile存储的基本文件。下面通过实例说明,如何以Shapefile文件为基础,将地理空间数据转换为基于SffF格式扩展的地理空间数据存储格式。图I展示了基于SWF文件扩展的地理空间数据存储格式应用流程。第一步是判断已有的空间数据是何种地物类型,根据点、线、面三种类型,选择不同的处理流程,进行信息的读取。不管是哪种地物类型,读取的信息都包括空间数据图形的坐标信息,字段信息、投影信息、坐标范围信息和属性记录信息等等。第二步,从ArcGIS Shape文件中提取地理空间数据信息,图2展示了从Shape文件中提取信息的基本流程。因为Shapefile文件由* shp、* shx和* dbf三个基本文件构成,因此在读取的时候,需要按照顺序分别进行信息的提取。*. shx文件主要存储的是索引信息,它的主要作用是加快图形显示的速速,其主要的数据信息都存储在*. Shp文件和*. dbf文件中,其中,*. Shp文件存储的是空间图形坐标信息,*. dbf存储的是属性记录信息。读取空间图形坐标信息的流程如图3所示,主要从*. shp文件中读取。在*. shp文件中存储有投影信息、记录的个数和图形坐标信息。通过C++程序,依次读取图形的坐标信息,直至读取完毕。读取完毕后,计算图形坐标的范围,得到坐标的最大值和最小值。根据得到的坐标范围和预定义的SWF文件大小进行比较,从而计算出转换为新的存储格式后的比例尺大小。最后将读取的投影信息、所有图形记录的坐标信息和比例尺信息依次存储到一个记事本文件中。为了便于对记事本文件进行后续处理,特规定存储方式如下
DataProjection: IongtituteLatitutemapscale=61. 854378;
Xmin=94. 756838;
Xmax=106. 455846; Ymin=32. 796182;
Ymax=42. 496385;
DataType LineLineParts: ILinePoints
POINT
, X:96. 0758 POINT
. Y:42.4775P0INT[1], X:96. 1527 POINT[I]. Y:42. 4785POINT[2], X:96. 2054 POINT[2]. Y:42. 4782POINT[3], X:96. 236 POINT[3]. Y:42. 4765POINT[4], X:96. 2666 POINT[4], Y:42. 4754POINT[5], X:96. 3343 POINT[5]. Y:42. 4721POINT[6], X:96. 4086 POINT[6], Y:42. 4698
读取属性记录信息的流程如图4所示,主要从dbf文件中读取。在*. dbf文件中存取有字段名称、字段类型和记录内容等信息,主要是文本信息,它和图形数据记录一一对应,在读取的时候需要依次读取。读取完毕之后,将其存储到前面创建好的记事本文件当中。第三步,创建SWF空白文件,读取记事本中存储的空间图形坐标信息,投影信息、比例尺信息、属性字段信息和记录信息,按照设计好的SWF扩展存储结构进行地理空间数据的存储。图5是基于SWF的扩展存储结构示意图,新的扩展结构利用SWF存储分块的特点,分别对矢量图形数据设计Vtag、对图像数据设计Rtag、对于属性数据设计Atag,其它的描述信息设计使用AS3tag,从而使SWF能够同时集成不同形式的地理空间数据。关于Vtag和Rtag的内部设计参照SWF原有存储方案,这样可以有效和SWF兼容,并且支持Flash Player播放器的播放。本发明的主要贡献之处在于Atag的设计,并使其与Vtag中的空间图形相关联。对于Atag的设计,在存储上采用URI编码策略,将一条记录存为一行,字段与字段之间用逗号隔开。在使用的时候利用SWF支持的AS3脚本语言进行读取和解码处理。图6展示了从记事本文件到基于SWF扩展结构的数据存储流程。地理空间数据主要包含三部分信息,分别是数据描述信息、图形坐标数据信息和属性记录信息。根据扩展的SffF文件结构,依次读取记事本文件中存储的相关数据,创建相应的tag标签,最终生成基于SWF扩展结构的数据文件。具体实施例I :
参见图I至图6,本实施例是提供一种基于SWF文件扩展的地理空间数据存储方法,包括步骤1,针对ArcGIS Shape文件,将其包含的地理空间数据信息全部提取出来,进一步判断Shape空间数据的要素类型,从*. shp文件中提取空间数据的投影信息、图形的数目及每个图形的坐标信息,从*. dbf中读取已有空间数据的字段信息和属性纪录信息,把它们一起存到文本文件中;
步骤2,创建基于SWF扩展结构的空白文件,新的扩展结构利用SWF存储分块的特点,分 别对矢量图形数据设计Vtag、对图像数据设计Rtag、对于属性数据设计Atag,其它的描述信息设计使用AS3tag,从而使SWF能够同时集成不同形式的地理空间数据;
步骤3,读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中;
步骤4,读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签中;
步骤5,读取文本文件中存储到属性记录信息,存储到Atag标签中,完成基于SWF文件扩展结构的数据存储。本发明通过将传统的地理空间数据文件,转换为新的存储格式。进一步的,本发明的转换装置能直接将传统地理空间数据存储格式转换为该格式。进一步的,本发明的地理空间数据存储格式,能够直接用于网络的传输和可视化表达。进一步的,本发明的地理空间数据存储的方法能够适用于外形特殊和复杂的地理空间图形数据。进一步的,本发明能够确保所存储的空间数据、含有地理位置信息并且位置准确。进一步的,本发明的数据存储格式,能够完整的保留地理空间数据的属性信息,并做到图形和属性数据的关联。这种存储结构由于是在Flash SWF基础上的扩展,Flash SWF文件本身不支持地理信息空间数据存储的,经过本方法的扩展后,它不但可以用于存储地理信息空间数据,而且充分利用了 SWF文件的压缩特点,方便网络传输,而且可以直接在网络上进行查看。具体实施例2
一种基于SWF文件扩展的地理空间数据存储方法,其包括以下步骤
a、针对ArcGISShape文件,将其包含的地理空间数据信息全部读取并提取出来,保存到一个记事本文件中;
b、创建基于SWF扩展结构的空白文件,设计Vtag标签、Atag标签和AS3Tag标签;
C、读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中;
d、读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签
中;
e、根据设计的SWF文件拓展结构,完成文件的生成。本发明通过将传统的地理空间数据文件,转换为新的存储格式。进一步的,本发明的转换装置能直接将传统地理空间数据存储格式转换为该格式。进一步的,本发明的地理空间数据存储格式,能够直接用于网络的传输和可视化表达。进一步的,本发明的地理空间数据存储的方法能够适用于外形特殊和复杂的地理空间图形数据。进一步的,本发明能够确保所存储的空间数据、含有地理位置信息并且位置准确。进一步的,本发明的数据存储格式,能够完整的保留地理空间数据的属性信息,并做到图形和属性数据的关联。具体实施例3
一种基于SWF文件扩展的地理空间数据存储方法,其包括以下步骤
a、针对ArcGISShape文件,将其包含的地理空间数据信息全部读取并提取出来,保存到一个记事本文件中;
b、创建基于SWF扩展结构的空白文件,设计Vtag标签、Atag标签和AS3Tag标签;
C、读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范 围信息,保存到AS3tag标签中;
d、读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签
中;
e、根据设计的SWF文件拓展结构,完成文件的生成。更进一步的,在所述步骤a中,还包括读取数据过程,在读取数据时进一步包括下面的步骤
步骤1,判断Shape空间数据是何种的地物类型,根据Shape文件的特点,只能存储点、线、面三种地物类型的数据;
步骤2,从*. shp文件中提取空间数据的投影信息、图形的数目及每个图形的坐标信息,保存到一个文本文件中;
步骤3,从*. dbf中读取已有空间数据的字段信息和属性纪录信息,把它们一起存到文本文件中。本发明通过将传统的地理空间数据文件,转换为新的存储格式。进一步的,本发明的转换装置能直接将传统地理空间数据存储格式转换为该格式。进一步的,本发明的地理空间数据存储格式,能够直接用于网络的传输和可视化表达。进一步的,本发明的地理空间数据存储的方法能够适用于外形特殊和复杂的地理空间图形数据。进一步的,本发明能够确保所存储的空间数据、含有地理位置信息并且位置准确。进一步的,本发明的数据存储格式,能够完整的保留地理空间数据的属性信息,并做到图形和属性数据的关联。表I是新设计的SWF扩展文件与其它格式文件的存储大小比较,通过比较发现,经过将空间数据文件转换为支持网络运行的SWF扩展文件。数据得到大大压缩,而且保留属性信息,便于网络的直接发布和查看。表I
数据一|Shp文件大小|Tab文件大小|SWF扩展文件大小
中国县级行政区_17816KB9404KB_ 1054KB_
中国河网数据1474KB1064KB143KB
河南省土地类型数据 1930KB1320KB356KB
中国铁路路网数据 729KB439KB116KB
中国省级边界数据 |292KB|203KB!42KB
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员
应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原
理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都
落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
权利要求
1.一种基于SWF文件扩展的地理空间数据存储方法,其特征在于,其包括以下步骤 a、针对ArcGISShape文件,将其包含的地理空间数据信息全部读取并提取出来,保存到一个记事本文件中; b、创建基于SWF扩展结构的空白文件,设计Vtag标签、Atag标签和AS3Tag标签; C、读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中; d、读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签中; e、根据设计的SWF文件拓展结构,完成文件的生成。
2.根据权利要求I所述的一种基于SWF文件扩展的地理空间数据存储方法,其特征在于,在所述步骤a中,还包括读取数据过程,在读取数据时进一步包括下面的步骤 步骤1,判断Shape空间数据是何种的地物类型,根据Shape文件的特点,只能存储点、线、面三种地物类型的数据; 步骤2,从*. shp文件中提取空间数据的投影信息、图形的数目及每个图形的坐标信息,保存到一个文本文件中; 步骤3,从*. dbf中读取已有空间数据的字段信息和属性纪录信息,把它们一起存到文本文件中。
3.一种基于SWF文件扩展的地理空间数据存储方法,其特征在于,该方法包括 步骤I,针对ArcGIS Shape文件,将其包含的地理空间数据信息全部提取出来,进一步判断Shape空间数据的要素类型,从*. shp文件中提取空间数据的投影信息、图形的数目及每个图形的坐标信息,从*. dbf中读取已有空间数据的字段信息和属性纪录信息,把它们一起存到文本文件中; 步骤2,创建基于SWF扩展结构的空白文件,新的扩展结构利用SWF存储分块的特点,分别对矢量图形数据设计Vtag、对图像数据设计Rtag、对于属性数据设计Atag,其它的描述信息设计使用AS3tag,从而使SWF能够同时集成不同形式的地理空间数据; 步骤3,读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中; 步骤4,读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签中; 步骤5,读取文本文件中存储到属性记录信息,存储到Atag标签中,完成基于SWF文件扩展结构的数据存储。
全文摘要
本发明公开了一种基于SWF文件扩展的地理空间数据存储方法,其特征在于,其包括以下步骤a、针对ArcGISShape文件,将其包含的地理空间数据信息全部读取并提取出来,保存到一个记事本文件中;b、创建基于SWF扩展结构的空白文件,设计Vtag标签、Atag标签和AS3Tag标签;c、读取文本文件中存储的地理空间数据描述信息,包括字段信息、投影信息和坐标范围信息,保存到AS3tag标签中;d、读取文本文件中存储的空间图形坐标信息,生成SWF图形对象并存储到Vtag标签中;e、根据设计的SWF文件拓展结构,完成文件的生成。经过本方法的扩展后,它不但可以用于存储地理信息空间数据,而且充分利用了SWF文件的压缩特点,方便网络传输,而且可以直接在网络上进行查看。
文档编号G06F17/30GK102708169SQ20121013176
公开日2012年10月3日 申请日期2012年5月2日 优先权日2012年5月2日
发明者张金区 申请人:中国科学院地理科学与资源研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1