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. OpenStack - liberty CentOS 7

    OpenStack私有云部署 Controller Node:       em1(10.6.17.11),em2() Computer Node:         em1(10.6.17.12),e ...

  2. heritrix1.14.4配置-没有add和change按钮的问题

    今天搞了下heritrix1.14.4在eclipse下的配置,根据http://www.360doc.com/content/10/0913/18/2793979_53385587.shtml教程, ...

  3. Eclipse PHP 代码无法自动提示函数

    在 linux 系统的 workwpace 里按 ctrl+h,显示出隐藏的文件,找到 .metadata 文件夹,然后将该文件夹删除,再重启 Eclipse 即可.其实它会将之前 Eclipse 连 ...

  4. 企业证书APP发布流程

    企业发布app的 过程比app store 发布的简单多了,没那么多的要求,哈 但是整个工程的要求还是一样,比如各种像素的icon啊 命名规范啊等等. 下面是具体的流程 1.修改你的 bundle i ...

  5. 横向滚动视图scroll-into-view不起作用

    横向视图scroll-into-view指定的id为hpink,但是效果图中显示的还是第1个view(未达到效果); 纵向视图scroll-into-view指定的id为yellowgreen,效果图 ...

  6. HTML5离线应用与客户端存储

    序言 本篇文章会详细介绍使用HTML5开发离线应用的步骤,以及本地存储与cookie的一些异同,最后利用上面所学例子来实现一个购物车场景. 使用HTML5离线存储的基本过程如下: 离线检测:首先要对设 ...

  7. 微信小程序之----加载中提示框loading

    loading loading只有一个属性hidden .wxml <view> <loading hidden="{{hidden}}"> 加载中... ...

  8. Java web入门

    1.java 设计模式:http://blog.csdn.net/JAVE_LOVER/article/category/2379703 2.Java web框架的思考:http://www.osch ...

  9. 【推荐】PHP中格式化时间函数date与gmdate的区别 | 修改PHP的默认时区

    PHP中的时间有2个格式化函数:date()和gmdate(),在官方的文档中的描述为: date -- 格式化一个本地时间/日期 gmdate -- 格式化一个 GMT/UTC 日期/时间,返回的是 ...

  10. object 类 toString() 和 equals() 的覆写

    基本作用: objiect类是所有类的父类. 任何一个类定义的时候如果没有明确定义了父类的话,默认父类是Object类. class A extends Object{} 在整个java里面,类的继承 ...