城市道路方面论文例文,与SVG格式地理元素分层相关论文答辩

时间:2020-07-05 作者:admin
后台-系统-系统设置-扩展变量-(内容页告位1-手机版)

本论文是一篇城市道路方面论文答辩,关于SVG格式地理元素分层相关毕业论文格式模板范文。免费优秀的关于城市道路及元素及水系方面论文范文资料,适合城市道路论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

摘 要提出了在SVG图形文件上直接进行地理元素分层的思路,对SVG格式地图分层进行了初步设计,提出了分层算法.经验证,算法是有效的.

关 键 词SVG;GIS;地图分层

中图分类号:TP3文献标识码:A文章编号:1671-7597(2014)09-0050-02

Abctract:IproposeanideatoclassifygeologicalelementsintolayersonSVG/XMLformatmaps,preliminarilydesignthewaytoclassify,thealgorithm.Theapplicationverificationshowsthatthealgorithmiseffective.

Keywords:SVG;GIS;Geologicalelementlayer

我们认为地图是由许多图形元素叠加组成的,每一类的图形元素都各具特点.将一些具有一定特征的图形元素划分在一起,就构成了“层”的概念.常见的地图图层有:河流层、道路层、绿地层、河流层、建筑层、行政区规划层等.图层控制的意义就在于,通过控制地图上元素可见性,在不同的缩放效果下,仅显示所需的地理元素,使地图显得详略得当.例如在一般WebGIS的地图中,不同的放大比例下,所显示的行政区划级别会有所不同.在不同的缩放比例下,显示不同的视图,对不同的地理元素进行筛选显示,可以使用户能有更好的体验.

在GIS中,SVG作为一种图像的表现手段越来越多被使用,但还并不普及;基于SVG信息存储和共享交互则更是有待更多研究.图像分层和地理元素查询等功能上,国内有大量研究成果.但国内大多数研究和解决办法仍是基于栅格等模型,SVG本身几乎只被用于图像表现.事实上SVG因其具有的优势,将其使用在GIS中更低的层级上是值得研究和考虑的.

本文结合国家地理元素分层标准以及SVG本身的特点,在SVG本身这一更低的层级上对地图分层,并验证了分层效果.

1元素的介绍

在SVG的树状结构中,元素的作用是,将一批特征类似的图像元素集中到一起.这恰好便于对SVG地图中的图层进行管理.元素不是图形元素,而是类似于一个容器.任意的图形元素都可以放在同一个元素下,从而成为一组;同时可以通过在元素内的ID属性来标识图层.元素的语法定义如下:

style-attribute等于”style-attribute”

transform等于”transformationmands”>

<!--group’scontenthere-->

元素本身不是图形元素,也不会显示出来,其样式属性会传递给它所有的直接子元素.SVG中每个元素都遵守CSS2的样式继承规则,即子元素的样式继承父元素的样式,但在子元素中定义的样式优先级更高.此外,元素支持嵌套使用,即可以对一个组里的元素按照不同的特征在进行分组细分.

元素作为图层的分隔容器,元素的内置ID值作为图层的指示牌是在SVG中达到分层目的的基本方式.

2图层分类规则及算法

依据《基础地理信息要素分类与代码》中定义,地理元素可以分为定位基础、水系、居民地及设施、交通、管线、境界与政区、地貌和植被等八大类,每个大类下各包含多个小类.例如定位基础大类包含测量控制点和数学基础两小类;水系大类包含河流、沟渠、湖泊、水库、海洋要素、其他水系要素、水利及附属设施八小类等.

由于名称长短不一,为了方便查找和匹配,使用二进制代码来代替复杂的英文字符名称就方便的多.根据图层的层级和个数,我们采用八位二进制代码来标识图层,前四位(0000XXXX)标识一级图层,后四位(XXXX0000)标识二级图层.依据如此编码,地图中最多可包含十六种图层大类,每个图层大类下最多可包含十六种图层小类,也就是说整个地图最多可有二百五十六种图层小类,完全可以满足图层分类的扩展需求.就以第二个大类水系及其以下的七个二级图层为例,前四位编码为0001,七个二级图层的后四位编码为0000至0110.具体表现如下:

水系图层

河流图层

水利及附属设施图层

SVG的本质是XML,SVG和XML一样是一种典型的层次树状结构,这种结构的文档,定位其某一个部分是比较容易的,因此控制也较容易.在SVG中,通过设置元素的Visibility属性可以实现对于元素的显示或隐藏.Visibility属性有两个值可供选择:默认值visible代表显示,而hidden代表隐藏.在SVG中,元素遵守CSS2的样式继承规则.因此,一般情况下,通过设置指定图层根节点元素的Visibility属性就可实现整个图层的显示或隐藏.但是,这种方法并不一定能保证整个图层行动一致,因为在子元素中定义的样式优先级高于父元素,图层中已经预先定义了Visibility属性的子元素将不受图层根节点元素的Visibility属性的控制.

我们可以对这种特殊情况进行特殊处理,除了设置图层根节点元素的Visibility属性,再处理图层中的所有事先定义了Visibility属性的节点.针对两种不同的情况,方法如下:Visibility等于”visible”

对于这种情况,需要在关闭图层的时候,使Visibility属性失效.而在打开图层的时候,使visibility属性值变回”visible”.

Visibility等于”hidden”

对于这种情况,正常情况下是不显示该元素的,故无论包含该元素的图层是隐藏还是显示状态,该元素均不显示.

整个地图分层的伪代码如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19ProcedureLayer(layername)

INPUTlayername:String

Begin

varTargetLayer等于find_node_by_name(layername)

ifTargetLayer.Visibility等于”visible”then

TargetLayer.Visibility等于”hidden”

traverseTargetLayerinlevel-ordersequence

letMbethecurrentunit

IfM.hasAttribute(“Visibility”)andM.Visibility等于“visible”then


城市道路学术论文撰写
播放:21892次 评论:7187人

M.removeAttribute(“Visibility”)

highlight_node(M)

endif

end-traverse

endif

else

TargetLayer.Visibility等于“visible”

unhighlight_nodes_under_layer(TargetLayer)

endif

End

3分层算法的验证测试

地图分层算法其基本思想是:利用SVG中的组元素进行分层,在已经用元素分好层的SVG地图中,通过修改节点的Visibility属性值实现地图的分层显示.初步实现后,需要对通常情况的分层进行测试,然后对本文提出的特殊情况(元素下包含预先定义过visibility属性的节点)进行测试.

通过以上分析,我们准备了两组数据,分别为Rects组、Circles组和Texts组,每组中包含三个对应的SVG元素.我们在Circles组和Texts组中,预先设定了元素的Visibility

图1分层验证测试文件的显示

属性.通过Rects组可以对通常情况进行测试,通过Circles组可以对特殊情况进行测试.通过Texts组对这两种情况进行综合测试.

通过以上分析,我们准备也测试数据,包含水系(包含河流)、交通(包含城市道路和乡村交道路)、植被与土质(包含城市绿地)三大图层.且对城市道路中的第一条道路没有预设“visibility”值,而第四条道路的visibility等于”hidden”,除此之外的所有图形元素都预设visibility等于”visibl

1 2

城市道路方面论文例文,与SVG格式地理元素分层相关论文答辩参考文献资料:

本科生写论文

吉林自考本科成绩查询

本科可以自考吗

本科生论文查重

本科论文致谢信

自考本科毕业论文要求

本科自考班

自考本科多少科

自考本科难考吗

中专自考本科

后台-系统-系统设置-扩展变量-(内容页告位2-手机版)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:123456789@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
后台-系统-系统设置-扩展变量-(内容页告位3-手机版)