ArcGIS制图技巧系列(1)还原真实的植被
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)还原真实的植被的更多相关文章
- ArcGIS制图技巧系列(2)地形渲染
ArcGIS制图技巧系列(2)地形渲染 by 李远祥 DEM数据是常见的地形数据,在GIS常规的制图中,DEM一直扮演着增强效果.由于带有高程值,DEM在很多情况下都在三维中显示,但这里主要介绍的是在 ...
- ArcGIS制图技巧系列(3)—让地图更有立体感
ArcGIS制图技巧系列(3)-让地图更有立体感 by 李远祥 在前面的章节中,我们已经介绍过各种的地图效果,如发光效果,山体阴影效果,植被填充效果等,所有的这些效果不外乎是各种技术的叠加和技巧的使用 ...
- (转)ArcGIS制图技巧
ArcGIS制图技巧(转载自新浪博客) 1 引言 1.1 制图的目的 随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据.随着应用深 ...
- ArcGIS制图表达Representation-制图表达介绍
ArcGIS制图表达技术-制图表达介绍 by 李远祥 在基于GIS数据的制图中,大部分都是使用的数据+符号应用的这种模式.这种模式已经被应用很多年,而且也是非常成熟.对应在ArcGIS体系里面,就是数 ...
- ArcGIS制图表达Representation实战篇4-自由式制图表达
ArcGIS制图表达Representation实战篇4-自由式制图表达 by 李远祥 上一章节关于制图表达的控制点中已经介绍过制图表达的编辑功能,利用制图表达的编辑功能,可以实现一些规则以外的效果. ...
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
ArcGIS制图表达Representation实战篇1-边界线和行道树制作 by 李远祥 即便是有了一些制图表达的基础,很多人还是对ArcGIS制图表达理解停留在表面,因为没有实际的强化训练是很难体 ...
- ArcGIS制图表达Representation-制图表达原理
ArcGIS制图表达技术-制图表达原理 by 李远祥 在讲述原理之前,需要对上一章内容进行一些必要的补充说明.既然制图表达有很多优势,是不是什么情况下都可以使用制图表达技术呢?如果有以下的一些特殊的要 ...
- iOS开发技巧系列---详解KVC(我告诉你KVC的一切)
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需 ...
- 【ArcGIS Server 开发系列】Flyingis六大系列讲座精品PDF奉献
转自:http://www.cnblogs.com/gispeng/archive/2008/07/24/1250116.html [ArcGIS Server 开发系列]Flyingis六大系列讲座 ...
随机推荐
- Mysql的MySqlDataReader对于MysqlConnection是独占式
写Secondlife智能体的知识系统小插件的时候遇到的这个问题. 在把某个NPC的全部知识复制给另一个NPC的时候,对数据库操作,为了提升一点效率希望与数据库建立一次连接,全部添加进表以后再断开连接 ...
- heritrix1.14.4配置-没有add和change按钮的问题
今天搞了下heritrix1.14.4在eclipse下的配置,根据http://www.360doc.com/content/10/0913/18/2793979_53385587.shtml教程, ...
- Quartz.NET总结(一)
Quartz.NET总结(一) 前段时间,花了大量的时间,将原先的计划任务,切换到Quartz.NET来进行管理.原先的后台定时服务都是通过计划任务来实现的,但是随着业务增长,计划任务也越来越多,每个 ...
- html 设置页脚div一直在页面底部
先上代码 <!DOCTYPE HTML> <html lang="en" style="height: 100%; width: 100%;" ...
- iOS中GCD的使用小结
http://www.jianshu.com/p/ae786a4cf3b1 本篇博客共分以下几个模块来介绍GCD的相关内容: 多线程相关概念 多线程编程技术的优缺点比较? GCD中的三种队列类型 Th ...
- salt自动化部署
1. 到编译机器编译 /export/Deploy/vm-agent 执行脚本 ./vm-agent.sh develop -alpha 2.检查rpm包是否打包成功 http://172.18.13 ...
- Android与JNI(二) ---- Java调用C++ 动态调用
目录: 1. 简介 2. JNI 组件的入口函数 3. 使用 registerNativeMethods 方法 4. 测试 5. JNI 帮助方法 6. 参考资料 1. 简介 Android与JNI( ...
- WCF应用场景
WCF全称Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分.使用 ...
- Makefile常用调试方法
转载自 陈皓<跟我一起写 Makefile><GNU Make项目管理> GNU make 提供了若干可以协助调试的内置函数以及命令行选项. 1.warning函数 $(war ...
- python callable 函数
callable(object) 中文说明:检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojbect绝对不会成功. 注意:类是可调用的 ...