CN103226619A - 一种原生矢量图格式转换方法和系统 - Google Patents
一种原生矢量图格式转换方法和系统 Download PDFInfo
- Publication number
- CN103226619A CN103226619A CN2013101956605A CN201310195660A CN103226619A CN 103226619 A CN103226619 A CN 103226619A CN 2013101956605 A CN2013101956605 A CN 2013101956605A CN 201310195660 A CN201310195660 A CN 201310195660A CN 103226619 A CN103226619 A CN 103226619A
- Authority
- CN
- China
- Prior art keywords
- svg
- polar plot
- java object
- territory
- primary
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种原生矢量图格式转换方法和系统,其中,所述方法包括:通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;将JAVA对象映射成可缩放矢量图形SVG元素;将所述SVG元素编码生成SVG矢量图。本发明能够将原生矢量图格式转换成浏览器支持的SVG矢量图格式。
Description
技术领域
本发明涉及图形文件的编解码技术,尤其涉及一种原生矢量图格式转换方法和系统。
背景技术
随着网络的普及,远程用户需要通过互联网及时地观看原生矢量图平台工具生成的原生矢量图,如MXE格式矢量图。但是,由于浏览器不支持原生矢量图格式文件,原生矢量图平台工具生成的原生矢量图只能由装载所述工具的本地计算机显示,远程计算机不能通过互联网访问原生矢量图平台工具生成的原生矢量图。
发明内容
有鉴于此,本发明的主要目的在于提供一种原生矢量图格式转换方法和系统,能够将原生矢量图格式转换成浏览器支持的可缩放矢量图形(ScalableVector Graphics,SVG)矢量图格式。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供的一种原生矢量图格式转换方法,所述方法包括:
通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
将JAVA对象映射成可缩放矢量图形SVG元素;
将所述SVG元素编码生成SVG矢量图。
较佳地,所述对加载的原生矢量图进行解析为:
对加载的原生矢量图进行文件对象模型DOM解析,所述原生矢量图是可扩展标记语言XML格式的文件。
较佳地,所述将原生矢量图元素对象映射成JAVA对象为:
将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
较佳地,所述将JAVA对象映射成SVG元素为:
对JAVA对象进行反射,获得JAVA对象的类;
通过访问所述类,遍历获得域成员;
对域成员进行反射,得到域成员的操作函数;
根据所述操作函数获得所述域成员的域成员值。
较佳地,所述将所述SVG元素编码生成SVG矢量图为:
将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
本发明提供的一种原生矢量图格式转换系统,所述系统包括:
JAVA对象生成单元,用于通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
SVG元素生成单元,用于将JAVA对象映射成可缩放矢量图形SVG元素;
SVG矢量图生成单元,用于将所述SVG元素编码生成SVG矢量图。
较佳地,所述JAVA对象生成单元,具体用于对加载的原生矢量图进行文件对象模型DOM解析。
较佳地,所述JAVA对象生成单元,具体用于将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
较佳地,所述SVG元素生成单元,具体用于对JAVA对象进行反射,获得JAVA对象的类;
通过访问所述类,遍历获得域成员;
对域成员进行反射,得到域成员的操作函数;
根据所述操作函数获得所述域成员的域成员值。
较佳地,所述SVG矢量图生成单元,具体用于将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
由上可知,本发明的技术方案包括:通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;将JAVA对象映射成可缩放矢量图形SVG元素;将所述SVG元素编码生成SVG矢量图。由此,本发明通过将原生矢量图元素映射成JAVA对象,再将JAVA对象映射成SVG元素,然后SVG元素编码生成SVG矢量图,实现将原生矢量图格式转换成浏览器支持的SVG矢量图格式。
附图说明
图1为本发明原生矢量图格式转换方法的实现流程示意图;
图2为本发明文件解析的实现流程示意图;
图3为本发明通过解析器进行节点属性解析的实现流程示意图;
图4为本发明通过解析器进行节点的孩子节点解析的实现流程示意图;
图5为本发明将JAVA对象映射成SVG元素的实现流程示意图;
图6为本发明原生矢量图格式转换系统的结构示意图;
图7为本发明AJAX异步实时读取数据的实现流程示意图;
图8为本发明AJAX异步实时读取数据的实现流程示意图。
具体实施方式
本发明提供了一种原生矢量图格式转换方法,如图1所示,所述方法包括:
步骤101、通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
这里,使用原生矢量图平台工具打开并加载原生矢量图;原生矢量图平台工具对加载的原生矢量图进行解析,并呈现原生矢量图效果。此时可以对原生矢量图进行编辑,若未编辑完毕则可继续在原生矢量图平台工具对该原生矢量图进行编辑,并循环上面的原生矢量图加载呈现过程;若编辑完毕,选择另存为SVG矢量图文件;原生矢量图平台工具将原生矢量图元素映射成JAVA对象。
步骤102、将JAVA对象映射成可缩放矢量图形SVG元素;
这里,将内存中一系列的JAVA对象映射成一系列的SVG标签元素。
步骤103、将所述SVG元素编码生成SVG矢量图;
这里,将一系列SVG标签元素写入目标SVG矢量图文件。
在实际应用中,用浏览器打开预览;通过JAVASCRIPT脚本对SVG文件内容进行处理,基于AJAX异步读取数据即可获取数据并实时显示SVG矢量图,从而远程计算机能够通过互联网访问原生矢量图平台工具生成的原生矢量图。
优选地,所述对加载的原生矢量图进行解析可以为:
对加载的原生矢量图的可扩展标记语言(Extensible Markup Language,XML)文件进行文件对象模型(Document Object Model,DOM)解析;
具体的,参见图2、3、4所示,对于树状结构的文件的解析过程如下:
步骤201、解析根节点;
步骤202、获取与节点类型信息绑定的解析器;
步骤203、通过解析器进行节点属性解析;
具体的,通过解析器进行节点属性解析包括以下步骤:
步骤2031、获取节点的第一个属性;
步骤2032、将属性的内容作为赋值给对象;
步骤2033、判断是否存在下一个属性,若存在则进入步骤2034;若不存在则节点属性解析完成。
步骤2034、获取下一个属性,返回步骤2032。
步骤204、通过解析器进行节点的孩子节点解析;
具体的,通过解析器进行节点的孩子节点解析包括以下步骤:
步骤2041、获得第一个孩子节点;
步骤2042、判断节点内容是否为空,若为空则进入步骤2044,若不为空,进入步骤2043;
步骤2043、通过解析器解析节点;
步骤2044、判断是否存在下一个孩子节点,若存在则进入步骤2042;若不存在则节点的孩子节点属性解析完成。
步骤205、判断是否存在下一个节点,若存在则进入步骤206;若不存在则结束本次流程;
步骤206、获取下一个节点,返回步骤202。
优选地,所述将原生矢量图元素对象映射成JAVA对象可以为:
将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象;
这里,通过平台工具提供的解码器将原生矢量图文件格式生成Java对象,所述Java对象具有一定格式,所述Java对象是用一个树形结构存储的。
优选地,参照图5所示,所述将JAVA对象映射成SVG元素可以为:
步骤501、对JAVA对象进行反射,获得JAVA对象的类;
步骤502、通过访问所述类,遍历获得域成员;
步骤503、对域成员进行反射,得到域成员的操作函数;
步骤504、根据所述操作函数获得所述域成员的域成员值。
优选地,所述将所述SVG元素编码生成SVG矢量图可以为:
将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
本发明提供了一种原生矢量图格式转换系统,如图6所示,所述系统包括:
JAVA对象生成单元,用于通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
SVG元素生成单元,用于将JAVA对象映射成可缩放矢量图形SVG元素;
SVG矢量图生成单元,用于将所述SVG元素编码生成SVG矢量图。
优选地,所述JAVA对象生成单元,具体用于对加载的原生矢量图的可扩展标记语言XML文件进行文件对象模型DOM解析。
优选地,所述JAVA对象生成单元,具体用于将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
优选地,所述SVG元素生成单元,具体用于对JAVA对象进行反射,获得JAVA对象的类;
通过访问所述类,遍历获得域成员;
对域成员进行反射,得到域成员的操作函数;
根据所述操作函数获得所述域成员的域成员值。
优选地,所述SVG矢量图生成单元,具体用于将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
在实际应用中,参照图7、8所示,浏览器端基于JAVASCRIPT脚本的AJAX异步实时读取数据过程如下:
步骤701、嵌入SVG的网页在加载时调用JAVASCRIPT定义的方法;
步骤702、发起JQUERYAJAX的POST发起请求,请求JSP服务器端;
步骤703、JSP接受请求后被执行,进行数据处理并发起数据库查询请求,通过SQL语句查询数据库;
此处的SQL语句是通过对SVG文件中所有的数据库信息进行split操作得到需要的字段,并以一定格式拼接出的;
步骤704、服务器端将数据库返回数据存于一个map数据结构中返回给客户端;
多次的数据库查询返回了多个数据,需要对每个数据对应SVG文件中的哪个元素信息进行识别,所以把查询数据库的信息需要进行保存,这里有一个数据对应的关系,采用一个HashMap<String,String>存储;
步骤705、JAVASCRIPT对数据进行处理并对SVG文件进行DOM操作;
将AJAX POST回调函数返回的数据进行split等一系列处理后得到一系列的主键,表名和对应的值,通过DOM解析获得SVG文件中对应的属性与返回数据中的主键表名进行比较,如果相等,就把相应的值赋给SVG中该元素对应的显示文字处;
步骤706、数据修改SVG文件从而动态修改了网页,显示给终端用户网页刷新,显示数据。
下面以将本发明应用于供暖公司锅炉房监控场景为例,对本发明进行介绍。
步骤801、用户在原生矢量图平台工具中选定打开某一原生矢量图文件;
该原生矢量图文件可以形象化地看到锅炉房的配置并可读取一系列的监控信息;
步骤802、原生矢量图平台工具加载并显示原生矢量图;
此时原生矢量图平台工具已经通过解码器解析了原生矢量图并生成了具有一定格式的JAVA对象,用户此时可选择继续编辑;
步骤803、用户编辑完毕后,可选择菜单栏选项中的文件另存为选项另存为SVG矢量图文件;
步骤804、原生矢量图平台工具通过调用目标格式文件的编码器将上述具有一定格式的JAVA对象进行对象元素映射成一系列SVG标签的元素,写入了SVG目标矢量图文件。
步骤805、将SVG目标矢量图文件放入浏览器中打开;
步骤806、JAVASCRIPT脚本发起JQUERY AJAX POST方法,请求JSP服务器端;
步骤807、服务器端将数据库返回数据存于一个MAP数据结构中返回给客户端;
多次的数据库查询返回了多个数据,需要对每个数据对应SVG矢量图文件中的哪个元素信息进行识别,所以把查询数据库的信息需要进行保存,这里有一个数据对应的关系,采用一个HashMap<String,String>存储;
步骤808、JAVASCRIPT对数据进行处理并对SVG文件进行DOM操作;
步骤809、数据修改SVG矢量图文件从而动态修改了网页,显示给终端用户网页刷新,显示数据。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种原生矢量图格式转换方法,其特征在于,所述方法包括:
通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
将JAVA对象映射成可缩放矢量图形SVG元素;
将所述SVG元素编码生成SVG矢量图。
2.根据权利要求1所述的方法,其特征在于,所述对加载的原生矢量图进行解析为:
对加载的原生矢量图进行文件对象模型DOM解析,所述原生矢量图是可扩展标记语言XML格式的文件。
3.根据权利要求1所述的方法,其特征在于,所述将原生矢量图元素对象映射成JAVA对象为:
将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
4.根据权利要求1所述的方法,其特征在于,所述将JAVA对象映射成SVG元素为:
对JAVA对象进行反射,获得JAVA对象的类;
通过访问所述类,遍历获得域成员;
对域成员进行反射,得到域成员的操作函数;
根据所述操作函数获得所述域成员的域成员值。
5.根据权利要求4所述的方法,其特征在于,所述将所述SVG元素编码生成SVG矢量图为:
将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
6.一种原生矢量图格式转换系统,其特征在于,所述系统包括:
JAVA对象生成单元,用于通过对加载的原生矢量图进行解析,将原生矢量图元素映射成JAVA对象;
SVG元素生成单元,用于将JAVA对象映射成可缩放矢量图形SVG元素;
SVG矢量图生成单元,用于将所述SVG元素编码生成SVG矢量图。
7.根据权利要求6所述的系统,其特征在于,所述JAVA对象生成单元,具体用于对加载的原生矢量图进行文件对象模型DOM解析。
8.根据权利要求6所述的系统,其特征在于,所述JAVA对象生成单元,具体用于将文件记录的节点名称及所述节点名称对应的属性赋给预先定义的Java对象。
9.根据权利要求6所述的系统,其特征在于,所述SVG元素生成单元,具体用于对JAVA对象进行反射,获得JAVA对象的类;
通过访问所述类,遍历获得域成员;
对域成员进行反射,得到域成员的操作函数;
根据所述操作函数获得所述域成员的域成员值。
10.根据权利要求9所述的系统,其特征在于,所述SVG矢量图生成单元,具体用于将域成员的域成员名和域成员值以符合SVG标准的格式写入SVG矢量图文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101956605A CN103226619A (zh) | 2013-05-23 | 2013-05-23 | 一种原生矢量图格式转换方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101956605A CN103226619A (zh) | 2013-05-23 | 2013-05-23 | 一种原生矢量图格式转换方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226619A true CN103226619A (zh) | 2013-07-31 |
Family
ID=48837064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101956605A Pending CN103226619A (zh) | 2013-05-23 | 2013-05-23 | 一种原生矢量图格式转换方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226619A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291476A (zh) * | 2017-06-27 | 2017-10-24 | 北京微影时代科技有限公司 | Canvas代码生成方法、装置、电子设备及存储介质 |
CN108399172A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种矢量图的生成方法和装置 |
CN109189524A (zh) * | 2018-08-09 | 2019-01-11 | 北京金山安全软件有限公司 | 一种图像资源的生成方法和装置 |
CN110263301A (zh) * | 2019-06-27 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于确定文字的颜色的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090063525A1 (en) * | 2007-08-31 | 2009-03-05 | Symbol Technologies, Inc. | Optimized rf coverage using ajax and svg |
CN101923699A (zh) * | 2009-06-10 | 2010-12-22 | 炬力集成电路设计有限公司 | 一种降低在矢量图形填充过程中对cpu耗费的方法及装置 |
-
2013
- 2013-05-23 CN CN2013101956605A patent/CN103226619A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090063525A1 (en) * | 2007-08-31 | 2009-03-05 | Symbol Technologies, Inc. | Optimized rf coverage using ajax and svg |
CN101923699A (zh) * | 2009-06-10 | 2010-12-22 | 炬力集成电路设计有限公司 | 一种降低在矢量图形填充过程中对cpu耗费的方法及装置 |
Non-Patent Citations (2)
Title |
---|
余劲松弟: "CAD地图格式转换及网络发布实现", 《海洋测绘》 * |
胡燕: "基于GML的多源空间数据转换技术的研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399172A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种矢量图的生成方法和装置 |
CN108399172B (zh) * | 2017-02-07 | 2021-10-15 | 阿里巴巴集团控股有限公司 | 一种矢量图的生成方法和装置 |
CN107291476A (zh) * | 2017-06-27 | 2017-10-24 | 北京微影时代科技有限公司 | Canvas代码生成方法、装置、电子设备及存储介质 |
CN107291476B (zh) * | 2017-06-27 | 2020-12-08 | 北京微影时代科技有限公司 | Canvas代码生成方法、装置、电子设备及存储介质 |
CN109189524A (zh) * | 2018-08-09 | 2019-01-11 | 北京金山安全软件有限公司 | 一种图像资源的生成方法和装置 |
CN110263301A (zh) * | 2019-06-27 | 2019-09-20 | 北京百度网讯科技有限公司 | 用于确定文字的颜色的方法和装置 |
CN110263301B (zh) * | 2019-06-27 | 2023-12-05 | 北京百度网讯科技有限公司 | 用于确定文字的颜色的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102789484B (zh) | 一种网页信息处理方法和装置 | |
US20140089786A1 (en) | Automated Processor For Web Content To Mobile-Optimized Content Transformation | |
US20100083095A1 (en) | Method for Extracting Data from Web Pages | |
CN103095823A (zh) | 一种物联网系统中对象的描述方法及对象信息交互系统 | |
CN102163233A (zh) | 一种网页标记语言格式转换方法及系统 | |
CN107346325A (zh) | 信息查询方法及装置 | |
CN107391153B (zh) | 一种基于Spring与MyBatis框架整合的代码生成方法及装置 | |
US8117531B1 (en) | Interpreted language translation system and method | |
CN101976235A (zh) | 基于动态网页的可扩展的Word报告自动生成方法 | |
US20090228490A1 (en) | Apparatus and method for universal data access by location based systems | |
CN107220274A (zh) | 一种可视化数据接口集市实现方法 | |
CN103246963B (zh) | 基于物联网的员工培训系统 | |
CN103226619A (zh) | 一种原生矢量图格式转换方法和系统 | |
CN105094753A (zh) | 一种线框图的绘制方法、装置和系统 | |
CN103631578A (zh) | 一种配电网自动化系统中数据展示方法 | |
CN105354236A (zh) | 一种对账信息生成方法及系统 | |
CN108509199A (zh) | 自动生成中文注释的方法、装置、设备及存储介质 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN113703785A (zh) | 基于组件的平台部署方法、装置、设备及存储介质 | |
CN104283947A (zh) | Java script动态合并服务器及其工作过程 | |
CN107391528A (zh) | 前端组件依赖信息搜索方法及设备 | |
Du et al. | A study of GIS development based on KML and Google Earth | |
Olfat et al. | A GML-based approach to automate spatial metadata updating | |
CN105468753A (zh) | 多编码格式数据显示系统及方法 | |
US20180329965A1 (en) | Display method and display apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130731 |