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

by 李远祥

上一章节主要是从实战中使用规则和几何效果,如何分解制图规则。本章主要还是通过一些特殊要求如河流线宽渐变和符号的角度旋转,介绍制图表达的另外两项技术--规则覆盖和制图表达工具。

在制图表达原理的章节中已经介绍过制图表达的两个字段,rule_ID和override ,之后的章节都是围绕这规则来讲解(也就是rule_ID记录的规则),那么本章节就开始介绍override 字段所显示的内容。原则中,override 记录的是规则覆盖的内容。先来看看河流线渐变和测站符号垂直河流旋转的效果。

河流渐变效果

符号自动旋转效果

河流线渐变

首先来看河流线渐变效果。图上的效果是一种夸大的效果,主要是为了让技术人员能够看清楚其具体效果的变化。一般情况下,河流线的这种从发源处线条比较幼细,然后中游稍微宽大,下游逐渐变大的效果,会出现在小比例尺的大图中,基本上是使用线宽渐变的效果。

在传统的线符号显示中,主要是粗细均匀的显示。如果要实现线条粗细渐变,则需要采用制图表达的几何效果,用【锥状面】来渲染线条。在使用制图表达之前,首选要确保一项非常重要的事情,就是河流的流向必须是正确的。我们可以用gis数据的数字化方向来表达流向。下图是河流的标准符号显示

先给予河流一个特殊符号渲染,用箭头符号渲染它,箭头指向终点(即指流向),如果发现有错误的地方,通过编辑进行线要素的反向操作。

如果发现方向错误,用编辑器双击选中,使用右键进行反向。这一步非常重要,因为如果流向不对,或存在逻辑性错误,会导致后来的效果乱七八糟。

确保所有的流向都没有问题,那就可以切换为原来的河流模样,并转为制图表达

在制图表达规则中,增加一个面符号图层,设置为蓝色,并删除掉原来的线符号图层。

点击加号,增加【锥状面】效果

点击确定之后几乎出现让人崩溃的画面,如下图所示

这个其实不要紧,因为制图表达规则在每一要素之间都应用了规则。由于河流是分段,所以出现这种每一个线要素都是锥形显示。那么接下来就是使用制图表达的编辑工具进行制图表达的修改。在菜单空白的地方,右键调出制图表达工具,如下图

同时使用编辑工具打开编辑,这样,通过使用制图表达的选择箭头(是制图表达工具里面的褐色箭头工具,不是编辑工具里面的选择工具),选中后使用右键属性

在属性中切换到制图表达规则,修改这个规则,如果是中间部分可以改为两端大小一样,如下图,这样就有一个很好的衔接。

这些规则的修改,就是存储在override字段里面。所有的河段都修改之后,就可以出下图的渐变效果了。

如果觉得效果不是很明显,不够圆润,可以使用平滑效果进行处理。制图的工作本来就是挑刺和精益求精,所以,多试试其他的效果不是坏事。

如果仔细思考的话,会发现制图表达也有这个编辑工具,这个工具的作用可大了,后面的章节会有更多的介绍。只要是经这个工具编辑过的制图表达,就会存储在override 字段中。

符号旋转效果

某些时候需要针对点符号进行一定规则的旋转。例如水利专题图上就要求测站(等腰三角形符号)参考河流线垂直旋转。

根据标砖符号的方式,是需要增加一个角度字段,设置好角度值,使用符号的高级渲染进行按角度旋转。虽然这样做也能实现旋转,但毕竟每个角度都要手工输入,并且要细致调整,工作量比较大。当然,在标准符号里面笔者也写了个【快速制图插件】去实现这个功能,但如今告诉大家一个arcgis原生的工具也可以实现,不过就必须在制图表达里面才能实现。

首先需要将地图在标准符号下配置好,然后两个图层都必须转为制图表达。如下图

然后要设置地图的参考比例。参考比例可以理解为我们要制作地图的比例尺。例如要制作1:5w的地图,就先缩放到1:5w,然后数据框中设置为参考比例。如下图

然后可以在工具箱里面找到【制图工具】--【制图优化】--【对齐标记】工具,并且设置点符号图层和参考的线要素图层,给定一个搜索距离(如果点是落在线上,这个距离设置一个很小的值就够了,如果点落在线外,则根据自己的数据适当尝试不同的值)。

设置好后点击【确定】就可以了出结果了。笔者曾经在某某水利单位尝试过500个以上的测站,机会是秒算出结果。

之所以介绍这个工具,是因为其实用性很强。其他的一些制图表达工具可以在【制图优化】【制图表达管理】里面找到。其中制图优化里面还有一个【按角度设置控制点】,可以提前预示一下,这也是一个非常好的工具。后面的章节会有所介绍。

总结

从这两个实例中可以看到,制图表达其特性,既可以自由控制制图表达,同时也可以使用工具整体进行优化处理。

ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转的更多相关文章

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

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

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

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

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

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

  4. ArcGIS制图表达Representation-制图表达介绍

    ArcGIS制图表达技术-制图表达介绍 by 李远祥 在基于GIS数据的制图中,大部分都是使用的数据+符号应用的这种模式.这种模式已经被应用很多年,而且也是非常成熟.对应在ArcGIS体系里面,就是数 ...

  5. ArcGIS制图表达Representation-符号制作

    ArcGIS制图表达Representation-符号制作 by 李远祥 在ArcGIS的符号里面,存在着两种符号体系,一种是传统的标准符号体系,一种是制图表达符号体系.标准符号几乎被绝大部分ArcG ...

  6. ArcGIS制图表达Representation-规则和几何效果

    ArcGIS制图表达Representation-规则和几何效果 by 李远祥 对制图表达运用是否纯熟,主要是看对制图表达规则的理解和巧妙运用.前面章节已经粗略介绍过制图表达的运用,通过一些简单的规则 ...

  7. ArcGIS制图表达Representation-制图表达使用须知

    ArcGIS制图表达Representation-制图表达使用须知 by 李远祥 前面章节也介绍了一些制图表达的适用范围和场景,如果有觉得需要使用制图表达去完成其工作的话,还需要注意制图表达的一些技术 ...

  8. ArcGIS制图表达Representation-制图表达原理

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

  9. (转)ArcGIS制图技巧

    ArcGIS制图技巧(转载自新浪博客)   1  引言 1.1  制图的目的 随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据.随着应用深 ...

随机推荐

  1. window环境变量

    首先Window中有很多乱七八糟的路径变量之类的,归类下来有几类,主要是为了我们分清楚概念,以免搞的糊涂了. 1. Window系统的环境变量:顾名思义,就是系统级别的变量,或者利用我们编程的角度来讲 ...

  2. (简单) HDU 3397 Sequence operation,线段树+区间合并。

    Problem Description lxhgww got a sequence contains n characters which are all '0's or '1's. We have ...

  3. ymodem协议c实现(转)

    源:ymodem协议c实现 /****************************************Copyright (c)******************************** ...

  4. FZU 1397 保送

    网络流入门题. 源点到每一个学生连一条边,容量为1 每个学校到汇点连一条边,容量为L 符合要求的学生和学校之间连边,容量为1. 从源点到汇点的最大流就是答案. #include<cstdio&g ...

  5. IdTCP的C++Builder2010示例(转)

    源:IdTCP的C++Builder2010示例 IdTCP的C++Builder2010示例 这个是服务端的: void __fastcall TTCPDataServer::TCPServerEx ...

  6. stm8的独立看门狗与窗口看门狗

    STM8拥有两个硬件看门狗,分别叫做独立看门狗和窗口看门狗 独立看门狗的框图如下 我们可以看到,独立看门狗的时钟来自于LSI内部低速振荡器,经过二分频到达看门狗外设单元,在经过一个七位的预分频到达计数 ...

  7. SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解

    SpringMVC强大的数据绑定(2)——第六章 注解式控制器详解 博客分类: 跟开涛学SpringMVC   6.6.2.@RequestParam绑定单个请求参数值 @RequestParam用于 ...

  8. 实现基本TCP套接字客户端

    //实现基本TCP套接字客户端var net = require('net');function getConnection(connName){ var client = net.connect({ ...

  9. coding菜鸟养成记

    http://www.cnblogs.com/xdp-gacl/category/563690.html http://www.cnblogs.com/vincent-blog/p/4402327.h ...

  10. Splay初步【bzoj1503】

    做了一道水题,把bzoj1503用Splay重新写了一下. #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a; i ...