ArcGIS制图技巧系列(3)—让地图更有立体感
ArcGIS制图技巧系列(3)—让地图更有立体感
by 李远祥
在前面的章节中,我们已经介绍过各种的地图效果,如发光效果,山体阴影效果,植被填充效果等,所有的这些效果不外乎是各种技术的叠加和技巧的使用,充分利用想象力去填充那些苍白无力的地图。本章我们要实现一个非常伟大的目标,就是给非常扁平的地图做一个”丰胸“和”抽脂“的整形手术,让它变得玲珑浮凸。下面我们来看一张扁平的地图。
上图是一张行政区划图,属于非常常见的地图,纵使配了色彩,显示效果还是非常一般。为了让它满足大众的审美要求,笔者决定拿起手术刀给它做一个整形手术。我们最希望看到的是这个样子的地图
下面来看看所做的一些操作。首先对这个数据做一个距离合适的【缓冲区】分析,这个地球人都知道怎么做。但我们做的是一个内缓冲,这种做法几乎是我这个主刀医生的惯用伎俩。选择一个适当的距离,然后做缓冲分析。
内缓冲之后结果如下,可以看到明显的与原来的底图构成了一个空隙,其实我们做内缓冲就是需要这个空隙。
接下来针对这个做了内缓冲的数据做一个【欧氏距离】分析,为了啥?就是为了暴露一个鲜为人知的秘密。这需要在spatial工具里面找到欧氏距离这个工具。别以为这个工具一般用在成本和统计计算,其实它的作用非常巨大。选择内缓冲的图层作为输入参数,并输入其他适当的参数(再次提到适当这个词,何为适当,就是多试几次,试到合适位置,就像挑衣服一样)
点击【确定】,最终生成欧氏距离。生成的结果有点丑,如下图所示。但是,将丑陋的地图变漂亮是笔者一贯的宗旨。
但是,将丑陋的地图变漂亮是笔者一贯的宗旨。接着,使用【数据管理】--【栅格】--【栅格处理】--【裁剪】工具,对这个欧氏距离的结果进行裁剪。裁剪需要注意一定的事项,处理范围选择最原始的行政区划图层,关键部分选中【使用输入要素裁剪几何】,如下图
通过裁剪,完整的勾勒出欧式距离的轮廓。
这个黑不溜秋的结果,就是一个栅格数据。直到之一步为止,我们做出来的一切都是狗屎,根本不知自己在做什么。但是,到了这一步,其实就是完成了所有的关键步骤了。其关键就是中间的这些边界共边处空出一些灰度值较低的空隙来。下一步又是发挥想象力的时候了,还记得【大明湖畔的夏雨荷吗?】,噢不对,是还记得前面的章节ArcGIS制图技巧系列(2)地形渲染 吗?对,就是它。我们可以借鉴前面的经验,通过这个栅格数据做一个山体阴影的效果。不只是地形才可以做哦,所有的栅格数据都是可以的,工具从来不会拒绝符合条件的参数。
如果效果要非常好的话,那么方位角和高度角两个参数都使用适当的数据。这里采用默认的就行。
到了这一步,这个美人胚子就雕琢得差不多了,可以给她穿上衣服了。就是将原来的图层叠加上去,调节行政区划图层的透明度。其他不相干的图层都可以移除掉。
最终掀开其神秘的面纱,可以看到其“玲珑浮凸”的身材。这就是一张漂亮的地图。
要是这个效果还不够,可以继续配置制图表达去完善一下,如下图
总结:
这个立体效果图依然还是借助ArcGIS强大的分析工具,通过非常巧妙的生成一些辅助数据进行辅助制图。其数据原理是跟植被填充效果一样,从无到有;其显示制作灵感则来自于地形渲染。这里所有的一切都是旧瓶装新酒,重新包装一下就可以出一个新的效果图了。因此,还是那一句话,制图技术是有限的,制图技巧是无限的,想象力是没有边界的。
ArcGIS制图技巧系列(3)—让地图更有立体感的更多相关文章
- ArcGIS制图技巧系列(2)地形渲染
ArcGIS制图技巧系列(2)地形渲染 by 李远祥 DEM数据是常见的地形数据,在GIS常规的制图中,DEM一直扮演着增强效果.由于带有高程值,DEM在很多情况下都在三维中显示,但这里主要介绍的是在 ...
- ArcGIS制图技巧系列(1)还原真实的植被
ArcGIS制图技巧系列(1)还原真实的植被 by 李远祥 在GIS数据中,植被一般都是面装要素的形式存在.很多人在使用植被渲染的时候,一般会采用填充符号去渲染.而在ArcGIS中,填充符号要么就是纯 ...
- (转)ArcGIS制图技巧
ArcGIS制图技巧(转载自新浪博客) 1 引言 1.1 制图的目的 随着GIS在各行各业的深入应用,各信息化部门和生产单位都逐渐建立起自己的GIS的应用,同时积累了大量的地理数据.随着应用深 ...
- ArcGIS制图表达Representation-制图表达原理
ArcGIS制图表达技术-制图表达原理 by 李远祥 在讲述原理之前,需要对上一章内容进行一些必要的补充说明.既然制图表达有很多优势,是不是什么情况下都可以使用制图表达技术呢?如果有以下的一些特殊的要 ...
- ArcGIS制图表达Representation-制图表达介绍
ArcGIS制图表达技术-制图表达介绍 by 李远祥 在基于GIS数据的制图中,大部分都是使用的数据+符号应用的这种模式.这种模式已经被应用很多年,而且也是非常成熟.对应在ArcGIS体系里面,就是数 ...
- ArcGIS制图表达Representation实战篇4-自由式制图表达
ArcGIS制图表达Representation实战篇4-自由式制图表达 by 李远祥 上一章节关于制图表达的控制点中已经介绍过制图表达的编辑功能,利用制图表达的编辑功能,可以实现一些规则以外的效果. ...
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
ArcGIS制图表达Representation实战篇1-边界线和行道树制作 by 李远祥 即便是有了一些制图表达的基础,很多人还是对ArcGIS制图表达理解停留在表面,因为没有实际的强化训练是很难体 ...
- iOS开发技巧系列---详解KVC(我告诉你KVC的一切)
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需 ...
- Android Studio使用技巧系列教程(二)
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46764575 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...
随机推荐
- maven 阿里云节点,速度快
修改maven根目录下的conf文件夹中的setting.xml文件. <mirrors> <mirror> <id>alimaven</id> < ...
- MYSQL一次性能优化实战经历[转]
每次经历数据库性能调优,都是对性能优化的再次认识.对自己知识不足的有力验证,只有不断总结.学习才能少走弯路. 一.性能问题描述 应用端反应系统查询缓慢,长时间出不来结果.SQLServer数据库服务器 ...
- python web开发基本概念
参考了廖雪峰的Python博客. web请求顺序: 浏览器发送一个http请求 服务器收到请求后,生成一个html文档. 服务器将html文档作为http相应的body发送给浏览器 浏览器收到http ...
- matlab unique 顺序不变
对于一个向量,使用unique去重后会自动排序,为了保持原顺序: A = [5,1,8,5,2,8,3,9,6,1];[i,j] = unique(A,'first');B = A(sort(j)); ...
- Spring AOP进行日志记录,管理
在java开发中日志的管理有很多种.我一般会使用过滤器,或者是Spring的拦截器进行日志的处理.如果是用过滤器比较简单,只要对所有的.do提交进行拦截,然后获取action的提交路径就可以获取对每个 ...
- iOS开发——汉字转拼音
以前有一次做一个天气预报的项目,有一个功能是输入城市名,请求该城市的天气,需要把汉字转化成拼音,比如深圳——>shenzhen,加入到参数中.当时在网上找了一下,网友给出的方法很多都用不了,现在 ...
- Unity3D ——强大的跨平台3D游戏开发工具(五)
第九章 图形用户界面类G.U.I 您在玩很多3D游戏的时候,不知是否注意到在游戏界面中,总有一些图形和文字信息是不随着3D视角的改变而改变的.这也是由于游戏本身的要求而决定的.比如说英雄的生命值,聊天 ...
- 5)Javascript设计模式:extends模式
简单的方式 function Person() { this.name = 'person'; } Person.prototype.say = function() {}; function Chi ...
- IM 融云 之 列表及封装
// // ChatListIMViewController.m // testRongCloudIM // // Created by WoodGao on 16/1/8. // Copyright ...
- Round Numbers(poj 3252)
题意:算出区间内二进制中0的个数大于等于1的个数的数字有多少个 /* 本来以为用数位DP搞,但是组合数更简单. 我们设n的二进制长度为len. ①:先考虑长度小于len的数字. 这里以数字22为例,二 ...