地图之美(地图制图)

开篇

地图学是研究地图的理论、编制技术与应用方法的科学。 现阶段对地图学的定义是:研究地理信息的表达、处理和传输的理论和方法,以地理信息可视化为核心,探讨地图的制作技术和使用方法的学科。

从地图本身概念出发,地图是将客体(一般指地球)上的地理信息,通过科学的概括,运用符号系统表示在一定载体上的图形,以传递它在时间与空间上的分布规律和发展变化。因此,从功能和本质上来讲,地图是科学性的,它是描述地理信息在空间上的分布;从表现形式上来讲,地图是富有艺术性的,它由抽象化的符号系统构成。制作地图好比创作一幅自然人文的绘画,将地球上某个区域某个时期自然、人文的剪影精致地描摹下来。绘画讲究色调、颜色、纹理、笔触、明暗和构图的和谐统一,制作地图同样也适用。富有艺术气息的地图能够激发人们的审美情感,在视觉上产生一种美的艺术共鸣。(下图是使用数字高程模型制作的水墨画)

 

地图的历史

地图有将近4500年的历史,那时人们开始用各种方式,对自身周围的环境进行空间图像的原始记述。地图的制作材料有陶片、纸草,铜板、椰枝、石块、兽皮等,现保存下来的最为古老的地图是公元前25~前23世纪巴比伦人绘制在陶片上的地图。

  

《巴比伦世界地图》,现存于大英博物馆

公元前四世纪,阿里士多德证实地球是球形的,并提出了维度思想,发明经纬线网格刻画地图。公元前二世纪,天文学家克劳狄乌斯·托勒密依据地球的球形理论完成了一部著作,题为《地理学指南》。《地理学指南》用希腊语写在纸草卷上,分8个部分,归纳了1000多年以来希腊关于已知世界大小、形状和范围的思考,在西方影响达一千年之久。不过,《地理学指南》认为地球居于中心,日、月、行星和恒星围绕着它运行,该地心学说直到6世纪中哥白尼的日心说发表,才被推翻。

拜占庭《地理学指南》中的世界地图,该地图对地球的估算过低,误导哥伦布确信他向西航行不远就能到达亚洲,阴差阳错,他航行到了美洲。

这副地图的北方在地图顶端,重要的地区有地名标注,并且是根据经纬网格绘制的。和柏拉图这样的希腊前辈一样,托勒密认为地球是圆的,并且利用这个网格来解决将球形的地球投影到平面上的难题。托勒密的著述在全面介绍地球和说明如何描述地球方面是空前绝后的,这些论述让《地理学指南》成了现代制图术的先驱。

公元三世纪,中国的裴秀编制了《禹贡地域图》和《地形方丈图》,提出了“制图六体”,这是中国古代关于地图编制原理的最精辟论述,形成东方独特的地图技术途径,对中国古代地图制图学的发展产生了深远的影响。

在这期间,阿拉伯处在东西方贸易交往的交通要道上,它把中国古代的发明辗转传人西亚和欧洲等地,也给中国带来先进知识和宗教文化,在不同文明之问搭起了文化交流的桥梁,对世界文化的传播与交流作出了重大贡献。同样东西方的地图思想和技术也得到了交流与传承。
1405~1433年中国航海家郑和七下西洋,反映下当时西洋情况的《郑和航海图》是中国现存最详尽的古代航海图,也在世界上开创了使用航海图的先河。此后,航海图随着葡萄牙、西班牙、荷兰和英国等各国航海探险和海上霸权争夺而迅速发展。

1569年,墨卡托设计了正轴等角圆柱投影,并第一次把东、西半球已知范围展现在一幅地图上。这种投影的地图能为航海者提供直线导航,作为航海图被普遍采用,被命名为“墨卡托投影”。墨卡托的工作被誉为16世纪欧洲地图学的里程碑,他的地图集开创了世界全图的新投影,反映了当时欧洲地图发展的特点。随着航空和航天的需要,后续多种横轴和斜轴的墨卡托投影相继出现。

公元1600年以后,意大利传教士利玛窦在中国学者的支持和合作下,他利用西方和东方的世界地理知识汇编成《坤舆万国全图》。该图标有当时新发现的大洋和大洲等区域概念,以及地中海、罗马、古巴、加拿大等中译名;同时把张衡浑天仪上使用的南极、北极、赤道等名词应用于地图。欧洲的地图测绘技术,传播到了中国后,清朝测绘了《皇舆全览图》和《大清一统舆图》,这些奠定了中国近代地图的科学基础。19世纪中叶,中国采用梯形投影,绘制了当时较完善的亚洲地图。

1909年,国际地理大会对地图分幅、地形表示、城镇分级、地名等作出了统一规定。后续又对分层设色、公制单位等标准作了修订,并拟定了独特的地图投影和全球的统一分幅编号。这些措施对地图的国际化和标准化产生了深远影响,大部分国家也接受了地图统一的国际分幅编号。地质图、人口地图、土地利用图、森林图的国际合作编制工作和分类,图例系统标准化的研究,都取得很大的进展,地图进入工业化大生产和社会商品化的阶段。

温克尔三重投影

1909年美国的莱特(W.Wright)第一次从飞机上对地面拍摄像片。1932年第一次运用航空摄影制图,它使人类可以脱离地面利用高空平台来测绘地图,从根本上改变了近300年来形成的地形图测绘生产过程。航空摄影几乎完全取代了经典的平板测绘,广泛应用于国家基本地形图以及城市、农田水利、森林矿山的各种大比例尺地图的测绘。

1960年,美国军方研发出了第一个世界大地测量系统(WGS60),它是一个以质量为中心的基准面(相对重力为中心),对洲际弹道导弹的目标定位和侦察卫星的发展具有战略意义。此前的大尺度座标系统都无法涵盖全球范围(比如NAD),这被很多人认为是美国在冷战期间最大的科学成就之一。抛开研发初期的军事目的和政治目的来看,这一成就确实给地图和GIS带来重要的应用,现在遍地开花的LBS应用是基于WGS84座标系做的,它的前身就是WGS60,后来成为了民用GPS的经典。

1972年,世界上第一颗地球资源勘测卫星发射成功,人类得以从外层空间来观测整个地球。陆地卫星、气象卫星和海洋卫星作为新型的地图信息源,具有快速、准同步和大面积覆盖的显著特点,可提供空前巨大的地图信息,使地图学呈现新的发展。

2000年,谷歌地球和谷歌地图发布,地图第一次通过互联网方式展示全世界的地图,地图的使用范围已经超出了传统的意义。在谷歌公司的眼里,谷歌地球和谷歌地图并不是传统的地图,而是搜索引擎,是各类信息的载体,是流量的入口。地图不再是专业人员的专利,广大市民也可以通过电子地图改变消费和出行的方式。

地图使世界各安其位。从早期的陶土地图到现在的电子三维地图,地图越来越接近地物最真实的那一面。尽管在这漫长的探索过程中,地图学家们在用他们奇大的脑洞努力填补那些地图上空白的地方时,出现过许多失误,不过这些失误又随着人类不断地开拓和狩猎新的领地而不断得到修正。自然界从未划定任何区域,现在的地图布满了大大小小的城市和居民点,带有强烈政治意图的疆界线表明了不同国家统治的地理版图,而这些无心插柳柳成荫的地图疆域也最终会成为历史。

è¿éåå¾çæè¿°è¿éåå¾çæè¿°è¿éåå¾çæè¿°

 

联合国logo

 

思维误区

看惯了某类常识性的地图,如世界地图,也多少有人误以为世界是亚欧大陆板块为核心的,以至于我们忘记了世界的另一极:美洲大陆的存在,好像它总是偏居一隅的,尽管在长达几千年的人类历史进程中,记录都是以亚欧大陆的文化为底本,从投影的世界地图上也较难想象欧洲与美洲是如何交流的(大西洋被切割了)。不容质疑的是,现代的世界却是美洲的美国在主导潮流。

就像新闻报道中常常提及的中东、远东地区,有多少人会知道那是以欧洲人的视野看待亚欧大陆阿拉伯、俄罗斯的最东部区域,我们也会习惯性地说上北下南,如果是一直以下面这种地图方式表现,又会是如何。

 

尺度划分了国家,也划分了同质性和异质性的区域,尺度对空间的概括使得地球表面无限的多样性变得井然有序,不同的地图反映了我们观察空间和解释世界的方式,地图复制了自然、人类、自然与人类相互作用中的快照(叫做snapshot或者landscape都行)。

非洲语言区

 

那些美丽又新颖的地图

1、萤火虫地图

2、矢量方向图

3、流量图

4、热度图

5、立方图

6、夜光图

7、花瓣图

 

美感地图制作

制作美感的地图,不仅需要有艺术细胞,还需要有耐心,当然,对于工具的掌握也是必不可少的。

8、DEM渲染图

DEM渲染图是利用数字高程模型(DEM)表达地形的一种常见地图,综合运用了光照、阴影、色彩分层、透明度等技术使得地图看起来美观、立体而富有层次感。

设置色带

在拿到一个DEM栅格地图后,就可以着手DEM渲染图的制作了。点击图层下面的色带,选择一个适合的色带对DEM进行调色。

当然在符号系统中也可以对DEM的数值进行分类,ArcGIS一般将分类值定为5~32数值,你可以选择不同的方法进行分类展示DEM数据。

增加阴影图层

增加一个阴影图层,使得DEM富有层次感,点击“ArcToolbox”→“3D Analyst工具”→“栅格表面”→“山体阴影”,在弹出的“山体阴影”对话框内输入加载的高程DEM,设置方位角、高度角和“z因子”(夸张因子),并将阴影图放置于dem栅格数据上层。

图层叠加

在生成的阴影图层上点击右键选择属性,在“显示”选项卡上设置透明度(10%~50%),点击“确定”后可以看到已经生成了一层比较真实的地形,DEM渲染图制作完毕。

9、射线图

制作一张放射图,首先需要一个从起点到终点的数据,在这个例子里,我们把北京和其他各国家的首都连接起来,通过结果可以看到帝都与各首都之间航线的轨迹和距离,这里我们主要是利用ArcGIS的一个工具——XY to line。

数据准备

XY to line工具所需要的输入是一个表格数据(.xls,.csv,.txt,.dbf均可以),必需的四个字段是每个点对的XY起止座标,如下图所示,XCoor为各首都的X座标,YCoord为各首都的Y座标,BJX为北京的X座标,BJY为北京的Y座标,这里采用的是WGS 1984的座标系统。

数据处理 

打开XY to line工具,设置如上图,在Line Type中有四个选项,这里我们选择的是GEODISIC,ID字段设置为大洲,目的是为了保留该字段,以便将来按大洲进行符号化。

  GEODESIC:测地线,椭球体表面上两点之间的最短连线

  GREAT_CIRCLE: 大圆航线,通过两航路点间的大圆圈线(该两航路点与地心在同一平面)

  RHUMB_LINE(loxodrome line): 等角航线:是地球表面上与经线相交成相同角度的曲线。在地球表面上除经线和纬线以外的等角航线,都是以极点为渐近点的螺旋曲线,在航海图(采用墨卡托投影)上又表现为直线

  NORMAL_SECTION:法截弧,A点的法线与B点确定的法截面与椭球相交的弧线

偶尔换个视角也不错,例如我们把Data Frame的座标系统换一换,再按大洲做个符号化:

10、浮雕图

浮雕地图与DEM渲染图类似,都需要人为制造阴影和光照效果,此类地图对于大面积的图块效果较好,当然如果是建筑物,只需要做一个阴影偏移就好。

加载原始矢量数据province

配置浮雕底面

内部缓冲区图层生成:

在ArcToolbox中打开Buffer工具,输入要素选择province图层,Distance设为-4000(生成内部的缓冲区,需设置成负值),Side类型选择FULL,Dissolve类型选择ALL,生成内部缓冲图层province_Buffer:

浮雕阴影生成:对生成的缓冲区使用Euclidean Distance工具,计算距离面边界的距离,再用Extract by Mask 工具,用原来的面要素类裁剪距离栅格。单击Environments,弹出Environment Settings窗口,单击Processing Extent,在Extent下拉列表中选择Same as layer province,设定数据处理的范围与province相同,生成新的栅格图层EucDist_prov4。

在ArcToolbox中打开Extract by Mask工具,输入栅格选择EucDist_prov4图层,掩膜数据选择province图层,裁掉边缘数据,生成新的栅格图层Extract_EucD1。

在Arctoolbox中打开Hillshade工具,输入数据选择Extract_EucD1图层,其他参数默认,生成新的栅格图层HillSha_Extr1。

至此,浮雕的底面已经完成。

配置面状符号

如果需要使图面更加好看,可以在provence缓冲图层上配置面状符号。在内容列表中,右键单击province_Buffer图层,选择Properties;打开图层属性窗口,切换到Symbology页,选择Feature->Single symbol,双击符号,弹出Symbol Selector窗口;单击Edit Symbol,弹出Symbol Property Editor窗口,增加两个符号图层,顶层为Marker Fill Symbol,在Marker Fill页选择十字符号,大小为4,颜色为黑色,在Fill Properties页设置X、Y方向间隔为6,底层为Simple Fill Symbol,颜色为深灰;

配置上层类别分类层次

在内容列表中,右键单击province图层,选择Properties,在Symbology页,选择Categories->Unique values,字段选择NAME,双击符号,设置符号样式,在Display页,设置图层透明度为30%,在内容列表中调整图层顺序,将province图层移至最上方,其次是province_Buffer图层,再次是HillSha_Extr1图层,查看地图符号化效果。

浮雕地图生成完毕。

看完了以上三幅地图的制作,或许会让人感到既枯燥又乏味,这也只是看而已,在真实的操作过程中,需要不断的尝试,才有可能获得一张比较漂亮的地图。

 

制图的细节技巧

ArcGIS的制图表达介绍

现在普遍使用计算机制图,传统意义上的计算机制图方式使用数据+地图文档的模式,这种方式能够保存数据和地图的独立性,任何的地图渲染都不会影响数据本身。上述三幅图的制作基本上也是使用这种方式,针对不同的数据类型配置不同的地图符号,使得原本“丑陋”的数据变得美观。但这种模式有普遍存在一些难以解决的问题,就是地图的展示规则过于依赖数据,例如唯一值渲染需要有分类的字段,图标渲染需要多个数值型字段等;符号规则相对简单,一些特殊的符号形式很难通过标准的符号技术实现;对于具有非常严紧规范的地图生成(如出版地图)来说,表现能力还是不足够。

其实,ArcGIS的制图表达技术确实是一项很好的技术,在图形的表达上有跟多的优势,其表现能力可以更加接近现实世界,只不过长期以来少有人关注。

     左边第一张图是GIS数据,数据是点线面基础图形,原则上是不带任何的符号和色彩的,为了显示数据,GIS软件会默认给定数据一个符号。

      中间的图是初步可以称得上是地图,因为已经根据其数据的特性进行了符号配置,例如河流用蓝色线符号表示,绿地用绿色面状填充表示。

      右边的那种图就是用了制图表达之后的地图,从图上可以看到河流已经应用了一些跟现实相似的规则,河流发源部分符号相对幼细,下游部分相对宽广,线要素就用了一个逐渐变宽的面来表达。

      从这三张图可以看到,数据、地图、制图表达的区别。制图表达使用后,地图的显示更加接近现实规则。制图表达技术通过一些列的规则来约束地图的显示,这些规则可以相互的叠加使用,从而实现不同的显示效果。

上图是行政区划的面状表达,传统的方式是非常扁平的色彩渲染,用纯色去显示行政区面。利用制图表达,可以实现类似coredraw的色彩渐变和发光效果,关键是我们使用的是GIS数据,而不是在一个制图软件中重新绘制这些图形去实现。

 

    再来看这个建筑面,在制图表达中使用了简单的规则,就可以使二维的建筑面看起来具备简单的立体效果。

 

上图是一个运动场的效果,左边是原始数据,右边是经过制图表达处理后的地图,右图更加接近现实效果。

制图表达使得地图就变得更加直观, 能够很好的解决以下的几个大问题:

•制作更美观的地图

•满足精确定义的制图规范

•使用一套空间数据,生产多种制图产品

•减少人工制图编辑的工作量

•避免使用其他图形编辑软件来二次处理地图产品

 只要确定了需要使用制图表达,那接下来就可以根据制图表达流程进行制作了。使用制图表达之前,建议是先做一部分的标准符号渲染,然后再进行转换,这样才可以减少相当一部分的工作量。下图是其基本的操作流程

      最快捷的方式在图层渲染做好后,转换为制图表达,ArcGIS会默认分解原来的标准符号规则到制图表达规则中,这样可以减少一些规则的设置。在图层的右键菜单,选择【将符号系统转换为制图表达】,然后在弹出框中输入制图表达的名称,以及规则ID字段名、覆盖字段名,点击确定之后即可实现。如下图

      RuleID字段和Override字段分别尤其特殊的作用。其中RuleID 字段是用作记录某个要素所使用的制图表达规则,Override字段则是个blob字段,用于存储制图表达规则特定于要素的覆盖值,那就是说,如果没有任何的规则适用,采用的是像手工编辑那样的修改,这个字段记录的就是这些没依规则的修改值,可以夸张的说,这个字段记录的就像CAD一样的信息。如上一章节提到的运动场的效果,就是完全记录在这一个字段中,ArcMap读取这个字段的信息进行了重新绘制。

      制图表达是将其规则和图形绘制保存在数据当中,因此使用了制图表达之后的featureclass就不需要使用mxd来表现了,在数据加载的时候可以选择使用具体的某个制图表达来显示图层。如果一个图像像表达多种风格的话,可以再新多个制图表达,不同的制图表达是独立开来的,会在新的RuleID和Override字段中记录下来,就像下图,多个制图表达就是用多套RuleID和Override字段来区分。

可以看到下图就是多个制图表达记录在数据当中,可以通过左侧的制图表达进行选择进行切换不同的显示方案。

      我们可以开看看一个简单的例子,做一个行政区面发光的例子。按照之前所说的流程,线将数据加入到ArcMap中,做一个唯一值渲染将不同的行政区进行区分,并转换为制图表达如下图

转换之后会默认增加一个图层,图层的名称为原来图层名称加上“_rep”,转换后可以将原来的图层删除掉。

      在Rep图层中双击或者右键到图层属性,可以看到转换后ArcMap会将制图系统转换到制图表达中去。每一个规则就是当时使用唯一值渲染的唯一值进行区分。这就是我们为什么要先进行简单的符号渲染,然后才转制图表达的原因,确实省掉我们重新划分制图表达的工作。

      每一规则都可以在属性值中查看出来,例如打开属性表,可以看到RuleID字段,Override字段默认是不显示的,可以在属性表设置【打开所有字段】来看到它。RuleID显示的名称都是以划分的规则名称名来记录(注意:这个名称不是制图表达规则,它是为了显示当前要素使用了哪一个规则集合而已,真正应用的规则不在属性表中查看)

      制图表达规则的查看和设置,必须在制图表达的设置面板中进行设计。选中某一个规则名称,然后点击右上角的加号,弹出制图表达的规则集合,如下图所示

      在制图表达中,没有标准符号那么严格规定,标准符号的使用都是严格的定义的,点要素只能用点符号渲染,线要素只能用线符号渲染。但制图表达不一样,它用的是规则,而不是符号,所以,面要素可以用面去显示,也可以用点去显示。每一个要素类型都可以自定义不同的符号,使用不同的规则进行组合。这对于初解除制图表达的人可能非常困惑,但一旦一起来的话,就会发现这些规则组合起来几乎解决了所有的符号渲染问题。

      下面我们其中一类面分类进行一个缓冲区的显示,对面要去进行内收缩操作,这类似于使用buffer工具去处理数据一样,但制图表达中并不会产生新的数据。最终的结果就是导致了“江西省”在面填充部分对往边界内收缩了5pt(注意:制图表达设置的单位为pt,因此,在使用全必须先确定出图的比例尺,然后固定下来,各种设置值都要最终换算为pt单位)

      其余的几个省份,我们也可以逐个设置铜同样的规则,这样线做成一个缓存面的效果。接下来可以设置不同的面效果,例如做发光效果其实就是一个色彩渐变的效果,可以在右上角的小箭头符号点击,选择【渐变】

     渐变效果需要设置一些参数,如初始的颜色和变化的颜色,将颜色1设置为主要显示的颜色,颜色2为过度颜色,为了带到发光的效果,一般使用白色,这样的过度会相当不错。

每一个类型都设置对应的渐变参数,最后效果可以看看

      中间的这些空隙是专门留出来的,其作用是要做一个比较合理的阴影,让这些发光的面看起来更有立体感(这是制图人员的一种天生的直觉,做的时候就会预留下来)制图表达默认会将符号分解,例如面要素,自动分解为填充的面和线。上一步就是针对面进行了一些调成和设置。接下来就是对线进行一些调整。选中线符号,可以对线进行规则设置。例如这里就先对线进行颜色设置,然后添加一个规则,对线整体偏移一个距离,并调整颜色比原来填充的颜色深一个色阶。如下图,江西省区界加入了深颜色后,变得更有立体感一些。

接下来就是每一个类别设置一次对应的参数,设置好后,可以看看整体的效果

ArcGIS制图表达使用条件

1.数据源

      由于制图表达是需要维护一些列的制图规则,并且保存在属性表里面。为了提升其性能和管理方便,esri做了一些技术限制,就是传统的shapefile不支持制图表达,必须是使用Geodatabase数据格式。这有点类似annotation的做法,必须在gdb里面存储,一旦转换为shapefile之后就失效。Geodatabase的支持包括personal Geodatabase、filegdb、sde 。但如果按照性能来看,还是filegdb和sde要优胜很多。

2.软件许可限制

      如果要使用制图表达的话,建议还是使用ArcInfo级别的arcgis桌面软件。因为不同的许可也做了一些限制。例如ArcView级别的就只能查看制图表达,不能做任何的制作和修改,ArcEditor级别许可,可以做管理和制作,常规的处理一般在这个级别上就可以是实现了。但如果要使用全部的功能,包括制图表达的工具箱工具,那就必须是ArcInfo级别。

3.存储方式

      制图表达的结果是存储在数据里面,并非存储在mxd中,因此,制图方面的改动都会涉及到数据。如果有数据权限管理方面的规范的,一定要小心使用,特别是制图的时候还需要跟数据库管理员进行沟通(ArcSDE用户),是否开通数据编辑的权限。制图表达只要完成了制图,就跟mxd没任何的关系,什么时候都可以快速切换制图显示。

4. 性能

      制图表达由于是使用了规则进行了地图的重绘,因此会根据规则的复杂度会有不同的性能损耗。特别是一些复杂的渲染,如色彩渐变效果就是特别占用性能的;还有一些面要素填充规则,一旦填充的面积特别大,按照填充规则填充的内容特别多,性能就会非常慢。因此,如果是做信息系统的开发等,不建议使用制作表达去制作地图。如果是做地图出版和打印,这些最终结果是图片的话,那制图表达是不错的选择。

ArcGIS的制图表达使用详细阐释

 对制图表达运用是否纯熟,主要是看对制图表达规则的理解和巧妙运用。前面章节已经粗略介绍过制图表达的运用,通过一些简单的规则可以实现比较理想的出图效果。但是,对于一些复杂的现实效果和制图规范来说,简单的规则的使用是远远不够的,还需要对制图规范和制图符号进行分解,然后使用各种制图表达规则进行重建。要熟悉制图表达规则,首先要清楚制图表的图层。下图是一个面要素类的制图表达。

      在设置面板的下部,可以看到点、线、面 图层的添加按钮,全部都是可以点击。在制图表达里面,这三个按钮都是常亮模式。意味着无论是点线面的要素类,它们的制图表达可以用的规则图层都是没有限制的。这跟标准符号的模式完全不一样,可以看出制图表达的制图规则自由度非常的高。

      中间部分就是规则图层,可以通过点击下部的符号图层进行增加。一个制图表达里面可以增加非常多的规则图层,如下图,多个点线面的符号图层都在同一个符号图层中表示出来。

规则图层都有默认的全局设置。例如点规则图层,默认是标记符号的大小、角度、放置等的设置。线规则符号的全局设置线宽、端头、连接和颜色。面规则符号的全局设置就是单色模式下的颜色设置。

如果我们希望使用制图表达去实现面状填充的工作,那可以通过在面要素的制图表达里面增加点规则图层,做一个位置随机和大小随机的填充。

 首选增加一个点的符号规则,选择好适当的符号,然后在设置里面【面中心】的小三角符号点击一下,弹出【标记放置】规则,选择【在面内随机放置】。

      选择好放置规则之后,可以看到整个设置界面都发生了变化,针对随机放置,可以设置xy的步长值,如果不希望在边界处出现半个符号的现象,可以设置【不显示解除边界的标记】

      接下来我们可以看看实际的效果,只是出现了一些位置的随机,符号的大小设定为原来的10pt,感觉还远远没有实现我们想要的效果。

      别看这个小小的规则好像不成什么气候,不能实现具体的效果,但作为制图人,应该有这天生的制图直觉。我们可以想象一下以前在标准符号系统里面是怎么实现符号规则的,其根本原理跟制图表达的规则是一样的,归根到底就是【层】这个概念的理解。无论是地图、符号、图层组全部都是层的概念,所以,制图表达里面,我们可以使用多个制图表达的符号层来叠加,实现复杂的表达。例如,我们可以再增加一层点的规则,调整符号的大小、随机位置和随机种子等,从而实现符号大小随机。

再看其显示效果,通过两层符号规则的叠加,看起来实现了大小和位置的随机。

如果再加一层不同的树种,模仿一下植被的多样性,那就再加一层符号,修改一下符号就行。如下图所示

     上述例子看到看到制图标的规则都是最为原始的加减乘除算法一样,只要合理的组合起来,就可以完成非常复杂的制图效果了。但正是由于规则的粒度非常细,控制非常灵活,所以,对于没有制图经验的技术人员来说,要从一个符号规范直接分解为制图表达规则,还需要长时间的锻炼和强化。这也就是为什么制图表达比较难推广的原因。

      前面看到的设置都是制图表达的全局规则。除了全局规则之外,制图表达还有【几何效果】。全局规则都是非常粗略的规则设置,拿标准符号的线符号进行类比,全局规则就有点像【简单线符号】,而几何效果就像是【制图线符号】里面的模版一样。

      几何效果的作用更加类似与toolbox里面的一些处理工具,toolboxl里面的工具几乎全部都是直接作用在数据之上,会产生新的数据,对于制图来说,还需要增加图层和符号来约束其效果。制图表达的这些几何效果就不一样了,它是动态计算的,不会生成新的数据,而是在规则的rule_ID里面保存这些规则配置。

      虽然几何效果不多,但几何效果有一个特点,就像PS里面的滤镜一样,可以进行相互叠加,这是一种排列组合的机制,看似不多的几何效果,其实组合起来是非常多。例如我们可以对面做一些效果,多个效果进行叠加,例如先做平滑,然后简化。如下图

又或者是先简化后平滑,虽然两者的参数是一样,但几何效果的顺序不一样,可以看到规则的示意图也是不一样的,如下图所示

      所以,从这些简单的规则和几何效果的使用来看,制图表达在这方面虽然很简单,但实际很强大。这里面非常需要有丰富竟然的制图人员进行规则的分解和重构。只要制图人员有足够的想象力和分解能力,可以根据制图表达实现几乎所有的地图效果。

 

边界线实部相交制作

 很多人在使用ArcGIS的标准符号去显示虚线边界的时候,会发现虚线在边界的交汇处,其显示是随机,如下图

      但只要地图范围改变一下,这个交接的部分就会反生变化,其表达同样不理想。使用制图表达可以解决这个问题,因为制图表达有这非常严禁的规则约束。

      根据之前章节介绍的使用制图表达的流程,先在标注符号设置符号的显示,然后将其转换为制图表达,再对制图表达进行规则的修改,这样可以免去在制图表达中重新设置符号的一些工作。当然不是说在标准符号设置了就不用再在制图表达里面设置了,而是简化了一些操作步骤而已。转换为制图表达之后,来看看效果。

      在制图表达的规则设置里面,默认根据标准符号进行了默认的转换设置(如果不做设置的话,新建的线规则图层就是实现符号),根据虚线的设置,默认增加了虚线的几何效果,并在【模式】中设置 了实部和虚部的长度。这个实部和虚部就是我们说的虚线的长度和间隔。如果觉得这个模式不合理,可以点击模式的数字位置,进行重新修改。例如,我们要修改为虚实相等的虚线符号,如下图设置

      在默认设置中,【端点】显示为【无约束】。这个【无约束】其实就是在端点出没有任何的规则进行约束显示,其效果就像标准符号里面的虚线一样,但由于没有任何的约束,其显示速度就非常快了。这里主要介绍【端点】的特性。端点,就是在线的两头的起始点,端点的规则,在制图表达里面分为【无约束】【全模式】【半模式】【半间距】【全间距】和【自定义】。如下图所示

    线符号的这个端点模式,其实就是应用模式的起点。例如这个例子中的虚线是黑白相间,那么在起点或者终点的规则就关乎到其实部和虚部的显示效果了。配合中间的图例部分,可以看到这几种模式的特点。接下来我们重点介绍【全模式】【半模式】【半间距】【全间距】这四种模式

【全模式】:在端点使用一个完整的实部进行渲染

【半模式】:在端点使用半个实部进行渲染

【半间距】:在端点使用半个空白间隔进行渲染

【全间距】:在端点出使用整个空白间隔进行渲染

      反观行政边界要显示效果,就是在端点出显示一个完整的实部,从而实现虚线的实部相交。通过对规则的分解,可以得出一个结论,如果在端点出使用了半个实部的符号开始渲染,那么交汇处两端组合起来,刚好是一个完整的实部符号。所以,针对这个场景,不难看出,需要使用的是【半模式】,设置后可以看到其实部相交的效果

最终的显示效果如下

行道树的制作方法

     对于行道树这种有特殊规律的线规则来说,在制图表达里面实在是最好实现不过了。但是我们这里不是不单是简单的道路边线的行道树,而是表现公园外围的行道树。如下图,需要模拟公园外围的行道树。

     新建一个点符号,设置好点符号的大小和符号样式。点击加号,在图上三角符号处点击弹出【标记放置】,选择【沿轮廓】,并设置好间距,如下图

 如果希望这个符号完全落在面里面,可以对点符号图层增加一个缓冲区效果,其距离为半个符号的大小的负值,如下图

河流线渐变

 

      首先来看河流线渐变效果。图上的效果是一种夸大的效果,主要是为了让技术人员能够看清楚其具体效果的变化。一般情况下,河流线的这种从发源处线条比较幼细,然后中游稍微宽大,下游逐渐变大的效果,会出现在小比例尺的大图中,基本上是使用线宽渐变的效果。

     在传统的线符号显示中,主要是粗细均匀的显示。如果要实现线条粗细渐变,则需要采用制图表达的几何效果,用【锥状面】来渲染线条。在使用制图表达之前,首选要确保一项非常重要的事情,就是河流的流向必须是正确的。我们可以用gis数据的数字化方向来表达流向。下图是河流的标准符号显示

先给予河流一个特殊符号渲染,用箭头符号渲染它,箭头指向终点(即指流向),如果发现有错误的地方,通过编辑进行线要素的反向操作。

  如果发现方向错误,用编辑器双击选中,使用右键进行反向。这一步非常重要,因为如果流向不对,或存在逻辑性错误,会导致后来的效果乱七八糟。

确保所有的流向都没有问题,那就可以切换为原来的河流模样,并转为制图表达

在制图表达规则中,增加一个面符号图层,设置为蓝色,并删除掉原来的线符号图层。

 点击加号,增加【锥状面】效果

点击确定之后几乎出现让人崩溃的画面,如下图所示

  这个其实不要紧,因为制图表达规则在每一要素之间都应用了规则。由于河流是分段,所以出现这种每一个线要素都是锥形显示。那么接下来就是使用制图表达的编辑工具进行制图表达的修改。在菜单空白的地方,右键调出制图表达工具,如下图

      同时使用编辑工具打开编辑,这样,通过使用制图表达的选择箭头(是制图表达工具里面的褐色箭头工具,不是编辑工具里面的选择工具),选中后使用右键属性

在属性中切换到制图表达规则,修改这个规则,如果是中间部分可以改为两端大小一样,如下图,这样就有一个很好的衔接。

这些规则的修改,就是存储在override字段里面。所有的河段都修改之后,就可以出下图的渐变效果了。

   如果觉得效果不是很明显,不够圆润,可以使用平滑效果进行处理。制图的工作本来就是挑刺和精益求精,所以,多试试其他的效果不是坏事。

符号旋转

 

某些时候需要针对点符号进行一定规则的旋转。例如水利专题图上就要求测站(等腰三角形符号)参考河流线垂直旋转。

      根据标砖符号的方式,是需要增加一个角度字段,设置好角度值,使用符号的高级渲染进行按角度旋转。虽然这样做也能实现旋转,但毕竟每个角度都要手工输入,并且要细致调整,工作量比较大。
首先需要将地图在标准符号下配置好,然后两个图层都必须转为制图表达。如下图

      然后要设置地图的参考比例。参考比例可以理解为我们要制作地图的比例尺。例如要制作1:5w的地图,就先缩放到1:5w,然后数据框中设置为参考比例。如下图

      然后可以在工具箱里面找到【制图工具】--【制图优化】--【对齐标记】工具,并且设置点符号图层和参考的线要素图层,给定一个搜索距离(如果点是落在线上,这个距离设置一个很小的值就够了,如果点落在线外,则根据自己的数据适当尝试不同的值)。

 设置好后点击【确定】就可以了出结果了。

制图表达里的控制点

此控制点非测绘行业术语的控制点,而是制图表达里面的控制点,所以不能混为一谈。

      在ArcGIS制图表达里面,控制点是一个非常有意义的存在。一般的情况下,我们是没能发现它的存在的,因为它很多时候都是默认作用在端点上。例如之前的实部相交的例子,模式的应用就直接作用在端点上,这个端点的实际意义,就是我们所谓的控制点,但其物理上不是控制点而已。

      仔细想想就可以看出,制图表达上的控制点,其实就是规则和几何效果作用的起点。如果制图表达的效果默认是在端点启用的话,那么控制点就是在线上强制开启的端点,强制要求在该点上启用规则。首先我们来回顾一下之前的实部相交效果,

      这个例子虽然在端点出实现了实部相交,但在其他的一些部分,还是出现了虚线很虚的状况,尤其是折点的位置,就如下图绿色圈住的部分。

      我们最希望的就是在这些地方也能像两根线相交处一样,能够实现半模式的效果,这样就可以实现在折点处虚线也是实部相交。其实这个效果非常简单,就是使用控制点强行改变折点的属性,让其带有端点的效果。接下来我们可以看看怎么去操作这个步骤了。

      首先,要将编辑工具和制图表达工具调出来,因为我们需要对线上折点进行编辑。开启编辑,并使用制图表达工具条的选择工具,选中摸一条线,进入节点编辑模式

      留意其所有节点的显示状态,都是一个浅蓝色的正方向。接下来在制图表达工具条中点击钢笔符号,下拉选择工具类型,可以看到有几项关于控制点的选项

      选择【插入控制点】工具,鼠标指针会变为其插入控制点状态,这样在线上任意一点点一下就可以插入控制点。这里对应的要求,就是在折点处插入一个控制点。用这个工具在线上蓝色正方形上点一点,这个正方型就会变成倒立的菱形。菱形就是控制点的显示符号。如下图所示

取消选择之后,就可以看到在这个折点处,也应用了半模式的显示,变成了是不相交。

      其接下来的思路就是非常简单粗暴,控制点就像万金油一样,哪里需要就点哪里,这样通过增加控制点来实现折点处也是实部相交。当然也有人会问,如果有非常多的线和非常多的折点需要插入控制点,那岂不是非常麻烦?是的,不过,ArcGIS已经在一开始已经想到这个问题了,所以在制图工具箱里面已经加入了批量处理功能,而且还可以非常友好的处理角度。在【制图优化】-【按角度设置控制点】中,选中图层,然后输入一个最大的角度

点击确定后,马上可以看到整体效果,所有的折点处会插入对应的控制点,通过控制点来实现了所有的折点都是实部相交。如下图

      这个工具是一个非常好用的工具,尤其是一些境界线,是有要求角度在什么范围内折点处必须是实部相交,通过这个工具可以非常快速的实现规范要求。当然,很多时候我们也可以学以致用,充分发挥自己的想象力。例如需要检查数据是否有尖锐的角度(一般是管线,因为管线很少会出现呈低于90度的交接的),所以,可以设置虚线端点处使用一个非常特殊的符号,然后使用半模式,通过上述工具,执行一个不大于90度的控制点批量插入。其最终会将那些尖锐角度的拐点全部检查出来。

      虽然数据检查跟图关系不大,但实际上还是可以使用一些工具实现曲线救国的。所以说,很多时候技术只是支撑,关键是想象力和灵活运用。

      顺便提一下,控制点是对规则应用的重新覆盖,所以数据会存入到override字段中。前面章节也提交过,override字段保存的东西越多,制图表达的性能就越慢,因此,对于覆盖的操作,不到万不得已,不要随便使用,也会给后期的修改带来一些麻烦。

      在看下面一个例子,就是典型的模式+控制点的运用。一些国界类符号,有特殊显示的,要求在折点处变现的符号需要自动转变(跟规定的一般符号有一定的差异),如下图

这种到的工字形符号,在折点处除了要是不相交外,还需要保留一个完整的符号,并且符号两端需要与线方向保持垂直。这类型的规则其实并不懒,可以将其分解成两个层。一个是虚线层,就是使用我们之前说的半模式规则去实现。然在在顶上再加一个点符号层去表达,这个点符号层的模式、间距都必须跟线符号层保持一致。然后在【标记】的放置位置使用在端点处【两侧】显示,并勾选上与线成角度。

      设置好这个规则之后,当然就是使用上面的工具批量插入控制点,这样就可以实现其效果了。至于其他的一些非常难实现的效果,例如山崖等,可以想想通过多种组合图层的方式,多种规则叠加方式去实现了。

      同样的方式可以实现管线的效果,管点处使用的是一个符号,然后两端等距离处放一个特殊的符号,并与线成一定角度。如下图

其做法也是类似,只是有两个点来代替原来的一个点图层显示。

制图表达编辑

 首先将要素加载进来,并将其转换为制图表达

打开【编辑器】和【制图表达工具】,开启编辑模式,用制图表达的选择工具选中要素,点击制图表达下拉,选择【自由式制图表达】--【转为自由式制图表达】,转换后就可以对制图表达进行非常细致的编辑了。

      继续选中这个要素,在【制图表达】-【自由式制图表达】,就可以看到【编辑自由式制图表达】,就可以进入一个更加细致的界面。

到了【编辑自由式制图表达】的界面,看起来就非常熟悉不过了,完全就是一个图片编辑器。右上角是一系类的编辑工具,选中要素后,同时也可以看到工具条下的制图表达规则和效果。

      在这个界面下面,就可以同时使用自由编辑工具和制图表达的规则和几何效果工具。制图就是一个需要想象力的工作,当我们看到这个椭圆形的要素的时候,就应该能够和真实的运动场联系起来。最起码第一时间能够想到用抽象的简笔画绘制出来。所以,制图也是一个综合能力的体现。

      首先我们来分解一下球场的大体轮廓,有一圈又一圈的座位,并需要具体知道多少,只需要知道有很多,并且是一圈又一圈就知道了。沿着运动场边缘去绘制座位,非常简单,只需要用利用边线去做一些内缓冲线即可。增加好几层线符号,分别做等距的内缓冲。

  通过简单的重复操作,运动场的这些作为的轮廓基本上就出来了。在运动场中间加入足球场的白色边界,那就更加明显了。使用【创建】工具(就是A字下的工具)可以很快的绘制出一个矩形面。当然,绘制出来的就是一个具有填充的面。

        绘制出来的填充面是可以调整大小和位置的。将其调整好后,放置到运动场的中间。这里我们不需要面填充,值需要其边线就足够了,可以计入一个线符号层,然后删除其面符号层。

  中场线和两边的球门位置的线也可以通过钢笔工具和圆形工具进行绘制。这些都需要一定的绘图基础了。

 基本轮廓出来之后,就是制图里面精益求精的部分。与其说是精益求精,不如说是吹毛求疵吧。为了增强视觉效果,可以手绘一些放射线,让运动场座位变得有间隔;绘制一些不同颜色的面加入到球场里面,座位最前排座位,看起来更加突出一些;增加一些梯形凹陷,看似是进入球场的球员通道。这些都不是操作问题,而是想象力的问题了。

    当然了,要让运动场整体还有一个俯瞰的效果,笔者特意针对整个椭圆面,增加两个面符号层,分别上下移动一些位置,赋予一些灰颜色,看起来层次感更加强烈。

     有时候制图并不是个技术活,它还是需要一些艺术细胞的,需要一些工匠精神,也需要比较较真和执着。所有的工作完成之后,点击【确定】按钮,进行保存。一般建议是完成一部分绘制就保存一下,因为这个界面下一不小心退出,之前的工作就全部丢失,这会非常的痛苦。

      再一次重申一下,这种自由式制图表达式保存在override字段里面的,每次绘制的时候都会从里面读取这些杂乱无章的信息并进行重新加载,会增加整个地图的显示性能,因此,不要随便使用自由式的制图表达。

      自由式制图表达一般是在标志性建筑和地貌时才使用,这样结合其他规则,可以使显示和性能同时得到兼顾。可以说,自由式制图表达就是点睛之笔。

11、水立方

思路:按照范围绘制一个矩形区域,在区域内部生成不规则多边形格网,对多边形格网进行艺术效果设置。

创建面要素

加载北京市底图,观察数据,找到“国家游泳中心”,确定绘制水立方的位置。在Catalog或ArcMap目录窗口中新建面要素类,命名为“水立方”。开启编辑,绘制国家游泳中心的位置。

创建随机点

利用ArcToolbox > Data Management Tools > Feature Class > CreateRandom Points在面要素内部创建随机点。

Output Location:创建随机点要素类所要使用的位置或工作空间。此位置或工作空间必须已经存在;

Output PointFeature Class:要创建的随机点要素类的名称;

ConstrainingFeature Class:将在此要素类中的要素的内部或沿线生成随机点,选择“水立方”面要素。

Number of Points:要随机生成的点的数量。;

Minimum AllowedDistance:任意两个随机放置的点之间的最小允许距离。

创建泰森多边形

  利用ArcToolbox > Analysis Tools > Proximity > Create ThiessenPolygons依据随机点要素创建泰森多边形。

  Input Feature:生成泰森多边形所依据的点输入要素。选择randompoints图层。

  Output FeatureClass:包含根据点输入要素生成的泰森多边形的输出要素类。

  点击确定后运行工具,生成的泰森多边形比原先绘制的水立方范围大,因此借助ArcToolbox > Analysis Tools > Extract > Clip工具进行裁剪。

  Input Feature:要裁剪的要素,选择泰森多边形图层;

  Clip Feature:用于裁剪输入要素的要素,选择水立方图层;

  Output FeatureClass:要创建的要素类,输入输出要素类的存放位置和名称。


创建制图表达

  至此为止,水立方的几何形状已经产生了,只需要对其进行颜色填充就可以完成了,但是普通的面填充无法达到带有光晕的效果,因此我们需要采用制图表达的方法进行面的填充。

  将裁剪后的新图层(水立方_clip)符号化转为制图表达,在图层上右键单击ConvertSymbology to Representation,各参数都采用默认状态。

  打开图层属性对话框,在Symbology标签下找到Representations。

  更改Rule_1中填充符号图层的表现形式,改为Gradient。

  调整Color1和Color2的颜色。Color 1:选择与水体接近的颜色,比如SodaliteBlue;Color 2:Arctic White。

  Style:选择Buffer。

  更改线符号图层的颜色,选择稍深一些的蓝色较好。

  单击确定后查看最终结果如图。

last

地图整饰(map appearance)关于地图内容的表现形式和手段的技术,是地图制图学中的一个重要部分,也是制图实践中的一种造型艺术和工序。根据透视和色彩学原理,利用图案、色彩显示地图内容的类别、特征、主次关系、地理分布和相互联系等。地图整饰主要包括:地图符号设计,色彩设计,地貌立体表示,出版原图绘制,图面配置和图外装饰设计等。狭隘范围的地图整饰是指在地图印刷出版前为地图配置图面和图外装饰,如:标题、图例、指北针、比例尺、边框、源信息和其他文本,以及插图等,方便使用地图的人读图。

地图整饰要素:可帮助地图浏览者解释地图的任何支持对象或元素。典型的地图整饰要素元素包括标题、图例、指北针、比例尺、边框、源信息和其他文本,以及插图。

在纸图制作中,需要花费巨量的时间去做地图整饰工作。如果认为这些整饰看起来非常简单,那就大错特错了。标准的制图制作,例如标准地形图,会涉及到图框样式、接图表、内外图框要素处理等,工作量一点都不比地图符号化少,而且针对国内标准,还有很多软件不能直接实现的问题。

布局视图:在ArcMap 中的一种用于显示虚拟页面的显示。在布局视图上,针对打印放置和排列地理数据和地图元素(如标题、图例和比例尺)。

经纬网:地图上由经度线和纬度线组成的网络,或者将地图上的座标与地球上的真实位置联系起来的图表。

动态文本:放在地图布局上的文本,可根据地图文档、数据框或数据驱动页面等的当前属性动态变化。

 

12 综合制图

中国年降水量分布图的制作

以中国年降水量分布图的制作为例详细地介绍了数据的获取、预处理、空间降水插值直到最后成图的整个过程。共分为三个部分:

第一部分:底图的制作。这一部分介绍衬托专题图的底图的制作,这一部分的结果还可以作为其它专题图的底图;

第二部分:中国年降水量插值。这一部分介绍用ArcGIS的空间插值方法将气象站点的降水量数据插值得到全国范围内的降水分布;

第三部分:地图整饰。这一部分介绍添加地图要素和美化及最后出图。

所有的步骤都在ArcGIS10/10.1环境下,本文涉及到的数据,以及最后结果(包括本文)在(http://pan.baidu.com/share/link?shareid=61512&uk=352462598)中下载。
底图制作

 

Step1-1:数据准备

(1)先在网上下载中国地图shp格式的文件以及中国省级行政中心的shp文件;

(2)世界国家图以及河流矢量图。如果大家安装了IDL,那么在IDL的安装目录下:D:\Program Files\ITT\IDL\IDL80\resource\maps\shape,可以找到cntry02.shp和rivers.shp;

以上数据可以从这里下载http://pan.baidu.com/share/link?shareid=54856&uk=352462598

总共包含五个文件:

bou2_4l.shp:中国政区的线文件,在这个线文件里包含了南海的九段线

bou2_4p.shp:中国政区的面文件

rivers.shp:世界主要河流

cntry02.shp:世界国家面文件

省会城市.shp:中国省会城市点文件

注意:ITT提供的两个文件没有设置座标系,需要先在Catalog中将这两个文件(rivers.shp和cntry02.shp)的地理座标系设为WGS84。

Step1-2:设置投影

打开ArcMap将这些文件添加进去,接下来我们要给Dataframe设置一个投影座标系。由于我们要做的是中国全国的降水量分布,我们使用等面积的Albers投影。右击Layers->Properties->Coordinate System选项卡->newProject System,选择Albers,设置中央经线105,标准纬线25度,47度,在地理座标系中选择WGS84。设置如图:

Step 1-3:放大图可以看到,沿海一带有很多面积很小的岛屿,为了制图的美观,需要删掉一些面积小的岛屿,但是在这之前,必需把南海诸岛以及台湾周围的岛屿保留下来(原因大家都懂的)。

关闭其它图层(只留下政区图层bou2_4p),开始编辑进入编辑状态,选中南海的那些岛屿以及台湾周边岛屿,如图:

在bou2_4p图层上右击选择Selection->Create Layer From Selected Features。将选中的要素创建一个新的图层。

停止编辑,在刚刚产生的图层上右击选择Data->Export Data…,将选择的要素导出,命名为“南海诸岛及其它岛屿.shp”。

接下来我们就可以删掉面积小的岛屿了。继续进入编辑状态,打开bou2_4p的属性表,打开Select by Attribute对话框,输入"AREA"< 0.01,点击apply,选中面积为小于0.01的多边形,删除。

Step1-4: 提取出中国的轮廓线

接下来我们要从政区文件(bou2_4p)中提取出中国的轮廓线。这一步的目的是我们要分开中国在陆地上的国界和在海岸线上的国界,因为这两者在制图的时候是不同的。之所不直接用政区线文件提取轮廓是因为经过一些处理以后用面文件提取会更方便(下面会细说);而不用IDL中的国家(cntry02)是因为ITT提供的世界图是他们所认为的世界图(对比一下中国的藏南地区就会发现,在这个世界图上,中国的藏南地区是直接划给印度的,所以我们不用它,只把它作为底图)。

打开Toolbox->Data Management Tools->Features->Polygon to Line,将输出文件命名为“中国线.shp”。确保”Identifyand store polygon neighboring information(optional)”选中(保留每条线段两边的多边形信息是下一步提取轮廓线的关键;另外,Feature to Line也能实现面转线的功能,但是没有选项)。

打开“中国线.shp”属性表,选中LEFT_FID=-1或者RIGHT_FID=-1的所有要素,这个时候边界上的所有线要素就被选中了。如前所述的方法,将选中的要素创建图层,并导出成单独的图层,命名为“中国轮廓线.shp”。

Step1-5:提取陆上国界和海上国界

新建一个点文件(座标系设为WGS84),进入编辑状态。在辽宁与朝鲜的入海口处、广西与越南的入海口处创建两个点,保存并停止编辑。

使用Toolbox->Data Management Tools->Features->Split Line atPoint工具,将线在点处打段。并且在编辑状态下,用Merge工具将两部分分别合并在一起;并新建一个字段用以区分陆上国界和海上国界。

Step1-6:提取出九段线

这一步我们从中国政区的线文件(bou2_4l)中提取出九段线。名称是叫九段线,但是实际上在现在地图出版物中都是10段的。这一步比较简单,在编辑状态下选出这10段线,导出成单独的文件,命名为“九段线.shp”。

到目前为止,我们已经整理出来我们的底图所需要的要素文件:

省会城市(点)

九段线(线)

中国轮廓线(线)

河流(线)

南海诸岛及其它岛屿(面)

中国政区(面)

国家(面)

接下来我们对这些要素进行符号化。

Step1-7:纸张设置

首先在File->Page and Print Setup中,将纸张调成横向。进入版面视图,适当调整数据框的大小和位置(上面留出写标题的空间,右边留出说明文字的空间),将地图比例尺改为1:25 000 000。

将国家层的填充颜色设为10%灰度,边框宽度0.2,边框颜色为20%灰度。这时,整体如图:

Step1-9:设置国界线的符号样式

双击“中国轮廓线”图层打开Layer Properties对话框,在Symbology中选择Categories方式,在ValueField中选择国界类型,点击Add all Values。双击陆上国界的符号,打开Symbol Selector对话框,随便选择一种线型符号,点击“Edit Symbol”,打开Symbol Property Editor对话框。

对对话框中点击左下的“+”号新建两层。将线型符号的颜色设为50%灰度,线宽0.5,Line Joins为“Round”。第二层的颜色设为Mango(RGB 255,211,127),线宽2,Line Joins设为“Round”,将Line Propeties中的Offset设为1。类似地,第三层的颜色设为Topaz Sand(RGB 255,235,175),线宽4,Line Joins设为“Round”,将Line Propeties中的Offset设为2。点击确定,返回Symbol Selector对话框,可以将刚刚设置的样式保存。

点击确定返回Layer Properties对话框,将海上国界的符号样式设置为:颜色Yogo Blue(RGB 115,178,255),线宽0.4。设置完成后国界线的效果如图:

将九段线的符号样式也设置成陆上国界的样式。

Step1-10:设置省会城市符号

将省会城市的符号类型设置为“Circle 19”,颜色50%灰度,大小6。并右击该图层设置“Label Features”。

Step1-11:设置河流符号样式

使用ArcToolbox->Cartography Tools->Generalization->Smooth Line工具,将河流光滑。”SmoothingAlgorithm”方法选择BEZIER_INTERPOLATION。完成以后设置河流的符号样式为:颜色Cretean Blue(RGB 0,112,255),线宽0.5。为了只让它显示长江和黄河,双击光滑过的河流图层,切换到“Definition Query”选项卡,在Definition Query中输入"NAME" = 'Huang He' OR "NAME" = 'Yangtze',点击确定。

Step1-12:为数据框设置背景颜色

Step1-13:为数据框添加经纬线

双击数据框“Layers”打开Data Frame Properties对话框,切换到“Grids”选项卡,点击“New Grid…”,保持默认一直到Finish。接下来点击“Properties…”打开“Reference System Properties”对话框。

在“Axes”选项卡中,取消”Major Division Ticks”和”Subdivision Ticks”中所有的复选框;

在“Interior Labels”选项卡中,取消”Show interior grid labels”复选框;

在“Labels”选项卡中,设置Label的字体为Times new Roman,8号,“Label Offset”为“-2”pts。点击“Additional Properties”打开“Grid Label Properties”对话框,取消“Show coordinate direction labels”复选框,取消“Show zerominutes”和“Show zero seconds”复选框;

在“Lines”选项卡中,点击Symbol,设置经纬线的符号样式为:颜色Moorea Blue(RGB 0,169,230),线宽0.2;

Step1-14:添加北回归线

双击数据框“Layers”打开Data Frame Properties对话框,切换到“Grids”选项卡,点击“New Grid…”,保持默认一直到Finish。点击“Properties…”打开“Reference System Properties”对话框。

在“Lines”选项卡中设置线型为“Dashed 4:4”,颜色40%灰度,线宽0.4;

在“Label”选项卡中取消所有复选框;

在“Intervals”选项卡中如下设置:

点击确定。点击菜单”Insert”->”Text”插入“北回归线”四个字,双击这四个字,如下设置:

到现在为止,底图就基本做完了,效果如下图所示。之所以叫基本做完了,是因为,还有重要的南海诸岛没有放上去,但是这一步留到最后才做。

中国年降水量插值

 

要做中国年降水量的空间分布图,首要的问题是如何获取降水量数据,我们从中国气象科学数据共享服务网(cdc.cma.gov.cn)下载中国国际地点交换站的降水量数据。

Step2-1:数据准备

中国气象科学数据共享服务网(cdc.cma.gov.cn)。在中国地面国际交换点气候资料日值数据集(本文可以直接利用月值数据集来做)中下载2011年中国气象站20-20时降水量数据,包括66430条数据。并下载元数据。元数据中包括中国地面气候资料国际交换站数据集台站信息,其中有区站编号、站名、经纬度、海拔高度等信息。站点的经纬度信息是建立空间关系的基础(如图1所示)。国际交换站从建站到2007年资料台站数为206个。

下载不到数据的请点这里(http://pan.baidu.com/share/link?shareid=60717&uk=352462598)

Step2-2:数据预处理

在下到的数据中,有一些值如999、9999、32700等是填充值,要先去掉。接下来,这些数据存放的是每个台站365天的降水量,所以先要统计得到每个站的年降水量数据。在Excel中打开降水量数据表,选中所有数据,点击插入­->数据透视表,插入一个新的数据透视表。

在数据透视表中勾上“台站”、“月”和“20-20降水量(无填充值)”。并拖到如下图所示的位置,在“数值”一栏中设置“求各项”,这样就统计出了每个气象站点的年降水量值。将这个表整理,并将降水量由0.1mm处理成1mm为单位的数据。

Step2-3:导入站点数据

在下载到的站点信息中提供了每个站点的经纬度座标,这样我们可以利用ArcMap->File->Add Data->Add XY Data将站点导入ArcMap中,注意导入时设置座标系为WGS84。用Data->ExportData将站点导出成shp文件,命名为“气象站点.shp”。如图2-4。

Step2-4:投影气象站点

使用Data Managerment Tools->Project andTransformations->Features->Project工具将点数据投影到Albers平面上(中央经线105度,标准纬线25度、45度。生成气象站点_Project文件)。

Step2-5:关联气象站点与降水量值

在气象站点_Project右击->Joins and Relates->Join,使用台站号作为关联ID,将气象站点与每个站点的降水值关联起来。从关联结果可以看出,只有181个(总共206个)关联成功了,这是因为有些气象站点被废弃不用了。结果如图:

Step2-6:插值方法研究

接下来我们便要用这181个样本点的数据插值得到全国的年降水量分布。空间降水插值一直是个难题,影响降水的因素很多,如经度、纬度、高程、坡度、坡向、离水体的距离等,建立一个通用的降水插值模型几乎是不可能的。空间降水插值方法很多,优缺点和适用性不同。总体上,降水的空间插值方法有3类:整体插值法(趋势面法和多元回归法等) 、局部插值法(泰森多边形法、反距离加权法、克里金插值法和样条法)和混合插值法(整体插值法和局部插值法的综合) 。何红艳(2005)比较了各种降水插值的优缺点:

在这里,克里金插值能达到较高的精度,而为了能考虑高程的因素,我们选择使用协同克里金插值。协同克里金插值的一个前提是,降水量与高程应该有相关性。为此,下一步我们要验证年降水量与高程是不是相关的。

Step2-7:相关性检验

在我们关联的降水量数据以后,气象站点的属性表里就有了站点的高程和站点的年降水量。把属性表导出,并用SPSS检验两者的相关性,结果如下:

结果表明,站点的年降水量与高程显著相关,于是,我们便可以利用站点本身附带的高程数据对降水量进行插值了。

Step2-8:降水量插值

在工具栏空白处右击打开Geostatistical Analyst工具条,选择Geostatistical Wizard,每一步的设置如下:

第一步:在“Methods”中选择“Kriging/CoKriging”,Dataset中选择“气象站点_Project”,DataField选择“降水量_毫米”,Dataset 2中选择“气象站点_Project”,DataField选择“海拔高度”;

第二步:由经验知我国的降水由东南往西北会递减,在这里选择“First”以剔除降水分布的趋势分布(一次);

第三步:年降水量分布的趋势(一次趋势面)

第四步:设置Number of Lags为24

第五步:设置SectorType为四方向

第六步:交叉验证

由交叉验证结果可以看出,插值误差为0.899(毫米),均方根误差162.0961,平均标准误差为156.8678,两者比较接近。标准均方根误差为1.039048。点击Finish完成插值。

Step8:插值结果导出。插值所覆盖的范围默认只包含气象点的最小外包矩形,要把它扩展到整个中国区域。双击插值产生的图层在Layer Properties对话框中切换到“Extent”选项卡,在“Set the Extent to ”选择“the rectangular extent of 中国政区”。

在插值结果图层上右击,选择Data->Export to Raster,将结果导出成栅格数据。并使用Spatial Analyst->Extraction->Extract byMask将中国区域提取出来,结果如图:

到这里,就完成了中国年降水量的插值了。

地图整饬

Step3-1:降水量分级

注意,这一步我们从克里金插值得到的结果做起,而不是从导出的栅格数据做起,因为ArcGIS将插值结果导出栅格时会有一些小小的问题(从图2-16的西藏地区的结果可以看出,当然这也可能是样本点的问题)。从插值结果可以看出,年降水量在1.68-1957.28mm的范围内,我们按照母100毫米分一级的等距分级法进行分级。双击插值结果图层打开Layer Properties对话框,在Symbology选项卡中选择Classified方法,点击“Classfify…”,选择“Manual”,Classes:20,在“Break”中手动输入从100-2000:

点击OK,选择从蓝色到红色的渐变,结果如图

Step3-2:结果导出成矢量文件

右击选择Data->Export to Vector,在“Contour Type”中选择“FILLEDCONTOUR”,导出文件命名为降水量。

Step3-3:分级设色

双击降水量图层,设置如下:

点击确定。这里有两种方法,使得只显示中国范围内的数据:

方法一:动态裁剪法。双击数据框Layers,设置图层的裁剪范围:

方法二:矢量转栅格。将降水量的矢量数据转为栅格数据,并用Spatial Analyst->Extraction->Extract by Mask将中国区域提取出来。

由于第一种方法每次刷新时都要实时计算显示的范围,速度很慢,本文使用方法二。结果如图:

Step3-4:生成等降水量线

用Spatial Analyst->Surface->Contour,设置间隔100,生成等降水量线。并使用Maplex引擎对其进行标注。ArcGIS10.1默认使用Maplex标注引擎,在ArcGIS10中,可以通过打开DataFrame Properties对话框在General选项卡中设置标注引擎为Maplex。

双击等降水量线在图层属性对话框中切换到Labels选项卡,设置标注的字体和颜色,点击“Placement Properties”,在“Label Position”中设置标注方式为“Contour Placement”;在“Label Density”中勾选“Repeat Label”并设置适当的间隔;效果如图:

Setp3-5:添加南海诸岛

复制一份数据框Layers,粘贴,并调整到适当大小。

Step3-6:添加图例

在左下角放置图例,图例的类型是“Legend Item Selector”中的第一种。

Step3-7:添加比例尺和投影信息

在左上角添加比例尺和投影信息。

Step3-8:添加其它要素

可以再添加对我国年降水量分布特征的说明性文字,ArcGIS中可以插入对象,将Word文档插入到MXD文档中,但是在导出图片的时候会有一些问题,所以本文把这些文字做成了图片插入。另外,还可以在EXCEL中统计年降水量最多或最小的站点的数据,做成图片插入MXD文档中。最后添加一些制作人的信息。

Step3-9:出图

到现在为止,所有的工作都完成了,File->Export Map把图片导出成JPG格式,设置下分辨率300dpi,最终的结果如下:

(注:部分内容为网上收集整理,其实地图制图也是GIS中非常重要的一项内容。倘若是自我创作,那么制作一幅精美的地图需要花费大量的脑力劳动,个别的知识点或者技术点吃不透,都是一件非常恼人的事情,且行且珍惜。)

结束

地图设计本身没有绝对的对与错,但却有较好、效率较高的地图和较差、效率较低的地图,视觉感知在我们的潜意识里告诉这副地图的优劣。对于地图表现要素的选择,很大程度上在于是否精心考虑了读者的视觉和理解需要。

当前,地图数据获取方式多了,制作方法多了,信息也更加准确了,但是制作出来的地图却越来越丑了。老一辈指责我们工匠精神的缺失,但他们却不知道这个时代对我们的无礼和践踏,我们接收的数据和所要处理的事务是他们的10倍甚至100倍不止。千篇一律的传授方式、程式化的制图方式、快节奏的工作方式,项目无节制地蜂拥而来,作为疲于奔命的当事人,很多时候根本无暇顾及地图的优雅和美感。各种信息数据的奔流和爆炸是工业化、信息化时代野蛮的咆哮。

 

貌如幽兰,蕙质兰心,纯正幽远,沁人心脾。

 

参考:https://blog.csdn.net/smileliaohua/article/details/7994150#opennewwindow

           https://blog.csdn.net/liyuanxiang1984/article/details/39076711

           https://blog.csdn.net/qq_43362426/article/details/97367728

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章