吴 松
(安徽师范大学国土资源与旅游学院,安徽芜湖 241003)
基于GML的图库一体化数据存储及应用
吴 松
(安徽师范大学国土资源与旅游学院,安徽芜湖 241003)
摘要为解决传统的图库一体化中制图数据与基础数据分离且格式不统一问题,引入能够表示地理空间对象的空间数据和非空间属性数据GML(地理标识语言)文档,建立图库一体化模型,实现数据统一存储管理和应用。首先将GIS数据作为基础数据建库,制定相应的配图方案形成制图数据,用GML技术将上述基础数据与制图数据即地图配置数据统一存储和管理,建立GML图库一体化模型;然后从GML地理数据库中提取与制图数据有关的信息并分析GML地理要素的属性,从地图符号库中匹配出表示该地理要素的地图符号信息,运用编程语言实现地图配置并保存至GML数据库,实现制图数据与基础数据的一体化存储。以某县级开发区土地利用数据为例对GML数据库的应用进行分析,运用C#编程语言完成土地利用数据的GML存储,采用ArcEngine提供的可视化控件实现GML可视化,通过ArcGIS Engine提供的地图整饰功能进行制图输出,实现图库一体化GML数据的应用。
关键词GML;图库一体化;数据存储;应用
随着计算机技术的广泛应用,目前地图生产的全部过程都可以在计算机上实现,数字制图软件对数据的存储和管理以及生产数字地图和纸质地图起到了关键作用[1]。但现在制图软件众多且数据格式不统一,建库数据表示的侧重点不一样,难以实现不同平台的数据共享,基础数据和制图规则存储分开,不能统一管理,GIS应用与制图应用也不能同时兼顾。目前有关软件可分为3类:①通用矢量图形软件,包括CorelDraw、Photoshop;制图类软件,包括MapGIS、AutoCAD、MicroStation;GIS 类软件,包括MapInfo、ArcGIS。虽然数字制图软件数量众多、各有特色,但这些软件要么是面向传统图形应用,不能进行空间分析;要么是侧重空间数据的采集和分析应用,不能制出完美的地图。因此,要实现两者的功能必须建立两套数据库,但它们不能同时对制图数据和空间数据进行存储,无法将两类信息进行统一管理。要想利用一套数据库,既能实现空间分析和制图应用,又能将制图数据与空间数据存储在一起,可通过基于GML的图库一体化来实现。
图库一体化是一个涉及空间数据采集生产、存储、管理、制图输出的全过程的完整的技术解决方案体系,包括数据生产标准、工艺流程、数据库结构的制定以及支持工艺流程各阶段数据编辑、处理的软件系统[2]。目前国内外学者对图库一体化作了广泛地研究,主要是对数据存储管理、制图输出和生产流程研究,也都达到了一定的效果。他们在图库一体化研究思想上基本相似,在数据建库与制图方法上各有不同,能够解决一些制图与分析的需要,但是存在所选建库数据源不够完备、数据表达的范围有限且存储复杂、仅适合本系统且通用性差等不足,在制图规则表达和数据存储上也显得复杂,且制图数据与基础数据不能统一存储,多数制图规则只能配置同一比例尺下的地图数据,一套配图方案只能显示一张地图。虽然GML技术改进了数据存储方式,但通常都是对数据分层存储,一个GML文档仅代表一个图层,不能将图层文档合并存储。而且GML并没有涉及制图数据应用,对于制图数据的表达XML技术使用比较广泛,GML继承了XML的所有特点,因此将其融合是图库一体化数据存储表达的优良选择。
由于地理数据比较完备,选用地理库为核心的数据作为基础数据库,便于空间分析应用;制图数据是以实现地图配图的符号表达规则的数据,通过提取制图数据即可完成制图输出。传统图库一体化基础数据和制图数据存储是分离的,为了减少数据重复采集,实现图库数据的一体化存储、管理和应用,笔者采用GML技术实现基础地理数据的存储,将GML文档作为基础地理数据库,同时制图数据的存储和管理同样用GML技术并存入GML文档,将二者的存储集于一体,便于数据间的调用共享,减少了数据的采集次数,提高了数据的重复利用率,同时节约存储空间,实现基础地理数据和制图数据的一体化存储与管理。
1GML数据分析
1.1GML概述XML可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,是当今处理分布式结构信息的有效工具。由于 XML具有结构性、可扩展性、自描述性、简单性等诸多特征,使之表示数据的方式真正做到了独立于应用系统,不受任何特殊的软件或者硬件平台限制,并且这些数据能重复使用,简单易懂。这些优势使 XML 成为存储独立于特定系统平台的地图符号描述信息的技术方案。XML被人们广泛应用,在制图领域也不例外。GML即地理标识语言,是由OGC(开放式地理信息系统协会)于1999年提出基于XML的地理信息传输和存储的编码规范,具有XML所具有的一切优点,同时GML还有自身一些基本特征,能够表示地理空间对象的空间数据和非空间属性数据。GML具有纯文本、自我描述、中立于任何软件厂商、可以在Web浏览器中显示、可以很容易与非空间数据集成等特征,为空间数据的建模、存储和处理提供了标准框架[3]。
总体上看,GML具有以下优点:基于文本的地理信息表示;GML数据容易与非空间数据整合;空间和非空间数据的内容和表现形式的分离;一种容易理解的空间信息和空间关联的编码方式;基于XML的地理信息表示,各种XML技术如 XML 解析、XML Schema、XLink、XPointer、XSL、XML查询语言等都可应用于GML;对地理实体的几何特征及其属性进行编码;封装了空间参考系统;随着GML开发工具的增多,它的功能更加完善[3]。因此,GML技术在地理信息方面应用非常受青睐。
1.2GML解析及可视化
1.2.1GML解析。GML文档是一种XML文档,XML解析器编程接口方式主要有SAX和DOM两种标准可供选择。DOM(文档对象模型)定义了文档的逻辑结构以及存取和维护文档的方法。在 DOM 中,文档的逻辑结构通常是树形的,可以对文档进行随机存取。编程实现容易缺点在于它对计算机性能和内存要求较高。SAX 是用于处理XML事件驱动的“推”模型,提供了一种对XML文档进行顺序访问的模式,这是一种快速读写 XML 数据的方式,内存消耗小但必须实现多个事件处理程序,以便能够处理所有的事件[4]。
1.2.2GML的可视化。根据系统需要选用相应的可视化策略。GML的可视化主要有3种策略:基于栅格图像的可视化策略;基于组件的可视化策略;基于 SVG 的可视化策略[5]。基于栅格图像的可视化策略最后以栅格地图(GIF或JPG格式)和静态页面呈现出来;基于组件的可视化策略是通过组件来操作所需的GML数据,操作的内容包括地图的开窗、放大、漫游以及信息查询等;基于 SVG 的可视化策略是利用浏览器加载SVG插件,查询GML数据库或GML文档得到所需GML数据,然后转换程序加载合适的XSLT样式单对GML数据进行相应的处理,生成SVG数据,SVG插件处理 SVG数据并显示为地图。
2GML图库一体化数据存储研究
2.1GML图库一体化模型通过分析制图数据的特点和GIS数据的特点,按照图库一体化“先空间数据生产,后地图出版”的生产流程,提出一种GIS数据与制图数据一体化存储,GIS 数据是地理实体在空间上具有目标完整性,实体间具有空间拓扑关系,且拥有完备的属性信息便于实现GIS分析,对所有需要表现的地物及属性信息均完整的录入,将GIS数据作为基础数据建库。而后制定相应的配图方案,从地理数据到制图数据转换,调用符号库配置相应的符号,形成制图数据。用GML技术将上述基础数据与制图数据即地图配置数据统一存储和管理,建立GML图库一体化模型。
2.2图库一体化GML数据建库基于GML的图库一体化建库数据可以多源的,任何数据只要按GML模式都可以写入GML文档进行建库。由于GIS数据完整而丰富,采用GIS数据建库可以很好地实现空间分析及制图功能。该研究将地理要素的空间信息存储在以空间数据为主流软件ESRI公司的ArcGIS软件的Shapefile文件中,根据Shapefile文件调用GML核心模式及制定GML应用模式,将空间基础地理数据Shapefile 向GML映射的方法。实现Shapefile格式数据到GML格式数据的转换过程可分为两个大步骤,一是依据Shapefile数据文档资料获取数据,二是依据GML标准构建GML格式数据。运用编程语言来完成从源数据(shapefile)到GML数据的转换[6],利用GML文档实现基础数据建库。
该研究地图配置同样选用GML相应的模式,从GML地理数据库中提取与制图数据有关的信息(如地理要素的空间位置坐标等)以及分析GML地理要素的属性,并从地图符号库中匹配出表示该地理要素的地图符号信息。根据GML继承XML特点,对地图的结构、渲染方式等加以表达,运用编程语言实现地图配置并保存至GML数据库,将二者进行一体化存储。
3图库一体化GML技术应用
通过对图库一体化和GML技术研究,将开发区土地利用数据作为图库一体化基础数据,利用GML技术存储管理基础数据和制图数据,结合相关开发软件,实现开发区土地利用图库一体化原型系统。
3.1土地利用数据GML存储以某县级开发区土地利用数据为例,对于空间对象中包含的大量信息,包括界址点、界址线、宗地、道路、行政村、企业等空间数据及属性数据,调用相应的应用模式,从源数据到GML数据的转换而完成基础数据建库。地图配置在微软.net平台上提取GML数据库地理信息,调用地图符号体系实现地图配置并保存至GML数据库。地图配置将符号化信息以层次结构的形式存储在GML文档中,包括图层配置、标注配置以及渲染配置等。图层配置主要包括图层的数据来源、图层使用的标注方案、图层的分级显示以及在不同比例尺下的可见性、渲染方案以及图层透明度等。标注配置包括标注时所使用的字段,标注所使用的字体、字体的大小、角度、颜色等以及对标注的位置控制。渲染配置描述两种渲染方式,唯一值渲染和简单渲染。运用编程语言(该试验系统采用C#)来完成土地利用数据GML存储,代码如下所示:
......
38436900.88319864410939.0125910538437146.0587181
4410689.8826277538437169.78538124410343.8687898438436977.9948539
4410209.41769853
......
......
3.2土地利用数据GML数据解析与可视化系统生成的GML文档量不大,不会占用大量内存,并且其文档的逻辑结构通常是树形的。因此,采用文档对象模型(DOM)来解析文档,通过遍历DOM树的方法解析GML文档中的信息,可以很容易地访问、添加以及修改结构树中的元素。
ArcGIS Engine具有丰富地图符号体系,管理并提供制图数据所需的符号,根据需要可以添加制作符号模块,丰富符号库。ArcGIS Engine还将色彩、制图元素(如图例、比例尺、比例文本等)等统一放入到符号库中进行管理。因此,可采用基于ArcGIS Engine提供的可视化控件实现GML可视化,在MapControl控件中进行地图图元的绘制,通过调用相关的COM组件绘制点、线、面等基本图元[7]。
3.3土地利用数据GML数据应用系统分析应用则调用GML基础地理数据文档,通过ArcGIS Engine提供的相应组件可以显示地图并能进行关联查询、属性查询等。系统制图应用可调用配置好的GML文档;亦可根据制图需要更新修改符号化配置方案,保存至GML文档;然后通过ArcGIS Engine提供的地图整饰功能进行制图输出。
4结语
该研究利用GML技术对图库一体化的研究应用,对基础建库数据和制图数据统一保存到GML文档中进行一体化存储,实现了格式的统一,解决了图库分离问题。结合实例通过微软.net技术和组件技术对GML文档数据库解析和可视化以及制图输出,对以后图库一体化的建库方式以及地图配置和空间分析的效率都有极大的改进和提高,具有较高的推广价值。
参考文献
[1] 刘海砚.地图制图与空间数据生产一体化理论和技术的研究[D].郑州:解放军信息工程大学,2002.
[2] 谭成国.基于ArcGIS Representation 图库一体化的设计与实现[J].城市勘测,2011,12(6):46-49.
[3] OGC.Geography Markup Language(GML)Implementation Specification 3.0[S].OGC,2003.
[4] 常小慧,李宏伟.基于C#的GML文档解析[J].电脑编程技巧与维护,2004,10(11):32-38.
[5] 刘磊.GML可视化策略的比较研究[J].江西理工大学学报,2010,31(5):16-19.
[6] 姚封.基于GML的土地利用数据共享研究[D].长沙:中南大学,2010.
[7] 王成.基于ArcEngine的GML可视化的设计与实现[J].科技风, 2011(5):40-41.
Storage and Application of Cartography and Database Integration Data Based on GML
WU Song (College of Territorial Resources and Tourism, Anhui Normal University, Wuhu, Anhui 241003)
AbstractTraditional cartography and database integration has the problems of separation and different formats between cartographic data and basic data. Therefore, we established a cartography and database integration model to realize the unified storage, management and application of data. Firstly, GIS data were used as the basic data, corresponding map scheme was established to form mapping data. GML cartography and database integration model was set based on the unified storage and management of basic data and mapping data mentioned above. Then, relevant mapping information was extracted from GML geographical database; properties of GML geographic elements were analyzed. Map symbol information was selected from map symbols bank. Map arrangement was realized by programming language and saved in GML database. Thus, integration storage of mapping data and basic data was achieved. Finally, with the land use data of development zone at county level as a case, GML database was applied. C# programming language was used to complete the GML storage of land use data. GML visualization was realized by the visual controls provided by ArcEngine; mapping output was carried out by the map function provided by ArcGIS Engine, so that the GML data application of cartography and database integration was realized.
Key wordsGML; Cartography and Database Integration; Data storage
收稿日期2015-12-30
作者简介吴松(1988- ),男,安徽池州人,硕士研究生,研究方向:GIS应用。
基金项目安徽省自然科学基金项目(1508085SQD207)。
中图分类号S 127
文献标识码A
文章编号0517-6611(2016)03-342-03