如何增强ArcGIS插值图出图效果

by 李远祥

在一些科研领域,经常会遇到使用插值的方式进行处理,并生成最终的插值图。插值图在ArcGIS里面非常容易生成,只要具备了采用点数据,通过ArcToolBox里面的插值的工具可以直接生成最终的插值数据。插值的方法有很多种,这里就不做介绍了。数据生成后,其地图制作也是相当的简单,只需要在符号系统的标签里面设置一下,并进行重分类,使用色带去渲染就可以完成。下图去掉一些地图的整饰元素,直接使用最原始的栅格渲染方式进行出图。

尽管这个图按照笔者的经验,将研究区域的边界加上去,并且标红,加入一些行政边界,出来的结果还是不够明显。需要考虑到色彩的过度,尽量使用两种颜色进行设计色带,无数次的调整之后,效果也只能像上图一样,表层像是有一层灰霾的感觉。区域数据如果分布的不错,效果勉强要好一些。但如果数据质量太差,或者整个区域插值差不了太多,效果就更糟糕了。

也有ArcGIS骨灰级的用户会说,将重分类的级别增大一点。但同样不能改变图片灰蒙的情况。这主要的原因在于ArcGIS在栅格渲染的状态下是针对象元值渲染的,其显示的是真实的数值;但毕竟人眼对于真实的一两个像素的显示本身并不敏感,再加上色带采用两种颜色过度,对于起伏不大的象元值,很难做到明显的区分。所以,要实现栅格渲染有一个非常不错的出图效果,那就只能求助于更加专业的图形处理工具PS了(尽管笔者十分不情愿做地图的二次加工,但在效果面前,都只能稍作屈服了)。

很多人认为PhotoShop非常专业,并不适合小白使用,但那只是过去时了,现在的PS版本加入了非常多的简单易用的功能,其效果也是非常的不错。对于一般的图像增强,几乎是不需要任何的学习(有点像传说中的白莲神功,即学即用^_^)。接下来看看如何在PS中做这些栅格地图的增强。

首先需要安装PS软件。可以到Adobe官网去下载PS软件,并注册一个账号,可以免费试用一段时间。笔者试用的就是PS2017最新版本,之所以试用该版本,是因为它引入了camera raw滤镜,这可是专业级别的处理算法哦。这里试用PS处理基本上分为两个步骤,一是对整体图像进行效果的增强处理,二是去除掉这一层该死的雾霾。

多年的地图制图经验告诉笔者,需要改善地图效果,不外乎就是色彩和叠加。还记得之前篇章上提及到的地形渲染,将等高线与DEM叠加显示,其效果比任何的等高线或dem单一显示要好得多。第一步的操作灵感也是来源于此。用PS打开ArcGIS导出的地图图片,使用多边形套索工具选中要处理的区域,然后在【滤镜库】中选择增强效果的滤镜

使用【强化边缘】滤镜,其参数设置可以使用默认,如果要求精益求精,那就自行调整这三个参数,如下图

最终的效果是显而易见的,就是在过度颜色的边缘处获取对应的像素大小,PS自动拾色,进行颜色发光,发光颜色近乎于过度颜色之间,具有非常好的效果,同时也会针对图形进行平滑,总体效果令人满意。只要做了这一步,整个地图就具备了一种梦幻的效果,确实是比之前的效果增强不少。当然,效果是因人而异的,这只是第一步,如果还需要对整体效果做得更加清晰,那可以在这个基础上再进一步处理。

接下来就是第一步去雾霾了。直接使用camera raw滤镜,相信很多摄影爱好者都比较喜欢该功能。

从界面中可以看到其非常多专业摄影处理的功能,但我们只需要使用一个功能足够,那就是在【fx】效果中设置去雾霾。

具体去雾霾的程度是多少,根据图片的情况进行处理。处理之后整个清晰度就变得非常高了。一般情况下到这一步就可以了。如果还考虑出版打印纸张、油墨等,可以对图片再加一些纹理,例如木纹或者砂岩等效果。其设置也是在滤镜里面,有纹理的选项,如下图

由于截图的原因以及博客对图片的一些处理,会让大家看到的跟实际上的有不少差别,但只要亲自尝试一下,就可以知道其效果有多好了。总体来说,使用PS去增强栅格制图效果,是不错的选择,尤其是对于需要打印出版的地图。

也有一些人需要对分幅地图进行处理的,这个也很好办,PS里面是有动作录制的,会将操作流程记录下来。可以在【窗口】菜单找到动作面板,开始处理的时候直接录制动作。在【文件】菜单中有【自动】--【批处理】功能

这个功能非常贴心,稍微研究一下就知道怎么用了。要是处理几百张图,基本上就是录制好动作就可以去喝咖啡了。

当然,只要不在同一个软件下做的事情,都会涉及到转换的代价。PS里面做的是效果,如果专题图中插入了文字标注,那上述的处理简直就是灾难。所以,笔者会将标注单独的生成一张图片,在出图之前需要将背景颜色调整一下(因为笔者的标注加入了白色掩膜),ArcGIS导出的图片是没有背景透明的,所以要通过PS叠加的话,要对标注的图片使用魔术棒进行去除背景的处理,处理后才能重新叠加到处理好的栅格图中去。这就是成本和代价!

任何事物都是两面性的,所以,在实际操作的过程中都需要慢慢去寻找规律。制图是一件苦差事,但掌握了规律之后,还是有不少乐趣的。

如何增强ArcGIS插值图出图效果的更多相关文章

  1. 使用arcpy.mapping模块批量出图

      出图是项目里常见的任务,有的项目甚至会要上百张图片,所以批量出土工具很有必要.arcpy.mapping就是ArcGIS里的出图模块,能快速完成一个出图工具. arcpy.mapping模块里常用 ...

  2. GIS案例学习笔记-ArcGIS整图大图出图实例教程

    GIS案例学习笔记-ArcGIS整图大图出图实例教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 1. 通过出图比例尺(1:2000),地图范围测算图纸大小. 图 ...

  3. 用最简单的代码写出banner图轮播效果

    以下视频是由[赵一鸣随笔]博客提供的“用最简单的代码写出banner图轮播效果”. 查看全屏高清视频,请点击链接:http://www.zymseo.com/58.html

  4. ArcGIS出图调整

    上周为了出一张高分辨率的结合表,大致学了一下出图的过程. (1)打开基础数据的图层属性栏,将某一项属性值显示出来,如下图设置: 注意,字体尽量设置得小一点,否则出图的时候,字太大,会很乱. (2)打开 ...

  5. 提高Mxd地图渲染出图效率的方法

    测试 在ArcGIS地图渲染非常耗时,特别是标注较多时,下面是做的一些性能测试   小结 1.地图渲染的数据量是显示出图速度的关键.主要注意: (1)与数据库存储的数据量关系不大.例如数据库有1万条数 ...

  6. ArcGIS Server的切图原理深入(转载)

    http://forum.osgearth.org/template/NamlServlet.jtp?macro=search_page&node=2174485&query=arcg ...

  7. 阿里AI设计师一秒出图,小撒连连惊呼,真相是...

    近期,央视<机智过人>的舞台上来了位“三超设计师”——设计能力超强:出图能力超快:抗压能力超强,成功迷惑嘉宾和现场观众,更让撒贝宁出错三连. 节目一开场,这位“设计师”就为现场嘉宾:主持人 ...

  8. Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离

    Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离,既不是DFS搜索,也不是BFS搜索. 把Dijkstra 算法应用于无权图,或者所有边的权都相等的图,Dijkstra 算法等同于 ...

  9. 4、cesium场景出图,打印图件

    cesium场景出图,打印图件 把3d渲染的页面进行截图,并可以下载到本地:代码如下: function printscreenScene() { var image = new Image();// ...

随机推荐

  1. (简单) POJ 1321 棋盘问题,回溯。

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  2. Struts2实现异步调用机制详细剖析(XML和JSON)

    一.使用XML传递 1.页面展示getXML.jsp <%@ page language="java" import="java.util.*" page ...

  3. iOS进阶

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:wjh2005链接:https://www.zhihu.com/question/28518265/answer/887505 ...

  4. JavaScriptConvert.SerializeObject转换出错

    The length of the string exceeds the value set on the maxJsonLength property(字符串的长度超过maxjsonlength上设 ...

  5. 安装php扩展后,执行时找不到扩展 class xxx no found

    当编译安装一个新的php扩展,例如安装redis, 安装后 执行 new Redis(), 如果发现找不到class Redis,可以先检查redis.so文件是否在php的扩展目录下, 如果发现是, ...

  6. jquery判断对象的type

    利用Object.toString.call()方法 看代码 先初始化class2type,将每种对象的toString后的值和type建立对应关系 core_toString.call([])输出& ...

  7. [TJOI2013]单词

    2755: [TJOI2013]单词 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 6  Solved: 3[Submit][Status][Web B ...

  8. iOS 消息推送原理及实现总结

    在实现消息推送之前先提及几个于推送相关概念,如下图:1. Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provider可以理解为服务 ...

  9. 菊花加载第三方--MBprogressHUD 分类: ios技术 2015-02-05 19:21 120人阅读 评论(0) 收藏

    上次说到了网络请求AFN,那么我们在网络请求的时候,等待期间,为了让用户不认为是卡死或程序出错,一般都会放一个菊花加载,系统有一个菊花加载类叫UIProgressHUD.但是我今天要说的是一个替代它的 ...

  10. CentOS 7 上面安装PowerShell

    看了文章 爱上PowerShell , 就想在CentOS 7上面试试PowerShell , 本文记录了在CentOS 7.2上安装Powershell 的过程. 首先我们要从github上下载最新 ...