ArcGIS制图表达Representation实战篇3-控制点
ArcGIS制图表达Representation实战篇3-控制点
by 李远祥
这一章讲述的是一个非常专业的名词,叫控制点。此控制点非测绘行业术语的控制点,而是制图表达里面的控制点,所以不能混为一谈。
在ArcGIS制图表达里面,控制点是一个非常有意义的存在。一般的情况下,我们是没能发现它的存在的,因为它很多时候都是默认作用在端点上。例如之前的实部相交的例子,模式的应用就直接作用在端点上,这个端点的实际意义,就是我们所谓的控制点,但其物理上不是控制点而已。
仔细想想就可以看出,制图表达上的控制点,其实就是规则和几何效果作用的起点。如果制图表达的效果默认是在端点启用的话,那么控制点就是在线上强制开启的端点,强制要求在该点上启用规则。首先我们来回顾一下之前的实部相交效果,

这个例子虽然在端点出实现了实部相交,但在其他的一些部分,还是出现了虚线很虚的状况,尤其是折点的位置,就如下图绿色圈住的部分。

我们最希望的就是在这些地方也能像两根线相交处一样,能够实现半模式的效果,这样就可以实现在折点处虚线也是实部相交。其实这个效果非常简单,就是使用控制点强行改变折点的属性,让其带有端点的效果。接下来我们可以看看怎么去操作这个步骤了。
首先,要将编辑工具和制图表达工具调出来,因为我们需要对线上折点进行编辑。开启编辑,并使用制图表达工具条的选择工具,选中摸一条线,进入节点编辑模式

留意其所有节点的显示状态,都是一个浅蓝色的正方向。接下来在制图表达工具条中点击钢笔符号,下拉选择工具类型,可以看到有几项关于控制点的选项

选择【插入控制点】工具,鼠标指针会变为其插入控制点状态,这样在线上任意一点点一下就可以插入控制点。这里对应的要求,就是在折点处插入一个控制点。用这个工具在线上蓝色正方形上点一点,这个正方型就会变成倒立的菱形。菱形就是控制点的显示符号。如下图所示

取消选择之后,就可以看到在这个折点处,也应用了半模式的显示,变成了是不相交。

其接下来的思路就是非常简单粗暴,控制点就像万金油一样,哪里需要就点哪里,这样通过增加控制点来实现折点处也是实部相交。当然也有人会问,如果有非常多的线和非常多的折点需要插入控制点,那岂不是非常麻烦?是的,不过,ArcGIS已经在一开始已经想到这个问题了,所以在制图工具箱里面已经加入了批量处理功能,而且还可以非常友好的处理角度。在【制图优化】-【按角度设置控制点】中,选中图层,然后输入一个最大的角度

点击确定后,马上可以看到整体效果,所有的折点处会插入对应的控制点,通过控制点来实现了所有的折点都是实部相交。如下图

这个工具是一个非常好用的工具,尤其是一些境界线,是有要求角度在什么范围内折点处必须是实部相交,通过这个工具可以非常快速的实现规范要求。当然,很多时候我们也可以学以致用,充分发挥自己的想象力。例如需要检查数据是否有尖锐的角度(一般是管线,因为管线很少会出现呈低于90度的交接的),所以,可以设置虚线端点处使用一个非常特殊的符号,然后使用半模式,通过上述工具,执行一个不大于90度的控制点批量插入。其最终会将那些尖锐角度的拐点全部检查出来。
虽然数据检查跟图关系不大,但实际上还是可以使用一些工具实现曲线救国的。所以说,很多时候技术只是支撑,关键是想象力和灵活运用。
顺便提一下,控制点是对规则应用的重新覆盖,所以数据会存入到override字段中。前面章节也提交过,override字段保存的东西越多,制图表达的性能就越慢,因此,对于覆盖的操作,不到万不得已,不要随便使用,也会给后期的修改带来一些麻烦。
在看下面一个例子,就是典型的模式+控制点的运用。一些国界类符号,有特殊显示的,要求在折点处变现的符号需要自动转变(跟规定的一般符号有一定的差异),如下图

这种到的工字形符号,在折点处除了要是不相交外,还需要保留一个完整的符号,并且符号两端需要与线方向保持垂直。这类型的规则其实并不懒,可以将其分解成两个层。一个是虚线层,就是使用我们之前说的半模式规则去实现。然在在顶上再加一个点符号层去表达,这个点符号层的模式、间距都必须跟线符号层保持一致。然后在【标记】的放置位置使用在端点处【两侧】显示,并勾选上与线成角度。

设置好这个规则之后,当然就是使用上面的工具批量插入控制点,这样就可以实现其效果了。至于其他的一些非常难实现的效果,例如山崖等,可以想想通过多种组合图层的方式,多种规则叠加方式去实现了。
同样的方式可以实现管线的效果,管点处使用的是一个符号,然后两端等距离处放一个特殊的符号,并与线成一定角度。如下图

其做法也是类似,只是有两个点来代替原来的一个点图层显示。

总结
总体来说,控制点可以实现以往非常多的难以实现的效果。它的规则的改变能力非常有效,并且辅助完成高难度动作。
ArcGIS制图表达Representation实战篇3-控制点的更多相关文章
- ArcGIS制图表达Representation实战篇4-自由式制图表达
ArcGIS制图表达Representation实战篇4-自由式制图表达 by 李远祥 上一章节关于制图表达的控制点中已经介绍过制图表达的编辑功能,利用制图表达的编辑功能,可以实现一些规则以外的效果. ...
- ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转
ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转 by 李远祥 上一章节主要是从实战中使用规则和几何效果,如何分解制图规则.本章主要还是通过一些特殊要求如河流线宽渐变和符号 ...
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
ArcGIS制图表达Representation实战篇1-边界线和行道树制作 by 李远祥 即便是有了一些制图表达的基础,很多人还是对ArcGIS制图表达理解停留在表面,因为没有实际的强化训练是很难体 ...
- ArcGIS制图表达Representation-符号制作
ArcGIS制图表达Representation-符号制作 by 李远祥 在ArcGIS的符号里面,存在着两种符号体系,一种是传统的标准符号体系,一种是制图表达符号体系.标准符号几乎被绝大部分ArcG ...
- ArcGIS制图表达Representation-规则和几何效果
ArcGIS制图表达Representation-规则和几何效果 by 李远祥 对制图表达运用是否纯熟,主要是看对制图表达规则的理解和巧妙运用.前面章节已经粗略介绍过制图表达的运用,通过一些简单的规则 ...
- ArcGIS制图表达Representation-制图表达使用须知
ArcGIS制图表达Representation-制图表达使用须知 by 李远祥 前面章节也介绍了一些制图表达的适用范围和场景,如果有觉得需要使用制图表达去完成其工作的话,还需要注意制图表达的一些技术 ...
- ArcGIS制图表达Representation-制图表达原理
ArcGIS制图表达技术-制图表达原理 by 李远祥 在讲述原理之前,需要对上一章内容进行一些必要的补充说明.既然制图表达有很多优势,是不是什么情况下都可以使用制图表达技术呢?如果有以下的一些特殊的要 ...
- ArcGIS制图表达Representation-制图表达介绍
ArcGIS制图表达技术-制图表达介绍 by 李远祥 在基于GIS数据的制图中,大部分都是使用的数据+符号应用的这种模式.这种模式已经被应用很多年,而且也是非常成熟.对应在ArcGIS体系里面,就是数 ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
随机推荐
- DNS相关配置文件
我们晓得主机名对应到 IP 有两种方法,早期的方法是直接写在档案里面来对应, 后来比较新的方法则是透过 DNS 架构!那么这两种方法分别使用什么配置文件?可不可以同时存在? 若同时存在时,那个方法优先 ...
- 五、pig学习
一.什么是pig 1.pig和sql.map-reduce的关系 来自为知笔记(Wiz)
- HTML编辑模式下制作表格
前面有朋友问如何做图文并茂的音乐帖子,的确音乐能以表格式做出来,更能让人过目不忘,何况帖子制作过程本身就是创作,包含了制作人对音乐的理解和爱好.以下简单介绍用代码HTML制作表格,希望对大家有所帮助. ...
- 支付宝WAP支付接口开发
支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...
- 【转】2015年薪酬大涨的15个IT岗位
近日,国外科技 IT 招聘公司 Robert Half 分析了 70 个科技职位后发现 2015 年从事 IT 从业人员的平均起薪将攀升至 5.7%,其中 15 个职位的提升潜力最大. 当企业在招聘过 ...
- php 模式
设计模式1.单例模式类的计划生育1.让该类在外界无法造对象2.让外界可以造一个对象,做一个静态方法返回对象3.在类里面通过静态变量控 class Dog { static $dx; public $t ...
- Asp.Net集群中Session共享
今天遇到了这个问题,于是研究了一下.要解决这个问题,首先就要明白一些Session的机理.Session在服务器是以散列表形式存在的,我们都知道Session是会话级的,每个用户访问都会生成一个Ses ...
- 深入理解yield(转)
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法.只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist(a ...
- C语言-结构体
C语言中数组是把相同类型的数据类型的变量集中在一起了,而结构体则是把不同类型的变量聚集在一起. 结构体也是一种数据类型,但是它是一种自定义的数据类型,也就是说和使用其他数据类型不一样,我们得先定义这种 ...
- java监听事件
2014年2月23日 09:51:54 成功添加了打开官网的事件, 回头研究下,那个打开url的类 java的System.getProperty()方法可以获取的值 ################ ...