CN100458787C - 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法 - Google Patents

一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法 Download PDF

Info

Publication number
CN100458787C
CN100458787C CNB2006101258228A CN200610125822A CN100458787C CN 100458787 C CN100458787 C CN 100458787C CN B2006101258228 A CNB2006101258228 A CN B2006101258228A CN 200610125822 A CN200610125822 A CN 200610125822A CN 100458787 C CN100458787 C CN 100458787C
Authority
CN
China
Prior art keywords
svg
layer
data
map
sxw
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.)
Expired - Fee Related
Application number
CNB2006101258228A
Other languages
English (en)
Other versions
CN1945578A (zh
Inventor
林松福
郑万疆
何禧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kairui Power Communication Science And Technology Co Ltd Fuzhou
Original Assignee
Kairui Power Communication Science And Technology Co Ltd Fuzhou
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kairui Power Communication Science And Technology Co Ltd Fuzhou filed Critical Kairui Power Communication Science And Technology Co Ltd Fuzhou
Priority to CNB2006101258228A priority Critical patent/CN100458787C/zh
Publication of CN1945578A publication Critical patent/CN1945578A/zh
Application granted granted Critical
Publication of CN100458787C publication Critical patent/CN100458787C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及使用互连网络的地图数据的构造或编排的数据库结构,尤其是属于一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法。它是由服务器和客户端即前台控制模块所组成;其中,服务器包含数据永久层和应用逻辑层,各部分具体为:数据永久层包含SXW文件和空间数据库(Oracle Spatial);应用逻辑层包含数据缓存器、SXW解析器、数据更新器、SVG组装器、SVG元素工厂和分发器及客户端所构成。本发明的有益效果在于:高效独立的空间数据管理和空间运算系统。由于空间数据表现和空间数据运算分开,这样让最终用户不管在空间查询和查看地图方面速度都有了很大的提高。所以在用户体验方面有着极有益的效果。

Description

一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法
技术领域
本发明涉及使用互连网络的地图数据的构造或编排的数据库结构,尤其是属于一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法。
背景技术
目前,国内的Web GIS领域内基本上采用两种地图生成技术,根据地图图形的载体不同,区分为栅格图形(Raster)技术和矢量图形(Vector)技术。栅格技术的缺点是图形的网络传输数据量大,同时生成栅格图形需要服务器进行大量预算,给服务器造成了很大的计算压力,另外栅格图形无法将数据和表现方式分离,不利于未来3G时代基于移动终端的数据使用,割裂了地理信息数据对象的有机关系,交互性差,图像数据无法平滑放大。相对而言,矢量技术的优点在于:能完整地描述地理信息数据对象属性,网络数据传输量小,SVG元素交互性强,数据与呈现方式分离,支持图像呈现的优化,可以方便的应用于移动终端。但是由于矢量图形缺乏相应的规范,各厂家自成一系,不利于数据的复用和交换,而且由于资金和技术原因,厂家的矢量图形定义缺乏完整性,仅能满足自身需求,无法提升到规范等级。
发明内容
本发明的目的在于提供一种基于空间数据库和SVG的高速Web电子SVG地图的生成及应用方法,以达到使用高速SVG地图引擎整合了空间数据库(OracleSpatial),SVG矢量图形交互技术,AJAX异步数据传输技术以及数据预处理缓冲技术,实现了有利于互联网及移动终端特性的可深度交互的WebGIS地图操作引擎。
本发明所采取的技术方案是:它是由服务器和客户端即前台控制模块所组成;其中,服务器包含数据永久层和应用逻辑层,各部分具体为:
一、数据永久层包含SXW(超图扩展标记语言工作空间)文件和空间数据库(Oracle Spatial),其中:
1、SXW文件主要用来记录空间信息呈现表述和各图层的关系;
2、空间数据库(Oracle Spatial)主要用来永久存储空间数据和进行一些主要的空间运算;
二、应用逻辑层包含数据缓存器、SXW解析器、数据更新器、SVG组装器、SVG元素工厂和分发器,其中:
1、数据缓存器:数据缓存器用于对客户请求过的数据进行必要的缓存,当同一资源被再次访问时,系统就可以迅速的返回结果;
2、SXW解析器:SXW解析器框架设计用于实现SVG地图编辑软件产生的XML格式文件的解析,并提供外部所需的图层元素值;
3、数据更新器:数据更新器的作用主要是动态更新SVG地图;
4、SVG组装器:此模块主要功能为在SVG元素工厂产生完SVG元素后进行组装合并,以形成更大直至完整的SVG地图;
5、SVG元素工厂:此模块主要功能为产生一个SVG元素,其数据的来源是空间数据库(Oracle Spatial)里的空间数据表;
6、分发器:此模块主要作用为处理负载平衡,它对于所收到的操作请求,经分析后再动态分发到相对压力较小的服务器上,其工作过程是:先记录每个服务器所处理的请求数和返回时间,以此来判别各个服务器的压力,在操作请求到达后将其分配到压力较小的服务器上,以得到最快的反应速度。
应用逻辑层的工作过程:
客户端即前台控制模块通过异步通信技术向服务器发起操作请求,应用逻辑层的分发器收到操作请求,对目前各服务器的性能进行评估,择优分发,实现负载平衡,数据缓存器收到操作请求,先在高速缓存数据块中查找数据,如有找到则直接将此数据返回,否则转向空间数据库(Oracle Spatial)查找SVG地图数据,然后更新高速缓存数据块,分发器接收到返回的SVG地图数据,将其原路返回给客户端即前台控制模块;
此外,应用逻辑层中包含SVG地图的生成过程;所述的SVG地图的生成过程是指:
(1)SVG组装器拆分地图上的最小矩形覆盖框(MBR),并根据最小矩形覆盖框(MBR)拆分结果进行循环调用;SVG组装器新建SXW解析器对象;
(2)SXW解析器返回新建对象给SVG组装器;
(3)SVG组装器向SVG元素工厂发送图层、最小矩形覆盖框(MBR)、SXW解析器对象,并要求SVG元素工厂返回相应的SVG元素分块;
(4)SVG元素工厂向SXW解析器对象发送请求,要求返回图层信息;
(5)SXW解析器对象返回图层信息;
(6)SVG元素工厂向空间数据库(Oracle Spatial)要求调用存储过程,传入图层名、最小矩形覆盖框(MBR)、表名称等信息,要求返回结果记录集;
(7)存储过程返回结果记录集;
(8)SVG元素工厂向SXW解析器对象发送请求,要求返回图层风格;
(9)SXW解析器对象返回图层风格;
(10)SVG元素工厂组装并向SVG组装器返回SVG元素分块;
(11)SVG组装器压缩SVG元素分块,并存入到数据缓存器中;
继续上述步骤,直至完成所需的SVG地图。
三、客户端即前台控制模块:它是指与计算机、PDA、Smart Phone或其它电子终端操作系统中与SVG图形查看器(SVG Viewer)进行交互的程序模块;它的主要功能为提供开发前台与SVG图形查看器(SVG Viewer)的交互实现和第三方应用程序接口(API);地图应用开发人员可以通过调用这些应用程序接口(API)操作本系统来开发出高性能的SVG地图。
本发明的有益效果在于:1、高效独立的空间数据管理和空间运算系统。本发明由于空间数据表现和空间数据运算分开,这样让最终用户不管在空间查询和查看地图方面速度都有了很大的提高。所以在用户体验方面有着极有益的效果。2、基于W3C标准的数据结构。本发明在数据结构的定义上,采用了基于W3C标准的XML格式,因此对任何开发在需要的情况下都可通过对XML数据格式的自行解析来完成基于底层数据的开发。从这个角度看,可以说本系统提供了极高级别的用户开发能力。3、低服务器配置要求。由于本发明对数据的处理采用的是预先生成方式,所以在向用户开放后就不存在即时数据生成的压力,此种形式大大降低了对服务器的配置要求,从而大大节省了用户成本。4、高速反应能力和高稳定性。由于本发明采用了三级缓存机制,极大的提高系统的反应能力。同时,是在基于目前成熟的企业级J2EE规范来构建系统,在稳定性方面也是企业级的。5、产品价格低,适合大众化要求。本产品的定位是基于中小型企业网站的,因此,价格低,产品具有竞争优势。
附图说明
图1、本发明整体结构图
图2、SVG地图的生成过程示意图
图3、处理操作请求过程时序结构图
图4、数据缓存器结构图
图5、SXW解析器框架图
具体实施方式
如图1所示为本发明整体结构图,它是由服务器和客户端即前台控制模块所组成;其中,服务器包含数据永久层和应用逻辑层,各部分具体为:
一、数据永久层包含SXW文件和空间数据库(Oracle Spatial),其中:
1、SXW文件主要用来记录空间信息呈现表述和各图层的关系;
2、空间数据库(Oracle Spatial)主要用来永久存储空间数据和进行一些主要的空间运算;
二、应用逻辑层包含数据缓存器、SXW解析器、数据更新器、SVG组装器、SVG元素工厂和分发器,其中:
1、数据缓存器:数据缓存器用于对客户请求过的数据进行必要的缓存,当同一资源被再次访问时,系统就可以迅速的返回结果;
2、SXW解析器:SXW解析器框架设计用于实现SVG地图编辑软件产生的XML格式文件的解析,并提供外部所需的图层元素值;
3、数据更新器:数据更新器的作用主要是动态更新SVG地图;
4、SVG组装器:此模块主要功能为在SVG元素工厂产生完SVG元素后进行组装合并,以形成更大直至完整的SVG地图;
5、SVG元素工厂:此模块主要功能为产生一个SVG元素,其数据的来源是空间数据库(Oracle Spatial)里的空间数据表;
6、分发器:此模块主要作用为处理负载平衡,它对于所收到的操作请求,经分析后再动态分发到相对压力较小的服务器上,其工作过程是:先记录每个服务器所处理的请求数和返回时间,以此来判别各个服务器的压力,在操作请求到达后将其分配到压力较小的服务器上,以得到最快的反应速度。
应用逻辑层的工作过程:
客户端即前台控制模块通过异步通信技术向服务器发起操作请求,应用逻辑层的分发器收到操作请求,对目前各服务器的性能进行评估,择优分发,实现负载平衡,数据缓存器收到操作请求,先在高速缓存数据块中查找数据,如有找到则直接将此数据返回,否则转向空间数据库(Oracle Spatial)查找数据,然后适当更新高速缓存数据块,分发器接收到返回的数据,将其原路返回给客户端即前台控制模块;
三、客户端即前台控制模块:它是指与计算机、PDA、Smart Phone或其它电子终端操作系统中与SVG图形查看器(SVG Viewer)进行交互的程序模块;它的主要功能为提供开发前台与SVG图形查看器(SVG Viewer)的交互实现和第三方应用程序接口(API);地图应用开发人员可以通过调用这些应用程序接口(API)操作本系统来开发出高性能的SVG地图。
如图2所示为SVG地图的生成过程示意图,其流程是:
1、SVG组装器拆分地图上的最小矩形覆盖框(MBR),并根据最小矩形覆盖框(MBR)拆分结果进行循环调用;SVG组装器新建SXW解析器对象;
2、SXW解析器返回新建对象给SVG组装器;
3、SVG组装器向SVG元素工厂发送图层、最小矩形覆盖框(MBR)、SXW解析器对象,并要求SVG元素工厂返回相应的SVG元素分块;
4、SVG元素工厂向SXW解析器对象发送请求,要求返回图层信息;
5、SXW解析器对象返回图层信息;
6、SVG元素工厂向空间数据库(Oracle Spatial)要求调用存储过程,传入图层名、最小矩形覆盖框(MBR)、表名称等信息,要求返回结果记录集;
7、存储过程返回结果记录集;
8、SVG元素工厂向SXW解析器发送请求,要求返回图层风格;
9、SXW解析器返回图层风格;
10、SVG元素工厂组装并向SVG组装器返回SVG元素分块;
11、SVG组装器压缩SVG元素分块,并存入到数据缓存器中;
继续上述步骤,直至完成所需的SVG地图。
如图3所示为应用逻辑层处理操作请求过程时序结构图,
它是指当一个操作请求到达时序系统时相应的系统处理流程,此图是以时间为顺序的;一个完整操作请求经过如下步骤:
1、发送请求:由客户端即前台控制模块发送地图操作请求到达分发器;
2、分发请求:分发器对该操作请求进行评估并分发到数据缓存器,以实现负载平衡;
3、向分发器返回请求结果:数据缓存器对数据进行缓存或从空间数据库读取,并返回请求结果SVG地图数据到分发器;即先查询分发器请求的SVG地图数据是否在数据缓存器中,如有则从缓存器中直接返回,否则查询空间数据库以获取到被请求的SVG地图数据,然后返回到分发器;
4、向客户端即前台控制模块返回请求结果:分发器接收返回的SVG地图数据,将其返回到发起此次请求的客户端即前台控制模块;
5、构成SVG地图:拼接SVG元素,构成完整的SVG地图。
如图4所示为数据缓存器结构图,它是由缓存策略逻辑模块和高速缓存数据块所组成,其工作流程是:
操作请求到达数据缓存器,数据缓存器中的缓存策略逻辑模块对高速缓存数据块进行检索,如命中,整理SVG地图数据,返回结果;如未命中,从空间数据库(Oracle Spatial)中读取SVG地图数据,整理后将结果返回,并根据算法对高速缓存数据块进行必要的更新;缓存策略逻辑模块负责缓存的查询及更新等工作,高速缓存数据块用来物理放置被缓存的SVG地图数据。
如图5所示为SXW解析器框架图,它是由地图配制处理类(MapConfig)、图层缓存类(LayerBuffer)、解析器类(Parser)和图层类(LayerBean)所组成,各部分具体为:
地图配制处理类(MapConfig),主要功能为存储SVG地图的配制信息;
图层缓存类(LayerBuffer),主要功能为处理图层数据时对图层进行缓存;
解析器类(Parser),主要功能为对配制信息进行解析;
图层类(LayerBean),是图层的实体,存放各图层信息和数据。
SXW解析器框架设计用于实现SVG地图编辑软件产生的XML格式文件的解析,并提供外部所需的图层元素值;它包括一个外部接口类即主类/驱动类为:地图配制处理类(MapConfig);两个内部调用类为:图层缓存类(LayerBuffer)和解析器类(Parser);一个图层类(LayerBean);
其中,外部程序只能调用地图配制处理类(MapConfig)所提供的两个方法,其一为:返回的SVG图层元素值为一个图层类(LayerBean),外部程序需要实例化该图层类(LayerBean);其二为:提供SXW文档解析,外部程序首先应当调用SXW文档解析,驱动解析器类(Parser)解析SXW文件,并返回。
本发明的工作原理和相关技术的具体实现方法
一、本发明的工作原理为:
1、将地图对应的空间信息进行分层切割成区域层、绿地层、水系层、桥系层、道路层、公交站点层、信息点层,并映射为SVG中的图层,图层信息存放在SXW文件中。
2、对SVG图层进行格式定义,为每一个图层赋予边颜色、宽度、填充色、边宽、字体、字体大小或其他图形显示属性值,并保存为XML格式定义文件,图层的相关格式定义文件信息也存放在SXW文件中。
3、针对地图所在的经纬度范围进行SVG元素分块切割,建立从经纬度坐标到SVG元素分块的映射表,经纬度范围同样记录在SXW文件中。
4、编写空间信息SVG转换程序,读取空间信息并通过解析XML格式定义文件,将每一个经纬度范围的空间信息生成为对应的SVG元素分块文件,空间信息生成为对应的SVG元素分块文件存放在空间数据库(Oracle Spatial)中。
5、使用GZIP压缩格式对事先分割好的SVG元素分块数据进行压缩,使得下载的数据量达到15%到30%的压缩率,对于生成后的SVG元素分块数据进行压缩是通过SVG组装器实现的。
6、在服务器端建立了高速的SVG元素分块数据缓存,处理每次用户请求时,直接从高速缓存中读取对应最小矩形覆盖框(MBR)的SVG元素分块数据,本发明中的数据缓存器就是专门用来实现此功能的。
本步骤也可以通过AJAX异步传输技术从服务器读取SVG元素分块数据。
7、使用JavaScript脚本来编写前台用户交互功能,通过面向对象的设计和编码,提供了强大的地图操作能力。
二、本发明相关技术的具体实现方法,以下是基于系统模块按照发明内容的顺序来阐述的:
1、数据格式定义
针对地图空间信息数据格式进行数据库结构设计:
(1)对电子地图上的地理信息数据进行了分类、分层,分区域。
对不同城市地图信息做区域划分,为每一城市建立所在地理坐标范围、城市中心点、城市代码、对应地图配置文档;
对不同比例尺下的地图信息做纵向分层,划分为:35840000∶1,2880000∶1,360000∶1,90000∶1,45000∶1,22500∶1,11200∶1,72000∶1,36000∶1;
对同一比例尺下的不同属性SVG元素进行横向划分:地域层、居民地层、水系层、绿地层、桥系层、铁路层、道路层、POI层、公交路线层、公交站点层。
(2)根据比例尺和属性划分,将地图数据分别导入空间数据库(OracleSpatial)中对应的数据表中;
2、、展示格式定义
(1)定义基于XML文本的空间信息数据展示格式
为地域层定义属性:填充色,字体颜色、字体大小、字体;
为居民地层定义属性:填充色、边线色;
为水系层定义属性:填充色、边线色;
为绿地层定义属性:填充色、边线色;
为桥系层定义属性:填充色、边线色、边线宽度、背景边线色、背景宽度;
为铁路层定义属性:线宽、线段长度;
为道路层定义属性:填充色、边线色、边线宽度、背景边线色、背景宽度;
为POI层定义属性:字体大小、字体、字体颜色、图片;
为公交路线层定义属性:线宽、线色;
为公交站点层定义属性:字体大小、字体、字体颜色、图片;
(2)将配置工作结束后生成的XML存储到服务器上,供SVG元素生成模块使用。
3、SVG元素分块切割
高比例尺下的城市地图大小为几MB、几十MB甚至是上百MB,如果一次性将内容下载到WEB前端,显然无法满足应用要求。
为了实现对请求的快速响应,减少每一次操作返回的地图数据量太大,需要对地图进行分块切割操作,而SVG地图在地物比较集中的区域,地图的数据量特别大,所以需要根据地图的密度对其进行分割,尽可能把每一块地图的大小保持在50KB以下。
(1)开发地图切割工具,使用城市整体地图作为背景底图,用于支持对地图数据区域的切割。
(2)利用工具对地图进行切割,并将切割完毕的地图分块存储到数据库中,并为每一块SVG元素赋予唯一的标识号,同时适当扩展其最小矩形覆盖框(MBR),保证SVG元素拼接时能够保持道路连通性。
(3)对不同比例尺下的地图,使用不同的分块大小,避免在大比例尺下SVG元素分块太少造成的数据量太大,也避免小比例尺下SVG元素分块太多造成的运算速度慢的问题。
4、SVG元素生成
(1)建立对空间数据库(Oracle Spatial)的Java对象读取器。由于空间数据库(Oracle Spatial)的数据结构和访问应用程序接口(API)与传统的Oracle关系数据库大相径庭,现有的基于关系型数据库的JDBC连接池公用应用程序接口(API)是无法正常工作的。
针对空间数据库(Oracle Spatial)的空间数据对象,开发了Oracle的存储过程用于运算切割SVG元素结果。
在J2EE服务器端设计空间数据库(Oracle Spatial)专用的数据库记录解析器。
(2)在内存中建立地理信息的属性映射表,为空间信息SVG元素生成模块提供转换数据支持。
(3)设计SVG元素生成器,根据地理信息属性映射表取得和空间数据库(Oracle Spatial)的表和字段中对应的SVG元素描述信息,读取空间数据库(Oracle Spatial)中的空间数据,并将其转化成SVG格式的XMLSVG元素片段。
5、SVG元素数据压缩缓存
(1)建立自动监听器,在服务器启动时自动开辟大型内存空间,并建立基于哈希表的内存高速缓冲区。
(2)从Oracle关系型数据库中读取SVG地图数据,并针对每一块读出的数据,使用GZIP对其进行压缩,并以分块标志号作为关键字,将其存储到内存高速缓冲区中,建立缓冲区和二位平面的坐标映射。
(3)接收到SVG元素数据请求时,从内存高速缓冲区中读取被压缩过的SVG元素内容,并返回给请求者,实现对图面信息请求的快速响应。
6、预生成处理技术
通过前期对空间数据库(Oracle Spatial)里的各数据表预先通过SVG元素生成模块生成SVG元素数据库,并将其储蓄于空间数据库(Oracle Spatial)中集中管理,当请求到达时,直接返回目标数据,可节省服务器的大量运算时间,大大提高了系统性能。
7、地理空间数据更新器模块
(1)对离散添加或离散更新过的空间数据库(Oracle Spatial)存储的空间数据进行提取,生成对应的SVG元素对象,并添加到对应区域分块的空间数据库记录中。
(2)提供手动和计划任务的数据更新机制。在完成对静态空间分块信息的更新后,要提供相应的应用程序接口(API),使得可以通过人工或定时器方式,更新在线服务器高速缓存中的空间SVG元素信息,同时不影响对外的地图信息服务(即实现空间地图信息的热更新)。
8、三级高速缓存技术
在缓存方面,一般的系统只采用一级缓存技术,显然这对系统性能的提高不是很有帮助。本系统突破这些技术瓶颈,采用三级高速缓存技术,从最大限度上提高了系统的反应能力。三级高速缓存分别在空间数据库,应用服务系统(应用逻辑层),客户端浏览器上分别进行了缓存处理,同时采用了哈希表等数据结构来提高系统读取的速度。
在空间数据库(Oracle Spatial)端,通过PL/SQL语言在其上编写了第一级数据缓存代码,通过监控空间表格的读取率来实现一级缓存。在应用逻辑端通过缓冲器来实现二级缓存,在客户端方面,通过改进浏览器和SVG图形查看器(SVG Viewer)等本身的缓存来实现第三级缓存。
9、用户请求负载平衡模块
(1)对不同地域信息用户请求的协同群集计算。采用服务器群集方式,为不同地域和城市的地理信息提供单独的服务器群,这样可以根据不同地域和城市的用户数量差异,合理分配系统硬件资源。
(2)对相同地域信息多用户并发请求的协同群集计算。通过服务器群集方式,对同时抵达的同一个地域的多个用户请求,按流量均衡算法,分摊到群集中的各台服务器进行处理,从而获得高并发量情况下的的用户请求快速响应。
10、图形数据操作应用程序接口(API)
基于ECMA Script的图形界面操作应用程序接口(API),并针对Web程序开发提供了JavaScript应用接口。此项技术弥补了目前SVG中,用户交互能力较弱的缺陷,为基于SVG的矢量地图的产品化应用提供了较高层次的应用程序接口(API)基础。应用程序接口(API)内容包括:显示城市地图、显示目标点、显示公交站点、显示公交换乘方案、显示公交路线、缩放地图、偏移地图、地图标点、车辆轨迹回放。
11、操作功能
(1)可以自由控制地完整输出空间数据库(Oracle Spatial)中的城市地图数据。
(2)提供基本的地图操作功能:漫游、放大、缩小、框选放大、框选缩小、全图、测距。
(3)二次开发人员能够使用系统提供地图展现和基本操作功能。
(4)二次开发人员能够使用系统提供的地图应用程序接口(API)完成公交路线查询、公交换乘查询、自驾线路查询、地点及位置查询、周边信息查询等工作,并自动在地图上展示查询结果。
(5)能够平滑地完成地图移动、缩小、放大功能,用户几乎感觉不到延迟。
(6)提供良好的系统结构,后期开发的功能能够方便地进行添加。
三、本发明的工作过程是:
1、打开装有本引擎的系统,客户端即前台控制模块对本引擎进行必要的初始化;
2、客户通过SVG VIEWER进行操作请求,客户端即前台控制模块将其截获,并进行整合处理,格式化命令;
3、客户端即前台控制模块通过异步通信技术向服务器发起操作请求;
4、本引擎的应用逻辑层收到操作请求,将其转到分发器;
5、分发器对目前各服务器的性能进行评估,择优分发,实现负载平衡;
6、数据缓存收到请求,先在高速缓存数据块中查找数据,如有找到则直接将此块数据返回,否则转向空间数据库(Oracle Spatial)查找数据,然后适当更新高速缓存数据块;
7、分发器接收到返回的数据,将其原路返回给客户端即前台控制模块;
8、客户端即前台控制模块收到数据,将其呈现给客户。

Claims (3)

1、一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法,它是由服务器和客户端即前台控制模块所组成;其中,服务器包含数据永久层和应用逻辑层,其特征在于:
数据永久层包含超图扩展标记语言工作空间SXW文件和空间数据库,其中:
SXW文件主要用来记录空间信息呈现表述和各图层的关系;
空间数据库主要用来永久存储空间数据和进行一些主要的空间运算;
应用逻辑层包含数据缓存器、SXW解析器、数据更新器、SVG组装器、SVG元素工厂和分发器,其中:
数据缓存器:数据缓存器用于对客户请求过的数据进行必要的缓存,当同一资源被再次访问时,能够迅速的返回结果;
SXW解析器:SXW解析器框架设计用于实现SVG地图编辑软件产生的XML格式文件的解析,并提供外部所需的图层元素值;
数据更新器:数据更新器的作用主要是动态更新SVG地图;
SVG组装器:主要功能为在SVG元素工厂产生完SVG元素后进行组装合并,以形成更大直至完整的SVG地图;
SVG元素工厂:主要功能为产生一个SVG元素,其数据的来源是空间数据库里的空间数据表;
分发器:主要作用为处理负载平衡,它对于所收到的操作请求,经分析后再动态分发到相对压力较小的服务器上,其工作过程是:先记录每个服务器所处理的请求数和返回时间,以此来判别各个服务器的压力,在操作请求到达后将其分配到压力较小的服务器上,以得到最快的反应速度;
应用逻辑层执行SVG地图的生成过程,所述的SVG地图的生成过程是指:
(1)SVG组装器拆分地图上的最小矩形覆盖框,并根据最小矩形覆盖框拆分结果进行循环调用;SVG组装器新建SXW解析器对象;
(2)SXW解析器返回新建对象给SVG组装器;
(3)SVG组装器向SVG元素工厂发送图层、最小矩形覆盖框和SXW解析器对象,并要求SVG元素工厂返回相应的SVG元素分块;
(4)SVG元素工厂向SXW解析器对象发送请求,要求返回图层信息;
(5)SXW解析器对象返回图层信息;
(6)SVG元素工厂向空间数据库要求调用存储过程,传入图层名、最小矩形覆盖框和表名称信息,要求返回结果记录集;
(7)存储过程返回结果记录集;
(8)SVG元素工厂向SXW解析器对象发送请求,要求返回图层风格;
(9)SXW解析器对象返回图层风格;
(10)SVG元素工厂组装并向SVG组装器返回SVG元素分块;
(11)SVG组装器压缩SVG元素分块,并存入到数据缓存器中;
继续上述步骤,直至完成所需的SVG地图;
应用逻辑层的工作过程:
客户端即前台控制模块通过异步通信技术向服务器发起操作请求,应用逻辑层的分发器收到操作请求,对目前各服务器的性能进行评估,择优分发,实现负载平衡,数据缓存器收到操作请求,先在高速缓存数据块中查找数据,如有找到则直接将此数据返回,否则转向空间数据库查找SVG地图数据,然后更新高速缓存数据块,分发器接收到返回的SVG地图数据,将其原路返回给客户端即前台控制模块,构成完整的SVG地图;
客户端即前台控制模块:它是指与计算机、PDA、Smart Phone或其它电子终端操作系统中与SVG图形查看器进行交互的程序模块;它的主要功能为提供开发前台与SVG图形查看器的交互实现和第三方应用程序接口;地图应用开发人员能够通过调用这些应用程序接口开发出高性能的SVG地图。
2、根据权利要求1所述的一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法,其特征在于:
所述的数据缓存器,它是由缓存策略逻辑模块和高速缓存数据块所组成,其工作流程是:
当操作请求到达数据缓存器,数据缓存器中的缓存策略逻辑模块对高速缓存数据块进行检索,如命中,整理SVG地图数据,返回结果;如未命中,从空间数据库中读取SVG地图数据,整理后将结果返回,并根据算法对高速缓存数据块进行必要的更新;缓存策略逻辑模块负责缓存的查询及更新工作,高速缓存数据块用来物理放置被缓存的SVG地图数据。
3、根据权利要求1所述的一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法,其特征在于:
所述的SXW解析器,它是由地图配制处理类、图层缓存类、解析器类和图层类所组成,各部分主要功能及工作过程是:
3.1、主要功能:
地图配制处理类,主要功能为存储SVG地图的配制信息;
图层缓存类,主要功能为处理图层数据时对图层进行缓存;
解析器类,主要功能为对配制信息进行解析;
图层类,是图层的实体,存放各图层信息和数据;
3.2、工作过程:SXW解析器框架设计用于实现SVG地图编辑软件产生的XML格式文件的解析,并提供外部所需的图层元素值;它包括一个外部接口类即主类/驱动类为:地图配制处理类;两个内部调用类为:图层缓存类和解析器类;一个图层类;
其中,外部程序只能调用地图配制处理类所提供的两个方法,其一为:返回的SVG图层元素值为一个图层类,外部程序需要实例化该图层类;其二为:提供SXW文档解析,外部程序首先应当调用SXW文档解析,驱动解析器类解析SXW文件,并返回。
CNB2006101258228A 2006-08-26 2006-08-26 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法 Expired - Fee Related CN100458787C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101258228A CN100458787C (zh) 2006-08-26 2006-08-26 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101258228A CN100458787C (zh) 2006-08-26 2006-08-26 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法

Publications (2)

Publication Number Publication Date
CN1945578A CN1945578A (zh) 2007-04-11
CN100458787C true CN100458787C (zh) 2009-02-04

Family

ID=38044981

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101258228A Expired - Fee Related CN100458787C (zh) 2006-08-26 2006-08-26 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法

Country Status (1)

Country Link
CN (1) CN100458787C (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763356B (zh) * 2008-10-08 2013-05-01 新奥特(北京)视频技术有限公司 一种虚拟地图中地形数据的获取和组织方法
KR101643608B1 (ko) 2009-02-13 2016-07-29 삼성전자주식회사 리모트 ui 서비스 제공 방법 및 장치
CN101901151B (zh) * 2009-05-27 2013-05-15 同方股份有限公司 一种可扩展固件接口下实现企业商标动态播放的方法
US8560600B2 (en) * 2011-09-26 2013-10-15 Google Inc. Managing map elements using aggregate feature identifiers
CN102508888B (zh) * 2011-10-20 2014-04-09 福建四创软件有限公司 提高地图访问效率的文件压缩存储及索引方法
CN103226604B (zh) * 2013-04-27 2017-02-15 上海来信信息科技发展有限公司 基于SVG的WebGIS系统及相应的能耗监控系统
CN103268343A (zh) * 2013-05-24 2013-08-28 北京京东尚科信息技术有限公司 将关系数据库和缓存透明结合的系统和方法
CN103390061B (zh) * 2013-07-31 2016-12-28 浙江大学 以用户为中心且基于多级缓存的海洋时空数据访问方法
CN104933057A (zh) * 2014-03-18 2015-09-23 北京图盟科技有限公司 一种地图服务提供方法及装置
CN103885780A (zh) * 2014-03-28 2014-06-25 深圳创维-Rgb电子有限公司 网站的开发方法及服务器
CN107316474B (zh) * 2016-04-27 2020-07-10 上海炬宏信息技术有限公司 基于svg矢量数据格式的动态交通信息简图制作方法
CN105791328A (zh) * 2016-05-25 2016-07-20 江苏省基础地理信息中心 一种三维信息的调用方法、共享方法和装置
CN106599087B (zh) * 2016-11-24 2019-10-18 天津市普迅电力信息技术有限公司 一种空间信息服务的二次开发方法
CN107992589B (zh) * 2017-12-11 2021-07-09 机械工业第六设计研究院有限公司 一种svg地图数据的加载方法、装置及系统
CN109657030A (zh) * 2018-12-27 2019-04-19 北斗天地股份有限公司 一种电子地图盲区监控的系统及方法
CN109871028B (zh) * 2019-01-29 2021-08-10 华南理工大学 一种基于数据服务的无人机控制系统
CN113347276B (zh) * 2021-07-07 2022-07-12 南京大学城市规划设计研究院有限公司深圳分公司 一种基于gis的移动式访问系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985929B1 (en) * 2000-08-31 2006-01-10 The United States Of America As Represented By The Secretary Of The Navy Distributed object-oriented geospatial information distribution system and method thereof
CN1746913A (zh) * 2005-07-21 2006-03-15 大连海事大学 一种基于电子海图的船舶状态符号识别系统
JP2006172380A (ja) * 2004-12-20 2006-06-29 Mitsubishi Electric Corp 空間データの検索用インデックス作成装置および空間データ検索装置および空間データの検索用インデックス作成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985929B1 (en) * 2000-08-31 2006-01-10 The United States Of America As Represented By The Secretary Of The Navy Distributed object-oriented geospatial information distribution system and method thereof
JP2006172380A (ja) * 2004-12-20 2006-06-29 Mitsubishi Electric Corp 空間データの検索用インデックス作成装置および空間データ検索装置および空間データの検索用インデックス作成方法
CN1746913A (zh) * 2005-07-21 2006-03-15 大连海事大学 一种基于电子海图的船舶状态符号识别系统

Also Published As

Publication number Publication date
CN1945578A (zh) 2007-04-11

Similar Documents

Publication Publication Date Title
CN100458787C (zh) 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法
CN107423422B (zh) 基于网格的空间数据分布式存储及检索方法和系统
Chang et al. XML Web Service‐based development model for Internet GIS applications
CN101493825B (zh) 一种gis中间件配置管理方法
CN101799826B (zh) 一种基于虚拟视图的网络化数据共享系统及方法
US8918429B2 (en) Database versioning system
CA2560560C (en) Generating and serving tiles in a digital mapping system
CN109313647A (zh) 用于生成地理信息卡片地图的系统和方法
CN102368272B (zh) 一种数据库系统实现栅格数据类型的方法及其系统
CN101370025A (zh) 地理信息数据的存储方法、调度方法及管理系统
CN110134755A (zh) 地图更新方法、装置、设备、服务器及介质
CN103744995A (zh) 一种构建专题地图的方法及应用该方法的移动终端
KR102150280B1 (ko) 도시 하천 관리를 위한 연계 플랫폼
CN1272731C (zh) 面向海量空间信息的地图浏览器实现方法
CN114595302A (zh) 空间要素的多层级空间关系构建方法、装置、介质及设备
CN104616354A (zh) 一种三维gis快速加载空间数据的方法
CN103198148A (zh) 地图出版数据一体化管理及多媒介发布方法
CN103077273B (zh) 建立在网络电子地图上的工程在线选线交互设计系统及方法
CN114595301A (zh) 瓦片数据的获取方法、装置、设备及存储介质
CN106570051B (zh) 一种基于三维gis模型的海洋石油应用平台构建方法
CN100403307C (zh) 万维网交互编程语言平台环境下高频数据访问系统与方法
Lai et al. Design and realization of the intangible cultural heritage information management system based on web map service
CN104731785A (zh) 一种信息查询方法及装置
CN116861013B (zh) 一种cim数据可信性提升方法
KR100588740B1 (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090204

Termination date: 20150826

EXPY Termination of patent right or utility model