基于ArcGIS与XSL的动态图形整饰的设计与实现
陈 踊 崔 蓓 郭绪友 周长利
摘 要:图形整饰是GIS系统开发的一个难点。本文通过对城市规划审批图件的制图需求的分析,介绍了一种在ArcGIS平台上,利用XSL语言来实现各种制图样式的图形整饰新方法。通过该方法,不仅实现了整饰图框、图例、索引图的动态生成,更满足了图表一体的规划设计要点图件和超长幅面带状自动拼接图件等特殊的制图要求。通过在南京市“数字规划”信息平台中的应用,证明该方法可以灵活地适应各种复杂的制图需求,对同类系统的开发具有较好的参考价值。
关键词:ArcGIS;XSL语言;图形整饰;规划审批图件
1 前言
“一书两证”规划管理系统是城市规划审批中最关键的业务系统,规划审批图件作为规划审批成果的附图,是重要的行政许可依据之一。目前大部分规划管理系统都是基于ArcGIS平台开发,但图形整饰和打印模块一般都是在AutoCAD中实现。即使在GIS中有图形整饰功能,也只实现了简单的基本图框,同时,图框模板固定,制图样式比较单一,无法满足复杂的规划审批图件的制图整饰要求。
本文通过吸收XSL语言的优点,基于ArcGIS中丰富的功能和开发接口,介绍了一种在GIS环境下实现动态图形整饰的新方法。该方法在南京市“数字规划”信息平台中得到应用,大大提升了规划审批图件的规范化、标准化及人性化,满足了规划审批对图文一体化的要求。
2 图形整饰的规则和要求
在规划审批图形整饰中,除了考虑合理和美观的原则之外,还要符合规划审批相关规范和图式要求,特别是要满足一些特殊需求。例如对于规划设计要点审批阶段,需要在图件中插入包含文字审批内容的要点表格,实现图表一体,同时,还要考虑到审批人员的操作习惯和办案要求,使制图的操作流程要尽量简便,功能设计上要人性化。
一般简单制图中,只要确定用户选择的图幅范围和比例尺,即可确定整饰图面内容,但由于规划审批图件中还要包含文字内容,而文字审批内容和长度是不确定的,这就需要系统实时计算出合适的图框大小,同时图框中的各种文字说明、图例和索引图等制图要素都要动态生成。另外,除了实现A0、A1等标准图框的图形整饰外,还需要实现介于标准图框之间任意大小的图框,而且图框中的各种制图要素的大小也要随着图框的大小而改变。
3 基于XSL的图形整饰方案
3.1 图形整饰的设计思路
本方案采用XSL语言来对包含业务数据的XML文档进行格式化,并生成图形整饰的图框。XSL是可扩展样式表语言(EXtensible Stylesheet Language)的简称,它定义了如何转换和表示XML文档。它主要包含两个部分,一个是XSLT,用于转换XML文档的语言,一个是XPath,用于在XML文档中导航的语言。通过XSL可以方便地将XML文档按照一定规则转换为指定的格式呈现。在Web界面设计中,它特别适用于需要频繁重新设计和灵活格式处理数据的HTML页面。它可以把XML文档转换成各种样式的HTML页面显示,包括页面上的表格。联想到在图形整饰上,也可以把图框看做一个复杂的HTML表格,通过XSL与XML的结合实现各种图形整饰效果。
按照以上思路,本方案需要设计两种模板。一种是XSL格式的制图数据模板,一种是XML格式的制图样式模板,后者主要作为前者的补充。通过定义两种模板与各种制图类型之间的关系来实现系统动态图形整饰的目的。所有制图模板都以二进制存储在数据库中,同时案件业务数据也都按照统一的格式以XML文档形式传入。
图1 图形整饰流程
当在系统中调用制图模块进行整饰时,通过获取当前办理案件的类型和分析传入的业务数据,先读取对应的XSL制图数据模板,对该案件的业务数据进行初步格式化,生成基本图框。然后再通过用户选择的图幅范围和比例尺,读取合适的制图样式模板,对先前生成的图框再进行精细的格式化。最后通过程序解析,利用ArcGIS类库中的IElement、ILine Element和IText Element等接口绘制图框和生成图形整饰界面。整个图形整饰流程如图1所示。
3.2 图形整饰的模板
3.2.1 制图数据模板
制图数据模板是各种案件类型的制图业务数据的一种组织方式,它可以把案件的业务数据转换成系统需要的格式。针对不同的案件类型,需要绘制不同的制图元素到整饰界面。制图数据模板定义了各制图元素的绘制规则。
制图数据模板是根据不同案件类型预先定义好的XSL文档。文档中对各个业务数据的样式参数都做了定义,模板名称即为案件类型名。
制图数据模板中的每个数据节点都有详细的样式参数说明,系统根据这些参数值来计算该数据节点的位置、字体大小、对齐方式、线型等,如模板中的每个td节点即映射为整饰图框中的一个单元格。以下为一个制图数据模板的示例:
<xsl:stylesheet version="2.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
制图数据模板中的一个节点表示一个Element,节点属性信息描述了该Element的属性取值。例如属性HAlign、VAlign、FontType等分别表示水平对齐方式、垂直对齐方式、字体等。通过制图数据模板,基本把一个图框的结构进行了定义,接下来可以通过制图样式模板来获取具体的显示参数。
3.2.2 制图样式模板
制图样式模板是对图形整饰结果的表现样式的一种抽象。在进行图形整饰时,整饰界面的大小、图框中文本的字体和大小、边框的样式和宽度、页边距、图例及其排列方式等样式参数,都来自预先定义好的XML文档。系统根据各种样式参数来确定每个Element的显示样式。
一个制图样式模板中可以包含多个制图样式。每一个制图样式都定义了制图页面大小、内外图框和裁图框的边距、比例尺、业务数据显示方式、所有字体、所有线型、图例的排列方式等信息。例如A0的样式模板如下:
3.3 图形整饰的保存
在规划审批管理中,需要对每次图形整饰结果进行保存,以保证下次再打印时与当初审批结果附图一致。如果将整饰结果的PageLayout实体保存下来,虽然实现简单,但会增加额外的存储空间,同时也无法实现制图内容的动态更新。因此,本方案采用参数保存模板的方式来存取图形整饰的各种参数,不仅满足图形整饰结果前后一致的要求,而且效率更高。
参数保存模板的结构跟制图样式模板一样,但里面只有节点结构,不包含属性和值。在将制图整饰结果保存时,程序会获取该模板的结构,将所有的样式参数序列化为该模板的格式,并保存到数据库中。当图形整饰结果再次被调用时,系统将模拟用户制图的过程,重新获得最新的业务数据,并从数据库中读取保存的制图样式参数,通过计算将整饰结果还原。通过该方法,可以保证图形整饰结果中地图范围、比例尺和图层等图形内容不变的前提下,文字审批内容能动态变化,从而达到动态图形整饰的目的。
4 动态图形整饰的实现
本图形整饰功能采用Visual Studio.Net 2005和ArcGIS Engine 9.2作为开发平台,并利用ArcMap进行符号配置和图例的制作。制图模板可以直接使用记事本编辑。
在规划审批图件中,除了要包含审批图形和基本案件信息外,还要有索引图、指北针、比例尺和图例等基本制图要素。利用制图数据模板和制图样式模板,可以动态生成包含这些内容的各种样式的图框。通过充分利用XLS语言的优点和ArcGIS丰富的对象和接口,本制图模块不但实现了标准的图框,还实现了两种特殊需求的制图。(www.xing528.com)
4.1 规划审批标准图框的实现
4.1.1 基本图框的绘制
一个标准的规划审批图框主要由图形区域和右边的案件信息栏组成。在案件信息栏中,除了索引图和图例外,主要包含建设项目的许可相关信息,如建设单位名称、建设项目名称、建设项目地址、案卷编号、证/文编号及核发日期等。这些制图要素的样式都在制图数据模板和制图样式模板中进行定义。但由于具体案件中信息量的不固定,还需要设计相应的算法。如案件信息栏的宽度,有时标准宽度会无法容纳所有数据,因此要适时增加宽度。
通过对XLS数据模板和XML样式模板的解析,可以生成整个图框的结构。图框的边框可以分解成一根根线段,如外图框线可以看作是由4条线段相互连接组成,通过得到线段在地图上的4个角点坐标,将它们连接起来就可以生成整个图框。图框的绘制可以利用ArcObjects类库中丰富的接口和对象,如PageLayout、ILineElement和ITextElement等对象和接口。PageLayout对象作为图框和数据的容器,其中的图形数据都是在整饰过程中,实时从数据库中获取。ILineElement对象和ITextElement对象主要用来在PageLayout对象中绘制图框的边框和文字说明。
4.1.2 制图要素的动态生成
除了图框之外,整饰图面中的各种制图要素同样要实现动态生成,下面简要介绍实现方法。
(1)索引图
规划审批图件中的索引图主要反映建设项目的区位和范围,里面只需要显示基本的路网、水系、路名等信息。ArcGIS的制图界面中可以调用多个数据图框(Data Frame),通过程序在图框的右上角创建一个新的数据图框,其中的数据调用专门的索引图图层,最后与地图内容保存在同一个PageLayout对象中并显示。
(2)图例
整饰图面上的图例是与图幅范围内包含的图形要素的图层对应的,即如果图幅范围里没有该图层的要素,则该图层的图例就不能出现。首先利用ArcMap中做好需要用到的所有图例并存储为PageLayout对象,当用户开始制图时,系统获取图幅范围里的所有图形要素所在的图层名称,然后根据图层信息和预定义的规则读取数据库中存储的图例信息,最后插入到PageLayout的合适位置。图例的大小和位置是根据制图样式模板中的图例参数来计算的,并受整个图框的大小和图例个数的影响而动态变化。
(3)指北针和比例尺
一般制图中,都需要打印出指北针和比例尺要素,其中指北针为存储在数据库中的Element对象。打印指北针要素时,首先从数据库读取指北针数据,然后添加到制图整饰图框上,并根据图框大小来实时计算指北针的坐标和大小。比例尺值则根据用户选择的制图参数和制图类型计算所得,然后创建一个ITextElement类型的要素打印到指北针的下方。
4.2 规划设计要点制图
在城市规划“一书两证”审批中,规划设计要点阶段作为建筑方案阶段的前置环节,主要包含对建设项目的交通组织、空间关系、间距退让等的控制性要求。这些要求是建设单位组织方案设计的依据,也是规划设计方案审查的基础。不同的建设项目的规划设计要求不同,因此规划设计要点制图需要根据规划要求动态生成包含文字内容的表格,并把表格与图形绘制到一张纸上,即要实现图表一体化的规划审批图件制作。同时,如果项目中没有某项要求,即该项要求的内容为空,则程序也需要作出判断并自动在生成的表格中省去该行。
插入图件中的规划设计要点表格与规划许可的标准格式一致,以A4为标准规格,置于图纸左侧。如图2所示。
图2 规划设计要点图框
4.3 超长幅面带状制图
在规划管理中,经常要对道路用地或市政管线进行规划审批。对于距离长、拐弯多等不规则走向的一条道路,需要实现打印之后,能够通过图纸对折,还可以拼接还原成实际走向的道路。按照此要求,在充分考虑功能人性化的基础上,我们设计了带状制图功能。用户只要沿着道路中心线画一条折线,并设置一定宽度,系统就会对每段折线生成指定宽度的多个图幅,每个图幅中的数据会自动旋转,最后生成一个超长幅面的、包含多个图幅的带状图框。其中,每个图幅都是通过一个独立的数据图框(Data Frame)来实现。如图3所示。
图3 带状制图图框
5 结束语
在现有的规划管理系统中,在GIS环境下进行图形整饰一直是薄弱之处。本文首次利用XSL语言来格式化和表现XML数据的优点,基于ArcGIS平台强大而丰富的接口,设计和实现了一种动态的图形整饰方法。该方法不仅满足了规划管理对生成复杂的审批图件的要求,更实现了图表一体的规划设计要点图框、超长幅面带状自动拼接图框等特殊的制图需求,为GIS在城市规划管理中的深入应用提供了一种借鉴。
[1]潘宸,谈帅,朱周华,等.地图整饰及打印模块的设计与实现[J].测绘与空间地理信息,2008,31(4):206-210.
[2]张新长.基于GIS的城市规划专题制图[J].中山大学学报:自然科学版,1997,36(4):94-98.
[3]习燕菲,曲良波.基于XSL的界面管理系统的设计与实现[J].青岛理工大学学报,2007,28(2):56-58.
[4]甘莉,李霖,尹章才.基于XSL的地图知识表达[J].测绘科学,2006,31(3):82-84.
[5]彭强勇,周卫,张彦彦,等.基于ArcEngine的地图整饰功能的实现[J].现代测绘,2007,30(4):42-43.
[6]ESRI中国(北京)有限公司在线支持中心.http://support.esrichina-bj.cn/.
Design and Implementation of Motion Graphics Finishing Based on Arc GIS and XSL
Chen Yong Cui Bei Guo Xuyou Zhou Changli
Abstract:Graphic finishing is a difficult piont in GIS system development.Through the analysis of the demands on urban planning approvals mapping,this paper introduced a new method,using XSL language based on the ArcGIS platform,to achieve a variety of frame styles for graphics finishing.By this way,not only the dynamic generation of finishing frame,legend and index map is realized,but also meet the map of planning and design essentials on the integration of drafts and charts and long-format strip mosaic map of the mapping and other special requirement.With its application in the Nanjing“Digital Plan”information platform,this method is proved to be able to meet complex graphics needs flexibly.It also has a good reference value to the development of similar systems.
Key words:ArcGIS;XSL Language;Graphic Finishing;Planning Approval Map
(本文原载于《地理与地理信息科学》2011年4月增刊)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。