基于Coreldraw vbaGIS空间线数据自动光滑综合研究.docVIP

基于Coreldraw vbaGIS空间线数据自动光滑综合研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Coreldraw vbaGIS空间线数据自动光滑综合研究

基于Coreldraw vbaGIS空间线数据自动光滑综合研究   摘 要:地图制图出版对地图版面效果有着很高的要求,其符号、曲线、注记的配置与美观程度直接影响读图者的心里感受。Coreldraw软件因其强大的文字、曲线和效果编辑功能,深受地图制图者的喜爱。文章基于vba 二次开发,研究了GIS地理空间线数据在Coreldraw制图中的转化、光滑和自动综合等方法,极大减小了地理空间线数据在Coreldraw制图中的工作量,提高了制图质量、增强了图面效果。   关键词:Coreldraw vba制图;GIS空间线转化;自动光滑;线综合处理   中图分类号:P283.7 文献标志码:A 文章编号:2095-2945(2017)34-0016-02   1 GIS地理空间线数据与Coreldraw制图曲线比较与转化思路   1.1 GIS空间线数据图形特点   GIS地理空间数据库本质特征是基于图形的属性数据存储与查询,其空间线图形是以节点位置为单元的存储方式,按节点顺序以折线方式表达来符合地理空间线、面特征。其节点为直线型节点,节点无调节作用,仅限定直线段通过。空间特征表现越精确,图形节点数量越多,折线段量则越大。最大构成单个图元节点数量可高达十万个,文件大小至千兆字节。   1.2 Coreldraw制图曲线数据特点   Coreldraw制图线数据是一种非属性的图元结构。受地图图面表达美观、简洁的视觉要求限制,图形一般以节点控制的光滑曲线来表达,特别是中小比例尺地图制图,还必须对线、面等部分细微特征进行制图综合,保留优化后的宏观特征。其节点类型可分为尖突节点、平滑节点和对称节点3类, 受制图软件限制,Coreldraw文件大小一般为几百兆字节以内。   1.3 折线数据转化为制图曲线思路   由折线与曲线的特点和控制节点性质可知,折线转化为曲线,同时对节点类型转换,可实现曲线光滑处理。综合拉直按成图比例尺大小,根据地理空间线要素空间分布特点,删除不必要的细微特征控制节点,保留宏观特征节点,就可实行地图制图的曲线要素自动综合。   2 vba程序设计   GIS地理空间线数据在生产过程中,需按实际线状要素特点,使用折线近似平滑描绘真实空间走向,因此在Coreldraw软件中则要将折线转化为最广泛使用的贝赛尔光滑曲线,并对曲线中冗余节点进行删减,控制曲线特征节点手柄方向和曲率来表现真实地物的基本特征。   2.1 曲线转化及节点减少   经过空间处理的GIS线数据导入Coreldraw制图软件时为直线节点控制的折线段,必须进行曲线转化和节点处理,减少数据量(庞大的数据量对计算机性能要求很高,容易造成Coreldraw软件卡死),方便于地图制图。为便于制图者对每个线要素的关注和操作,保守的做法是采用先选取再处理的程式。具体实现主要代码如下:   For Each seg In ActiveShape.Curve.Segments   ‘枚举选中的每一条线要素   If seg.Type = cdrLineSegment Then sgr.Add seg‘将每条直线并入组集合   Next seg   sgr.SetType cdrCurveSegment   ‘直?组集合转化为曲线   sgr.NodeRange.SetType cdrSmoothNode   ‘设置组集合节点为光滑节点   ………   ‘设置光滑节点系数K,以达到折线数据拟合为贝赛尔曲线,代码如下:   For Each s In ActiveSelectionRange.Shapes   ‘枚举所选图形   If s.Type = cdrCurveShape Then   s.Curve.Nodes.All.Smoothen K   ‘按光滑系数K进行贝赛尔拟合   End If   Next s   ………   ‘曲线节点数减少可设置减少系数M调节,主要代码如下:   Dim M As Double   M = TextBox2.Value   If CheckBox3.Value = True Then   ActiveShape.Curve.Nodes.All.AutoReduce M   ‘按M系数对曲线上所有节点自动减少   End If   K值的不同,拟合的曲线有不同的效果,M不同,节点优化量不一。   2.2 中小比例尺曲线综合拉直   真实世界中地形地物千差万别,作为表现其特征的地图不可能有统一表示,地图创作的差别各源泉也主要反映在制图综合方面。本程序综合拉直功能算法从两方面进行考虑:一是根据依次递归控制曲线特征的3个节点Nodes(1)、Nodes(2)和N

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档