如何增强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. CodeForces 621B Wet Shark and Bishops

    记录一下每个对角线上有几个,然后就可以算了 #include<cstdio> #include<cstring> #include<cmath> #include& ...

  2. 改变tabBarItem颜色

    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UICol ...

  3. IOS 清除UIWebview的缓存以及cookie

    cookie清除              NSHTTPCookie *cookie;            NSHTTPCookieStorage *storage = [NSHTTPCookieS ...

  4. Android之Margin和Padding属性及支持的长度单位

    做了个小软件后,终于把Margin和Padding弄清楚了,现总结如下: Android的Margin和Padding跟Html的是一样的.如下图所示:黄色部分为Padding,灰色部分为Margin ...

  5. 前端轻量级web进度条 – Nprogress & nanobar

    转载:http://www.xuanfengge.com/front-end-nprogress-and-lightweight-web-progress-bar-nanobar.html 前言 进度 ...

  6. 【java基础】接口VS抽象类

    1.至少有一个被abstract修饰的方法,同时修饰类名的类为抽象类,抽象的方法必须被子类覆盖,抽象的类必须被继承,抽象的类可以包含非抽象方法,只能单继承. 2.接口中所有的变量是static fin ...

  7. javascript-函数声明和函数表达式-call-apply

    1.函数声明与函数表达式 <script type="text/javascript"> //函数表达式,解析器在像执行环境中加载数据时,函数表达式是解析器执行到这段代 ...

  8. UVa 10057 - A mid-summer night's dream

    题目大意:给n个数,找一个数A使得A与这n个数的差的绝对值最小.输出A最小的可能值,n个数中满足A的性质的数的个数以及满足A性质的不同的数的个数(不必从这n个数中挑选). 看见绝对值就想到了数轴上点之 ...

  9. 使用YUIDoc生成JS文档

    其实YUIDoc主页已经写的比较清晰了,但有一些概念和细节再点出一些注意的地方. 目前最新的YUIDoc使用nodejs进行开发安装和使用都非常的方便. 我们只需要将我们的代码加上必要的注释,便可以很 ...

  10. 《R包的分类介绍》

    R分析空间数据(Spatial Data) R机器学习包(Machine Learning) R多元统计包(Multivariate Statistics) R药物(代谢)动力学数据分析包 R计算计量 ...