ArcGIS制图技巧系列(1)还原真实的植被

by 李远祥

在GIS数据中,植被一般都是面装要素的形式存在。很多人在使用植被渲染的时候,一般会采用填充符号去渲染。而在ArcGIS中,填充符号要么就是纯颜色,要么就是规则的渲染如行列距离多少、网状、斜纹等,具体的效果没有什么冲击力,往往达不到“望文生义”的制图效果。例如下图的植被,虽然使用了较为柔和的绿色去表达,图面没明显的违和感,但看起来未免有些单调。

制图是一个需要想象力的工作,我们只要在这个框架之下,发挥一下想象力,尽可能与实际情况还原或者相近,那就可以将绿地表现得淋漓尽致了。例如,我们在城市里面见到最多的成片的绿地,一般是公园里的绿地,这些绿地都是有一定的规律的,就是不是纯粹的草地,一般是草地上种上一些低矮的小灌丛,或是一两棵树。我们最希望出现的可能是下面的这种效果

有了这个想象力之后,那我们就可以做“无米之炊”。首先我们需要有这些灌丛或者树木的数据,这是个最基本的核心问题。那这些数据怎么来?难道要到现场去采集吗?制图工作的一个非常大的原则就是尽可能不增加数据的采集成本。其实没有人关心这些小灌丛和小树木是否落在真实的位置,也没有人真的关心它们的数量是否正确,只要这些小树在草地上一站,我们就能直观的认出这些绿地的类型了。这些小灌丛和小树木就是我们所说的制图上的“点睛之笔”。

现在的目标已经非常明确了,我们还需要一步就能突破这一张平凡的地图,就是从绿地中生成出这些无序的大小不一的植被点。这个工作需要相当丰富的制图经验的技术人员才可以顺利的参悟。首先看几个规则:

植被点不能超出植被面的范围。

植被点是位置随机的

植被点是大小随机的

植被点的符号是随机参杂的

这些所谓的规则,其实就是我们对这个制图效果的分解。在制作之前,心里面必须先有这么一张制作好的地图。然后才是每一个规则分别用技术来实现。

针对第一条规则,植被点不能超出植被范围,这个是一个常识性的隐藏条件。但由于GIS制作的地图符号和数据是分开的,那么,我们必须考虑这些植被点被赋予符号后是否会超出其边界。我们的做法非常简单粗暴,直接估算一下符号最大值时在当前比例下大约占多少地理距离。例如当前比例下,符号使用30大小,占用的大约为50米,那么,可以使用缓冲区工具来做一个往内收缩的缓冲区,呼喊冲的距离应该大于符号的二分之一,在这个场景中换算一下,就是不能小于25米。由于做的是内缓冲,因此,需要使用一个负数来作为参数。

将生成缓冲后的植被加入到地图中看看效果,边界上明显做了收缩,这就是我们需要的效果。

接下来就是针对第二条规则,植被点是随机放置在植被面内的。那么,我们就需要针对这个缓冲区生成一些随机位置的点数据。好在,这些数据不需要我们手动去编辑,ArcGIS在工具象里面有生成随机点的工具。如果不清楚工具在哪里,可以在菜单上【窗口】--【搜索】,然后检索关键字【随机点】,如图

点击搜索结果,弹出对应的工具。输入名称,约所范围必须指定为做过内缓冲的植被面,为了有更好的效果,我们可以根据经验去设置一个最小的距离,这样不至于植被点过密。

将生成的点加载到地图,目前看到的只是非常丑陋的数据,我们还需要给这个数据穿上漂亮的外衣。那就需要继续分解规则。

第三条规则就是植被点是大小随机的。那么这个大小随机的设置就涉及到符号的大小了。ArcMap在符号设置有有比较深层次的渲染隐藏,一般要转得比较深才能发现。我们先给这个点图层应用一个比较漂亮的符号,默认的单一符号都是同等大小的,如下图

那接下来需要进行深层次的改造。在【图层】--【属性】--【符号系统】--【单一符号】--【高级】选项下面,选择大小

然后设置随机大小的两个值,一个是最小值一个是最大值。这里的最大值就跟第一步里面的缓冲范围有关了。我们之所以要做内缓冲,就是担心这些点在半个符号大小的时候刚好越界,所以做内缓冲设计好了适当的距离。

点击确定之后,整体的效果就基本上出来了。这时其实就可以将内缓冲这个图层移除掉了,因为它只是做约束性的生成数据,不参与地图的显示,如下图所示

现在还需要更进一步的就是,现实环境绝对不可能是单一的植被,那么植被的多样性怎么处理。其实答案早已经在大家心中了。这就是第四条规则分解,植被点的符号是随机参杂的。那么我们只需要重复一下第二和第三步,然后在第三步中选择不同的符号即可完成。这里就不再多论述了。

为了减少所有的这些工作量,作者根据这些GIS制图的特性专门制作了一个快速制图插件,其中一个功能便是生成植被填充。通过简单的一步设置就可以实现该功能。

具体的介绍可以参考博文  http://blog.csdn.net/liyuanxiang1984/article/details/52774293   工具也提供下载,可以到 http://blog.csdn.net/liyuanxiang1984/article/details/52774297

ArcGIS制图技巧系列(1)还原真实的植被的更多相关文章

  1. ArcGIS制图技巧系列(2)地形渲染

    ArcGIS制图技巧系列(2)地形渲染 by 李远祥 DEM数据是常见的地形数据,在GIS常规的制图中,DEM一直扮演着增强效果.由于带有高程值,DEM在很多情况下都在三维中显示,但这里主要介绍的是在 ...

  2. ArcGIS制图技巧系列(3)—让地图更有立体感

    ArcGIS制图技巧系列(3)-让地图更有立体感 by 李远祥 在前面的章节中,我们已经介绍过各种的地图效果,如发光效果,山体阴影效果,植被填充效果等,所有的这些效果不外乎是各种技术的叠加和技巧的使用 ...

  3. (转)ArcGIS制图技巧

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

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

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

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

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

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

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

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

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

  8. iOS开发技巧系列---详解KVC(我告诉你KVC的一切)

    KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需 ...

  9. 【ArcGIS Server 开发系列】Flyingis六大系列讲座精品PDF奉献

    转自:http://www.cnblogs.com/gispeng/archive/2008/07/24/1250116.html [ArcGIS Server 开发系列]Flyingis六大系列讲座 ...

随机推荐

  1. List的输出方法

    1.for (int i = 0; i < list.size(); i++) {    System.out.println(list.get(i));} 2.List list = new  ...

  2. 必须熟悉的vim快捷键操作

    转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍:插入模式 和  命令模式 是vi的两个基本模式.——插入模式 ,是用 ...

  3. Android L(5.0)源码之图形与图像处理之动画——Frame、Tween、属性动画、SurfaceView

    工作中暂时还没涉及到,暂时先不总结

  4. 简单介绍java Enumeration

    Enumeration接口 Enumeration接口本身不是一个数据结构.但是,对其他数据结构非常重要. Enumeration接口定义了从一个数据结构得到连续数据的手段.例如,Enumeratio ...

  5. leetcode--003 LRU cache

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABHAAAACmCAIAAAA9PO+sAAAgAElEQVR4nO3du3HbytvH8X8zqoB12A ...

  6. 微信小程序之----组件

    1.view 把文档分割为独立的.不同的部分. view组件类似于html中的div标签,默认为块级元素,独占一行,可以通过设置display:inline-block改为行级元素. view.wxm ...

  7. ftp_get_file_and_directory

    class DirectoryItem { public Uri BaseUri; public string AbsolutePath { get { return string.Format(&q ...

  8. 【java基础】内部类,局部内部类,匿名内部类、静态内部类、接口中的内部类

    内部类: 1.定义在一个类中的内部类,内部类的实例化伴随着外围类所定义的方法来构造,内部类对象有外围类的隐式引用,所以内部类可以直接访问外围类的外围类的域,包括私有的,这是内部类的访问特权,所以比常规 ...

  9. Linux安装Tomcat外部不能访问

    Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@loc ...

  10. Voilin 之 握弓

    握弓要像拿杯子,手要圆:整个手型是左倾.