GIS制图人员的自我修养(2)--制图意识

by 李远祥

上次提及到GIS制图人员的一些制图误区,主要是为GIS制图人员剖析在制图工作中的一些问题。但如何提高制图的自我修养,却是一个非常漫长的过程,这一章主要为提升制图修养作一些理论铺垫。其中,最值得强调的就是制图意识。

什么是制图意识?就是当第一时间看到数据的时候,就立刻针对该数据做出反应,基本上形成初步的制图思路,并确定制图的技术路线。说到底,所谓的制图意识,对于制图界的老鸟来说,就是经验。但是经验往往是需要长时间的积累的。还有一种情况就是具有制图天赋的人,天生就具备这种敏锐的触觉。但不管怎样,意识都是虚幻的,都需要长时间培养。下面说说GIS的制图意识到底包括哪些。

意识1:层的概念

无论是使用GIS制图还是传统的图像处理工具进行制图,目前技术界几乎都以层的方式对图进行组织。为什么会达成这样的一个共识?那我们来剖析一下层到底包含哪些东西。在GIS中,很多关键技术都涉及到层,例如符号层、图层、数据层、地图元素层等。

首先,层是一个分类方法。几乎每一个GIS软件都会对层进行非常明确的要求和限制,数据的存储和组织都是以层来实现的,它的规则比CAD严格得多,所以很多人对于GIS制图觉得比较困惑。前些日子某高校的一位教授问我,她的学生都喜欢用CAD作图,她很不明白为什么他们更喜欢CAD。我当时跟她说了最基本的说法,CAD绘制出来的就是图,而GIS绘制出来的是数据,还需要针对数据进行制图。当然,这两种工具还是有很多地方不一样的,但针对作图,那区别就如我所说,GIS会相对麻烦和复杂一些,不想CAD那么自由。但正是GIS有其他特有的好处是CAD完全不具备的,所以才有非常多的人针对GIS数据去作图,做好前端的展示部分。GIS利用其层的方式进行数据的分类,其实非常方便后期的计算和处理,更具有规范作用。

其次,层具有位置特点,即上层压盖下层。在制图当中,非常多人讨厌这一天然存在的逻辑,因为要处理压盖是一件非常痛苦的事情。但实际上,正是这样压盖关系才让GIS的地图制作变得容易。例如下图是双线符号的设置,可以看到双线符号的本质就是两个具有一定线宽的线符号层相互叠加,上层压盖下层,这样便成了一个看起来像具有边线一样的符号。

还有之前的道路边线的例子,同样也是使用了层的压盖关系,只不过这种关系是同一个数据使用分别用两个层来渲染罢了。

层的压盖例子简直就是举不胜数,包括使用掩膜等方式也是非常优秀的压盖使用方式。所以,不要以为压盖就是坏事,在专业级的制图人员眼里,压盖就是一种天然的可利用的规则。如果没有这种意识,可能会错过非常多的制图捷径。

最后,层是可叠加的。叠加性质是用得最多的,不管承不承认,就算是毫无意识的去制图,也会使用到图层的叠加。例如最基本的将几个数据放在同一个地图上,这就成了图层叠加了。当然,有经验的制图人员还会告诉我们非常多叠加方式,可以完成几乎想象不到的效果。例如符号层的叠加,叠出漂亮的符号

有如通过叠加阴影数据和透明度使用,实现浮雕效果

又或者通过制图表达的图层进行叠加和处理,让地图看起来更加立体感一些。

这些无一不是使用了层的相关特性而做出的处理。有意思的是,几乎所有有特点的地图,都会巧妙的利用层的特性去做文章,并且将层的特性发挥到淋漓尽致。所以,我在这里为什么要首先提出层的概念,因为这是GIS制图的根基,而它脱离了GIS也能很好的存在,它并不是一个技术术语,而是一个最基本的名词,带有组织、压盖、叠加等基本属性的名词。

意识2:数据意识

为什么要提数据?因为GIS制图是针对数据的制图,几乎没有一个制图人员是从数据的矢量化开始,因为我们都会拿到数据之后才去制图,而不是像CAD一样直接绘制。那么,问题很快就来了。如果拿到数据就直接制图,那就会出现很多问题。有些人抱怨数据质量太差,不能根据数据制作地图;也有人说数据太少,地图比较空泛,看起来缺乏内容。多少年来,制图人员的这种“看菜吃饭”的做法相当不明智。虽然数据是制图的根基,但总不能让数据限制了地图的制图。例如在植被的制作章节《ArcGIS制图技巧系列(1)还原真实的植被》中提及到利用植被面去生成随即点做面上的灌丛效果,就是一次提升数据质量的做法。

有如前面所说到的地形渲染的方式《ArcGIS制图技巧系列(2)地形渲染》,利用原有的数据做简单的处理和叠加,就可以还原高低起伏的地形。

当然,还有一些就是需要自己对数据进行一定的处理,并且通过处理部分的辅助数据对地图进行润饰。例如通过计算面状数据的投影面,利用投影面进行叠加,让建筑看起来更加立体感(互联网地图就是这么干的)。

对于数据的使用和处理,其关键就是从无到有,从有到优。除此之外,就没有跟深奥的做法了。但能够通过数据处理的方式来提升地图质量,那是一种综合能力,是需要各方面的技能和技巧进行汇总的,一般制图人员很难做到。

意识3:思考和观察

思考和观察是最难的培养的制图意识。这里并不是说制图人员对于制图缺乏思考和观察,这里要表达的是更深层次的思考方式,可以理解为需要敏锐的制图嗅觉,并通过有效的观察和思考,去实现貌似不可能的地图效果。例如前面章节提及过的水立方的效果,就是通过观察水立方表面的纹理,思考通过泰森多边形来模拟,并借用制图表达的发光效果来实现,如下图

还有就是利用山体阴影可以实现立体效果这一潜规则,巧妙的利用内缓冲区和欧氏距离去生成栅格数据,最终实现浮雕效果,具体参考《ArcGIS制图技巧系列(3)—让地图更有立体感

所有的这些,都是需要大量的观察、思考、类比等过程,都是源于对数据的敏锐观察,也就是我在前面的说的数据意识基础上才能实现的。

意识4:巧妙利用工具

为什么是巧妙利用,而不是说熟练利用呢?这是有本质区别的。也许大家都听过卖油郎的故事,最让人熟悉的一句话就是“无他,手熟耳”。只有在对工具熟练的基础上,才会想到如何巧妙的利用他们。例如利用随点工具去生成随机植被点进行填充;上面提到的是内缓冲、欧氏距离、裁剪、山体阴影和叠加等实现立体浮雕效果。这些都属于出奇制胜的方式,没有谁规定制图不可以使用欧式几何工具吧,关键在于怎么用。地图的效果是否完美,关键就看这个工具是否用到妙处了。

总结:

关于制图意识,向来都是大篇幅灌输就能领悟到,重要的还是多练习多思考,通过在实践中一点一滴的去积累,并且融入到制图人员的意识中去。这样,制图意识就会在地图制作中不经意的发挥自己的作用。

GIS制图人员的自我修养(2)--制图意识的更多相关文章

  1. GIS制图人员的自我修养(1)--制图误区

    GIS制图人员的自我修养 by 李远祥 最近一直坚持写GIS制图的技术专题,并不是为了要介绍有什么好的技术和方法去制图,而是要告诉所有从事这一方向的人员一个铁铮铮的实现--要做好GIS制图,必须加强自 ...

  2. IT技术人员的自我修养

    1. 前言        在IT领域摸爬滚打多年,从一个普通程序员到技术主管,到技术经理,再到技术总监,踩过不少坑.加过不少班,也背过不少锅,在提升自身技术能力与管理能力的同时,也一直在思考,作为IT ...

  3. IT技术管理者的自我修养

    1. 前言 本来写<IT技术管理者的自我修养>与<IT技术人员的自我修养>是一开始就有的想法.但发表<IT技术人员的自我修养>后,收到了不少良好的反馈,博客园的编辑 ...

  4. 《web全栈工程师的自我修养》读书笔记

    有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...

  5. 全栈的自我修养: 001环境搭建 (使用Vue,Spring Boot,Flask,Django 完成Vue前后端分离开发)

    全栈的自我修养: 环境搭建 Not all those who wander are lost. 彷徨者并非都迷失方向. Table of Contents @ 目录 前言 环境准备 nodejs v ...

  6. 演员 Or 开发者的自我修养

    演员 Or 开发者的自我修养 时至今日,我都还是很怀念小时候与一群玩伴编写剧本.拍摄,那时候的我还有一个远大的"白日梦"--成为一名导演.很可惜,终究是"白日梦" ...

  7. 程序员的自我修养(2)——计算机网络(转) good

    相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...

  8. web性能优化 来自《web全栈工程师的自我修养》

    最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Java ...

  9. gcc ld 链接器相关知识,调试指令(程序员的自我修养----链接、装载与库)

    最近解决一个动态链接上的问题,因为以前从来没有接触过这方面的知识,所以恶补了一下,首先要了解gcc编译指令(makefile),ld链接器的选项(还有连接脚本section指定内存位置),熟悉查看连接 ...

随机推荐

  1. seajs的常用api简易文档

    目前使用sea.js的公司越来越多, 比如朋友网,阿里巴巴,淘宝网,百姓网,支付宝,有道云笔记等.模块化的javascript开发带来了可维护,可扩展性,尤其在多人协作开发的时候不用再担心文件依赖和函 ...

  2. 6、手把手教你Extjs5(六)继承自定义一个控件

    Extjs的开发都可以遵循OOP的原则,其对类的封装也很完善了.自定义一个控件最简单的办法就是继承一个已有的控件.根据上一节的需要,我做了一个Button的子类.首先根据目录结构,在app目录下建立一 ...

  3. javascript之日期对象

    学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在j ...

  4. C socket udp方式发数据

    #define HOST_SERVER_IP "192.168.3.35" #define HOST_PORT 9501 #define SLEEP_TIME 1 #define ...

  5. R语言实战(四)回归

    本文对应<R语言实战>第8章:回归 回归是一个广义的概念,通指那些用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量.效标变量或结果变量)的方法.通常,回归分析可以用来 ...

  6. RDA5820收音机芯片驱动

    RDA5820 是北京锐迪科推出的一款集成度非常高的立体声 FM收发芯片.该芯片具有以下 特点:   FM 发射和接收一体   支持 65Mhz~115Mhz的全球 FM接收频段,收发天线共用. ...

  7. ireport 取消自动分页,detail不分页,当没有数据的时候显示title

    报表文件属性页面 lgnore pagination 勾选上,就可以取消分页功能.

  8. svn 几个好用的命令

    Mac下操作的命令 1. 删除目录及子目录下,未添加的文件 svn status . | grep '^?' | awk '{print $2}' | xargs rm -rf 2.恢复根目录及子目录 ...

  9. jsp 获取应用目录

    ${pageContext.request.contextPath}  //   应用名为“demo1” 则得到的是"/demo1" <script>$(documen ...

  10. stm32实现待机唤醒

    STM32的低功耗模式有3种:1.睡眠模式(CM3内核停止,外设仍然运行)2.停机模式(所有时钟都停止)3.待机模式(1.8v内核电源关闭) 进入待机模式的方法,以及设置WK_UP引脚用于把STM32 ...