- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
矢量地图图幅裁剪技术研究
罗胜 郭海涛 张保明
(1 信息工程大学测绘学院遥感信息工程系 郑州市陇海中路66号, 450052)
摘要:本文针对矢量地图的图幅裁剪要求,讨论了目前矢量地图图幅裁剪的原理和方法,并提出了一种图幅裁剪的通用算法,适应于对矢量数据中的点、线和面数据的裁剪。实验表明,该算法运行快速,可靠性高。
关键词:矢量地图 图幅裁剪 节点 线段
所谓图幅裁剪就是将地图图廓线以外的矢量数据信息舍弃。对于矢量地图的图幅裁剪在GIS或其它相关应用中非常常见。在图幅裁剪中用到的二维图形的多边形窗口裁剪技术,是计算机图形学中的一项重要技术,目前对该类算法的研究也比较多,如Cyrus和Berk提出的Cyrus—Berk算法等。但是在进行矢量地图图幅裁剪的时候,如对面数据的裁剪,此类算法通常不能适应裁剪要求,需进一步研究。本文针对矢量地图图幅裁剪的特点,重点描述了其裁剪的原理和方法,并对涉及的点和线段裁剪算法做了具体的描述,最后给出了裁剪实例。
矢量地图的图幅裁剪原理和方法
矢量地图数据是以军标格式存储的,由十八个地物要素层构成,每个要素层分别有一个坐标文件和一个属性文件。矢量数据的裁剪与普通的图形裁剪有所不同,在裁剪操作时不仅仅需要考虑到坐标信息,同时也要保留矢量地图数据的属性信息。矢量数据的坐标信息是以点、线和面的方式分类存储的,所以也可以说对矢量数据的裁剪也就是对点、线和面的裁剪。
矢量地图点的裁剪
矢量地图中的点分两种:无向点和有向点。
对于无向点来说,对它的裁剪相对来说比较容易,只要判断出该无向点的坐标是否在裁剪窗口内部即可。
对于有向点,它是由一个定位点和方向点构成。对它的裁剪,首先判断它的定位点是否在裁剪窗口之内,如果定位点不在窗口之内,则认为有向点在裁剪窗口之外;如果定位点和有向点都在窗口之内则判断在裁剪窗口之内。如定位点在裁剪窗口之内,而方向点在窗口之外,需求出线段与裁剪窗口的交点,把它作为新的方向点并存储。
矢量地图线的裁剪
对于线和裁剪窗口的相交情况总体上可分成两种,一种是线被裁剪窗口分成了一条新的线,另一种就是线被裁剪窗口截断成多条线段,如图1:
L1
L2
1
2
3
4
5
6
P1
1
7
8
P2
P3
P6
9
2
3
4
5
6
7
8
9
10
P4
P5
图1 线段与裁剪窗口相交位置概略图
图1中线L1被裁剪窗口裁剪成了一条新的线。对该线的裁剪只要求出线段的进入裁剪窗口的入口点P1及出裁剪窗口的出口点P2即可,然后保存P1与P2之间的节点,组成新的线并赋原线的属性值并保存。对于线L2,被裁剪成两条线或两条以上的线,对它的裁剪过程如下:
判断该线的首点是否在裁剪窗口内,如在,计算出线的出口点,保存首点与出口点之间的节点,并赋原线的属性作为新的线存储;
如当前点不在窗口内,求其入口点,如P3。如果当前线直到最后一个节点都在窗口内,则保存入口点和其后的所有节点,作为新的线并赋属性保存,此时当前线裁剪完毕;如果有节点出窗口,则求出其出口点(如P4),保存入口点(如P3)和出口点(如P4)之间的节点作为新的线并赋属性保存;
当前点为出口点的后一个节点,计算后面的节点有无入口点,如无则当前线处理完毕;如有入口点(如P5),则进入步骤2;
直到最后一个节点判断完毕,则当前线全部裁剪完成。
矢量地图面的裁剪
面裁剪的情况与线裁剪相比,不同之处是多了面域点的生成和面的强制闭合。如图2所示:
D4
1
P2
2
3
D1
D2
D3
4
5
6
7
P1
P2
P3
P4
P5
P6
8
S
S’
图2 矢量地图面数据的裁剪示意图
图2中,面S的边线被裁剪窗口分成多条线段,最后裁剪完毕生成的面为S’,其裁剪操作步骤如下:
如果当前面S中当前处理的节点在裁剪窗口内,判断其后的所有节点是否在裁剪窗口内,如是则保存所有节点作为新的面的顶点,当前面也裁剪完毕;如否求出出口点并保存其间的节点作为新的面的顶点,转入步骤3;
如当前面的当前处理节点不在窗口内,求出后面节点的入口点,如无,则当前面全在裁剪窗口之外,退出裁剪操作;如有,求出入口点(如图2中的P1),转入步骤1;
判断前面裁剪中的出口点(如P2)之后的节点,如全在窗口外,则根据面域点与刚才保存的线段(如P1P2)的相对位置关系选择强制闭合线,如图2,如果面域点在线段P1P2的上面,则选择P1P2上半部分的裁剪窗口顶点作为强制线的顶点,反之取下半部分的顶点,此时当前面裁剪完毕;如当前节点后仍有入口点,求出入口点(如P3),转入步骤4;
如前出口点与当前入口点(如P2与P3)间不经过裁剪窗口的顶点,则保存此入口点到刚才保存的新面数据中,转入步骤1;如其间经过裁剪窗口的顶点,如P4与P5,则根据P4和P5之间的节点5、6与线段P4 P5的相对关系(位于相对上方或下
您可能关注的文档
- 企业对员工关怀工作总结.doc
- 企业效能监察工作总结.doc
- 企业招投标工作总结.doc
- 企业文体工作总结.doc
- 企业校园招聘工作总结.doc
- 企业民兵营长工作总结.doc
- 企业法律风险管理工作总结.doc
- 企业档案工作总结.doc
- 企业法制工作总结.doc
- 企业清欠个人工作总结.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)