ArcGIS制图表达技术-制图表达原理

by 李远祥

在讲述原理之前,需要对上一章内容进行一些必要的补充说明。既然制图表达有很多优势,是不是什么情况下都可以使用制图表达技术呢?如果有以下的一些特殊的要求,那么,可以毫不犹豫的使用制图表达

•标准的符号(Symbology)不满足制图要求/规范

•一套空间数据,生产多种制图产品

•需要更加灵活的制图

•专业的地图制图出版

第一点是最需要权衡是否使用制图表达的,因为在ArcGIS制图体系里面,标准的符号技术已经能解决绝大部分问题,只要适当使用一些技巧,也就能无限的贴近制图规范。但是,如果通读了制图规范之后,发现有些符号规则是无法在标准符号体系里面实现的,那就只能考虑使用制图表达了。

第二点是制图表达的特点,允许将多个制图方案(或者说是多种配色风格)保存下来,并随时可以快速更改的,有这样的需求,应该果断使用制图表达。

第三点则是对地图本身的要求。如果希望像PS或coredraw那样灵活进行绘图和处理的,那么在ArcGIS中只能使用制图表达,制图表达里面可以进行自由的绘制和渲染。

第四点是具体的工作模式了,如果是用作专业的地图出版,那就要求非常高了,那就只能用制图表达来满足求生产要求。

制图表达能够很好的解决以下的几个大问题:

•制作更美观的地图

•满足精确定义的制图规范

•使用一套空间数据,生产多种制图产品

•减少人工制图编辑的工作量

•避免使用其他图形编辑软件来二次处理地图产品

只要确定了需要使用制图表达,那接下来就可以根据制图表达流程进行制作了。使用制图表达之前,建议是先做一部分的标准符号渲染,然后再进行转换,这样才可以减少相当一部分的工作量。下图是其基本的操作流程

最快捷的方式在图层渲染做好后,转换为制图表达,ArcGIS会默认分解原来的标准符号规则到制图表达规则中,这样可以减少一些规则的设置。在图层的右键菜单,选择【将符号系统转换为制图表达】,然后在弹出框中输入制图表达的名称,以及规则ID字段名、覆盖字段名,点击确定之后即可实现。如下图

RuleID字段和Override字段分别尤其特殊的作用。其中RuleID 字段是用作记录某个要素所使用的制图表达规则,Override字段则是个blob字段,用于存储制图表达规则特定于要素的覆盖值,那就是说,如果没有任何的规则适用,采用的是像手工编辑那样的修改,这个字段记录的就是这些没依规则的修改值,可以夸张的说,这个字段记录的就像CAD一样的信息。如上一章节提到的运动场的效果,就是完全记录在这一个字段中,ArcMap读取这个字段的信息进行了重新绘制。

制图表达是将其规则和图形绘制保存在数据当中,因此使用了制图表达之后的featureclass就不需要使用mxd来表现了,在数据加载的时候可以选择使用具体的某个制图表达来显示图层。如果一个图像像表达多种风格的话,可以再新多个制图表达,不同的制图表达是独立开来的,会在新的RuleID和Override字段中记录下来,就像下图,多个制图表达就是用多套RuleID和Override字段来区分。

可以看到下图就是多个制图表达记录在数据当中,可以通过左侧的制图表达进行选择进行切换不同的显示方案。

我们可以开看看一个简单的例子,做一个行政区面发光的例子。按照之前所说的流程,线将数据加入到ArcMap中,做一个唯一值渲染将不同的行政区进行区分,并转换为制图表达如下图

转换之后会默认增加一个图层,图层的名称为原来图层名称加上“_rep”,转换后可以将原来的图层删除掉。

在Rep图层中双击或者右键到图层属性,可以看到转换后ArcMap会将制图系统转换到制图表达中去。每一个规则就是当时使用唯一值渲染的唯一值进行区分。这就是我们为什么要先进行简单的符号渲染,然后才转制图表达的原因,确实省掉我们重新划分制图表达的工作。

每一规则都可以在属性值中查看出来,例如打开属性表,可以看到RuleID字段,Override字段默认是不显示的,可以在属性表设置【打开所有字段】来看到它。RuleID显示的名称都是以划分的规则名称名来记录(注意:这个名称不是制图表达规则,它是为了显示当前要素使用了哪一个规则集合而已,真正应用的规则不在属性表中查看)

制图表达规则的查看和设置,必须在制图表达的设置面板中进行设计。选中某一个规则名称,然后点击右上角的加号,弹出制图表达的规则集合,如下图所示

在制图表达中,没有标准符号那么严格规定,标准符号的使用都是严格的定义的,点要素只能用点符号渲染,线要素只能用线符号渲染。但制图表达不一样,它用的是规则,而不是符号,所以,面要素可以用面去显示,也可以用点去显示。每一个要素类型都可以自定义不同的符号,使用不同的规则进行组合。这对于初解除制图表达的人可能非常困惑,但一旦一起来的话,就会发现这些规则组合起来几乎解决了所有的符号渲染问题。

下面我们其中一类面分类进行一个缓冲区的显示,对面要去进行内收缩操作,这类似于使用buffer工具去处理数据一样,但制图表达中并不会产生新的数据。最终的结果就是导致了“江西省”在面填充部分对往边界内收缩了5pt(注意:制图表达设置的单位为pt,因此,在使用全必须先确定出图的比例尺,然后固定下来,各种设置值都要最终换算为pt单位)

其余的几个省份,我们也可以逐个设置铜同样的规则,这样线做成一个缓存面的效果。接下来可以设置不同的面效果,例如做发光效果其实就是一个色彩渐变的效果,可以在右上角的小箭头符号点击,选择【渐变】

渐变效果需要设置一些参数,如初始的颜色和变化的颜色,将颜色1设置为主要显示的颜色,颜色2为过度颜色,为了带到发光的效果,一般使用白色,这样的过度会相当不错

每一个类型都设置对应的渐变参数,最后效果可以看看

中间的这些空隙是专门留出来的,其作用是要做一个比较合理的阴影,让这些发光的面看起来更有立体感(这是制图人员的一种天生的直觉,做的时候就会预留下来)制图表达默认会将符号分解,例如面要素,自动分解为填充的面和线。上一步就是针对面进行了一些调成和设置。接下来就是对线进行一些调整。选中线符号,可以对线进行规则设置。例如这里就先对线进行颜色设置,然后添加一个规则,对线整体偏移一个距离,并调整颜色比原来填充的颜色深一个色阶。如下图,江西省区界加入了深颜色后,变得更有立体感一些。

接下来就是每一个类别设置一次对应的参数,设置好后,可以看看整体的效果

这里再回顾一下刚开始使用标准符号制作的地图,制图表达的视角效果是能够给人带来一定的冲击的。

标准符号渲染图

从上述例子可以看出来,制图表达的能力非常的强悍。在经过一定的训练之后,对这些规则掌握熟练后,几乎可以制作出PS类型的效果。

ArcGIS制图表达Representation-制图表达原理相关推荐

  1. ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转

    ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转 by 李远祥 上一章节主要是从实战中使用规则和几何效果,如何分解制图规则.本章主要还是通过一些特殊要求如河流线宽渐变和符号 ...

  2. ArcGIS制图表达Representation实战篇4-自由式制图表达

    ArcGIS制图表达Representation实战篇4-自由式制图表达 by 李远祥 上一章节关于制图表达的控制点中已经介绍过制图表达的编辑功能,利用制图表达的编辑功能,可以实现一些规则以外的效果. ...

  3. ArcGIS制图表达Representation实战篇3-控制点

    ArcGIS制图表达Representation实战篇3-控制点 by 李远祥 这一章讲述的是一个非常专业的名词,叫控制点.此控制点非测绘行业术语的控制点,而是制图表达里面的控制点,所以不能混为一谈. ...

  4. ArcGIS制图表达Representation实战篇1-边界线和行道树制作

    ArcGIS制图表达Representation实战篇1-边界线和行道树制作 by 李远祥 即便是有了一些制图表达的基础,很多人还是对ArcGIS制图表达理解停留在表面,因为没有实际的强化训练是很难体 ...

  5. ArcGIS制图之阴影效果的表达与运用

    一.运用制图表达进行投影表达 在专题图的制作过程中,经常需要将目标区域从底图中进行突显,运用制图表达制作图层投影可以较好地实现这一目的.具体步骤如下: 1.将目标图层存储于数据库中并加载至窗口(sha ...

  6. arcgis符号方向_ArcGIS制图表达-河流渐变与符号旋转

    在制图表达原理的章节中已经介绍过制图表达的两个字段,rule_ID和override ,之后的章节都是围绕这规则来讲解(也就是rule_ID记录的规则),那么本章节就开始介绍override 字段所显 ...

  7. GIS100例034—ArcGIS河流渐变效果(制图表达)

    01 前言 前面我们已经介绍了3几讲的制图表达内容: GIS100例--032ArcGIS制图阴影效果(移动几何)_GIS思维的博客-CSDN博客_arcgis如何设置边界的阴影效果GIS100例-- ...

  8. ArcGIS 每天一个高级制图技巧:开篇碎碎念

    # ArcGIS 每天一个高级制图技巧:开篇碎碎念 开篇说明 首先,在这个系列,我不会再写大片的教程和说明.碎片化的时代适合碎片化.精简的.易于理解的内容,所以在该系列中我就不会再长篇累牍的写作了. ...

  9. ArcGIS 每天一个高级制图技巧:2 浮雕效果

    ArcGIS 每天一个高级制图技巧:2 浮雕效果 文章目录 ArcGIS 每天一个高级制图技巧:2 浮雕效果 效果展示 实现方法 实现思路 实现代码 arctoolbox工具箱 结尾 效果展示 如题所 ...

最新文章

  1. iOS12系统应用开发基础教程发送邮件
  2. java并发之TimeUnit
  3. mysql物理优化_mysql物理优化器代价模型分析【原创】
  4. android 模块自动加载,Android 之ko模块的自动加载
  5. mac启动mysql,apache,php
  6. 作者:孙宗哲(1991-),男,东北大学软件学院硕士生
  7. spark 存入hbase_Spark DataFrame写入HBase的常用方式
  8. Linux下安装Apache Maven安装
  9. css3如何链如外部字体,微信小程序引入外部字体总结(针对安卓加载缓慢问题)...
  10. OC 内存管理之手动内存管理MRC
  11. Android应用方法数查看,查看size是否超过65k
  12. 机器人系统辨识——基于MATLAB的非线性系统辨识
  13. 精通Groovy_B 循环, 范围, 集合, 映射, 闭包, 类, UT
  14. Unity3D 2D游戏摄像机的跟随实现
  15. 雨水弃流装置详细说明
  16. ADRC自抗扰控制自学笔记(包含simulink仿真)(转载)
  17. 毕业设计 推荐系统设计与实现 协同过滤推荐算法
  18. 自定义Font Icon
  19. 整点报时 单片机 c语言,单片机整点报时编程
  20. 零基础学习数据分析,这篇文教你绕过这些坑

热门文章

  1. linux :Tar 命令参数详解
  2. 机器人SLAM建图地图类型讨论
  3. html源码加密ensure-china_php源码加密方法详解
  4. JSP 九大内置对象及作用域(源码刨析,建议收藏)
  5. 案例-两面翻转的盒子(CSS3)
  6. Open3d之自定义可视化
  7. python重构迭代_Pylint:让你的 Python 代码保持一致
  8. Spark Master资源调度--worker向master注册
  9. iOS 使用NJKWebViewProgress做webview进度条(加载网页时获取加载进度)
  10. Learning Modern 3D Graphics Programming笔记