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

by 李远祥

在前面的章节中,我们已经介绍过各种的地图效果,如发光效果,山体阴影效果,植被填充效果等,所有的这些效果不外乎是各种技术的叠加和技巧的使用,充分利用想象力去填充那些苍白无力的地图。本章我们要实现一个非常伟大的目标,就是给非常扁平的地图做一个”丰胸“和”抽脂“的整形手术,让它变得玲珑浮凸。下面我们来看一张扁平的地图。

上图是一张行政区划图,属于非常常见的地图,纵使配了色彩,显示效果还是非常一般。为了让它满足大众的审美要求,笔者决定拿起手术刀给它做一个整形手术。我们最希望看到的是这个样子的地图

下面来看看所做的一些操作。首先对这个数据做一个距离合适的【缓冲区】分析,这个地球人都知道怎么做。但我们做的是一个内缓冲,这种做法几乎是我这个主刀医生的惯用伎俩。选择一个适当的距离,然后做缓冲分析。

内缓冲之后结果如下,可以看到明显的与原来的底图构成了一个空隙,其实我们做内缓冲就是需要这个空隙。

接下来针对这个做了内缓冲的数据做一个【欧氏距离】分析,为了啥?就是为了暴露一个鲜为人知的秘密。这需要在spatial工具里面找到欧氏距离这个工具。别以为这个工具一般用在成本和统计计算,其实它的作用非常巨大。选择内缓冲的图层作为输入参数,并输入其他适当的参数(再次提到适当这个词,何为适当,就是多试几次,试到合适位置,就像挑衣服一样)

点击【确定】,最终生成欧氏距离。生成的结果有点丑,如下图所示。但是,将丑陋的地图变漂亮是笔者一贯的宗旨。

但是,将丑陋的地图变漂亮是笔者一贯的宗旨。接着,使用【数据管理】--【栅格】--【栅格处理】--【裁剪】工具,对这个欧氏距离的结果进行裁剪。裁剪需要注意一定的事项,处理范围选择最原始的行政区划图层,关键部分选中【使用输入要素裁剪几何】,如下图

通过裁剪,完整的勾勒出欧式距离的轮廓。

这个黑不溜秋的结果,就是一个栅格数据。直到之一步为止,我们做出来的一切都是狗屎,根本不知自己在做什么。但是,到了这一步,其实就是完成了所有的关键步骤了。其关键就是中间的这些边界共边处空出一些灰度值较低的空隙来。下一步又是发挥想象力的时候了,还记得【大明湖畔的夏雨荷吗?】,噢不对,是还记得前面的章节ArcGIS制图技巧系列(2)地形渲染 吗?对,就是它。我们可以借鉴前面的经验,通过这个栅格数据做一个山体阴影的效果。不只是地形才可以做哦,所有的栅格数据都是可以的,工具从来不会拒绝符合条件的参数。

如果效果要非常好的话,那么方位角和高度角两个参数都使用适当的数据。这里采用默认的就行。

到了这一步,这个美人胚子就雕琢得差不多了,可以给她穿上衣服了。就是将原来的图层叠加上去,调节行政区划图层的透明度。其他不相干的图层都可以移除掉。

最终掀开其神秘的面纱,可以看到其“玲珑浮凸”的身材。这就是一张漂亮的地图。

要是这个效果还不够,可以继续配置制图表达去完善一下,如下图

总结:

这个立体效果图依然还是借助ArcGIS强大的分析工具,通过非常巧妙的生成一些辅助数据进行辅助制图。其数据原理是跟植被填充效果一样,从无到有;其显示制作灵感则来自于地形渲染。这里所有的一切都是旧瓶装新酒,重新包装一下就可以出一个新的效果图了。因此,还是那一句话,制图技术是有限的,制图技巧是无限的,想象力是没有边界的。

ArcGIS制图技巧系列(3)—让地图更有立体感的更多相关文章

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

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

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

    ArcGIS制图技巧系列(1)还原真实的植被 by 李远祥 在GIS数据中,植被一般都是面装要素的形式存在.很多人在使用植被渲染的时候,一般会采用填充符号去渲染.而在ArcGIS中,填充符号要么就是纯 ...

  3. (转)ArcGIS制图技巧

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

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

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

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

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

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

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

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

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

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

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

  9. Android Studio使用技巧系列教程(二)

    尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46764575 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...

随机推荐

  1. openstack controller ha测试环境搭建记录(二)——配置corosync和pacemaker

    corosync.conf请备份再编辑:# vi /etc/corosync/corosync.conf totem {        version: 2 token: 10000        t ...

  2. java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

    java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种 ...

  3. (简单) POJ 2750 Potted Flower,环+线段树。

    Description The little cat takes over the management of a new park. There is a large circular statue ...

  4. Ubuntu Nginx安装

    1.先更新ubuntu系统 更新命令 sudo apt-get update sudo apt-get upgrade 2 添加ubuntu nginx更新源镜像 cd /etc/apt/ sudo ...

  5. HDU 3903 Trigonometric Function

    这题真难,并不会推理... #include<cstdio> #include<cstring> #include<cmath> #include<algor ...

  6. IOS开发者证书申请及应用上线发布详解(2014版)

    其实一直以来我都想做一个最齐全的上传应用到appstore的教程,但一直狠不下心,今天凌晨2点12分,我鼓起勇气写教程,来吧不多说.登录开发者中心:http://developer.apple.com ...

  7. kvm学习小计

    1.Kvm安装 安装方法两种方式,一种是直接下载源码编译安装,一种是直接使用yum install kvm/apt-get install kvm,这部分就不详细说明了,我使用的是第二种方法,待后 续 ...

  8. leetcode--011 copy list with random pointer

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3UAAABjCAIAAACzC75sAAAMTElEQVR4nO3cyYHivBYG0D8n0nIojo ...

  9. Thinking in scala (3)----求平方根

    采用“牛顿法”求一个数的平方根 object sqrt { def main(args:Array[String])={ println( sqrt(args(0).toDouble)) }  def ...

  10. IOS开发-UI学习-UITabBarController的使用

    UITabBarController具体实例如下图 我们最常见的就是微信最下面的四个按钮,通过这四个按钮可以导航到不同的界面. UITabBarController是一个容器,以下的例程中给UITab ...