ArcGIS制图表达Representation-制图表达介绍
ArcGIS制图表达技术-制图表达介绍
by 李远祥
在基于GIS数据的制图中,大部分都是使用的数据+符号应用的这种模式。这种模式已经被应用很多年,而且也是非常成熟。对应在ArcGIS体系里面,就是数据+地图文档的模式。这种模式的好处就是能够保存数据和地图的独立性,任何的地图渲染都不会影响数据本身。
虽然这种应用已经非常成熟,也有很多的单位和个人使用这种方式实现了不少的地图成果和产品,以及发布一些在线地图。但这种模式有普遍存在一些难以解决的问题,就是地图的展示规则过于依赖数据,例如唯一值渲染需要有分类的字段,图标渲染需要多个数值型字段等;符号规则相对简单,一些特殊的符号形式很难通过标准的符号技术实现;对于具有非常严紧规范的地图生成(如出版地图)来说,表现能力还是不足够。
Esri很早就注意到这一点,在ArcGIS9.x的时候就推出了【制图表达】技术,用于解决上述的一些问题,只是国内很少有单位和企业关注,导致这项技术在国内没有推广开去。用过CAD的人基本上都有一种感觉,就是绘制出来的图形就是最终的图形,尽管绘制的类型分为点、线、面、文字(跟GIS类似),但绘制出来的时候是带有符号信息的,这就是CAD所见即得的做法。有如photoshop和coredraw这类型的软件,直接就是绘制最终的图形。而GIS不一样,GIS由于要表达的是真实的地理位置,因此绘制出来的都是测绘数字产品,用直接的话来说,就是将所有的图形都坐标化后进行图形重构,如点连成线、线围成面,都是简单的几何图形,不带任何的符号信息。因此,GIS数据要达到交互操作的效果,还需要进行配图工作,让这些“丑陋”的数据穿上漂亮的外衣,最终成为地图。
一般来说,要实现地图的制作,使用传统的数据+地图文档方式即可实现,能够达到使用要求,但对于出版地图来说,会有更高的地图制作要求;还有一部分人对地图天生的执着,希望进一步来提升地图的表现能力,在数据+地图文档 这种模式下,还是很难发挥出来。
笔者从2010年就开始接触制图表达,并不遗余力的研究其优缺点和使用价值。经过了非常长的时间使用,发现ArcGIS的制图表达技术确实是一项很好的技术,在图形的表达上有跟多的优势,其表现能力可以更加接近现实世界。之前我也引用地图学的一些经典论调,地图是显示世界的抽象描述。如果使用了制图表达去制作地图的话,地图就变得更加直观了。下面我们一张图可以看出制图表达技术的特点(这种图笔者在很多次制图讲座中均有引用)
左边第一张图是GIS数据,数据是点线面基础图形,原则上是不带任何的符号和色彩的,为了显示数据,GIS软件会默认给定数据一个符号。
中间的图是初步可以称得上是地图,因为已经根据其数据的特性进行了符号配置,例如河流用蓝色线符号表示,绿地用绿色面状填充表示。
右边的那种图就是用了制图表达之后的地图,从图上可以看到河流已经应用了一些跟现实相似的规则,河流发源部分符号相对幼细,下游部分相对宽广,线要素就用了一个逐渐变宽的面来表达。
从这三张图可以看到,数据、地图、制图表达的区别。制图表达使用后,地图的显示更加接近现实规则。制图表达技术通过一些列的规则来约束地图的显示,这些规则可以相互的叠加使用,从而实现不同的显示效果。
可能上述的文字都不足以描述制图表达的一些具体的优势,那么我们先来看制图表达做的几张地图,这样更能帮助我们了解制图表达的作用(尽管这几张图在2010年的时候已经制作,那时候是使用的是ArcGIS9.3 进行制作的)
上图是行政区划的面状表达,传统的方式是非常扁平的色彩渲染,用纯色去显示行政区面。利用制图表达,可以实现类似coredraw的色彩渐变和发光效果,关键是我们使用的是GIS数据,而不是在一个制图软件中重新绘制这些图形去实现。
再来看这个建筑面,在制图表达中使用了简单的规则,就可以使二维的建筑面看起来具备简单的立体效果。
再看具体的符号规则,在边界类中使用了虚线符号,能够让边界交汇处符号实现实部相交,而不是随机的虚线显示(一般使用虚线符号,在端头处是符号是随机的,可以存在空白对接)。
上图是一个运动场的效果,左边是原始数据,右边是经过制图表达处理后的地图,右图更加接近现实效果。
看了这几张图之后,估计大家已经对制图表达能做到什么效果已经心中有数了。后面的章节会从制图表达的原理、使用、技巧方面进行全面论述。
ArcGIS制图表达Representation-制图表达介绍的更多相关文章
- ArcGIS制图表达Representation实战篇4-自由式制图表达
ArcGIS制图表达Representation实战篇4-自由式制图表达 by 李远祥 上一章节关于制图表达的控制点中已经介绍过制图表达的编辑功能,利用制图表达的编辑功能,可以实现一些规则以外的效果. ...
- ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转
ArcGIS制图表达Representation实战篇2-河流渐变与符号旋转 by 李远祥 上一章节主要是从实战中使用规则和几何效果,如何分解制图规则.本章主要还是通过一些特殊要求如河流线宽渐变和符号 ...
- ArcGIS制图表达Representation实战篇1-边界线和行道树制作
ArcGIS制图表达Representation实战篇1-边界线和行道树制作 by 李远祥 即便是有了一些制图表达的基础,很多人还是对ArcGIS制图表达理解停留在表面,因为没有实际的强化训练是很难体 ...
- ArcGIS制图表达Representation实战篇3-控制点
ArcGIS制图表达Representation实战篇3-控制点 by 李远祥 这一章讲述的是一个非常专业的名词,叫控制点.此控制点非测绘行业术语的控制点,而是制图表达里面的控制点,所以不能混为一谈. ...
- 使用python制作ArcGIS插件(1)工具介绍
使用python制作ArcGIS插件(1)工具介绍 by 李远祥 ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是 ...
- ArcGIS Engine中的重点类库介绍
转自原文ArcGIS Engine中的重点类库介绍 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他类库提供服务的组件.System ...
- 如何在ArcGIS中恢复MapGIS制图表达信息
1.输出符号信息 Map2Shp软件中提供了图示表达转换功能,提供对MapGIS图形特征可视表达信息的跨平台支持.若要使用该功能,必须在转换时,"图元参数输出方式"选定为[图元参数 ...
- ArcGIS制图表达Representation-规则和几何效果
ArcGIS制图表达Representation-规则和几何效果 by 李远祥 对制图表达运用是否纯熟,主要是看对制图表达规则的理解和巧妙运用.前面章节已经粗略介绍过制图表达的运用,通过一些简单的规则 ...
- ArcGIS制图表达Representation-制图表达原理
ArcGIS制图表达技术-制图表达原理 by 李远祥 在讲述原理之前,需要对上一章内容进行一些必要的补充说明.既然制图表达有很多优势,是不是什么情况下都可以使用制图表达技术呢?如果有以下的一些特殊的要 ...
随机推荐
- c#之从服务器下载压缩包,并解压
项目的配置文件为了和服务器保持一致,每次打包时都从网上下载配置文件,由于下载的是zip压缩包,还需要解压,代码如下: using ICSharpCode.SharpZipLib.Zip; using ...
- tp框架实现文件上传
public function shangchuan() { $this->display(); } public function upload() { $uplode= new \Think ...
- window环境变量
首先Window中有很多乱七八糟的路径变量之类的,归类下来有几类,主要是为了我们分清楚概念,以免搞的糊涂了. 1. Window系统的环境变量:顾名思义,就是系统级别的变量,或者利用我们编程的角度来讲 ...
- NSDate常用代码范例
NSDate常用代码范例 NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等. 1. 创建或初始化可用以下方法 用于创建N ...
- ios UIKit动力 分类: ios技术 2015-07-14 12:55 196人阅读 评论(0) 收藏
UIkit动力学是UIkit框架中模拟真实世界的一些特性. UIDynamicAnimator 主要有UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. 它一般有两种初始 ...
- address2line 定位 Android c++奔溃位置
Android调用c++出现奔溃,崩溃信息为如下: 10-11 15:15:13.541 D/AudioMTKStreamOut( 139): write(), buffer = 0x42bd9390 ...
- 《剑指Offer》笔记(更新中)
这几天为了找工作开始看<剑指offer>,到现在也大概浏览一遍了,前两天看作者博客中提到九度OJ,就去看了一下,发现上面有书上的题目,就想可以自己写代码练习一下,而不仅仅是看解题思路,毕竟 ...
- 饼干是这样压缩的——PHP使用zlib扩展实现页面GZIP压缩输出
饼干是这样压缩的——PHP使用zlib扩展实现页面GZIP压缩输出 GZIP(GNU-ZIP)是一种压缩技术.经过GZIP压缩后页面大小可以变为原来的30%甚至更小.这样用户浏览的时候就会感觉很爽很愉 ...
- Spring基本使用方法_Bean对象
Spring基本使用方法_Bean对象 Struts与Hibernate可以做什么事? Struts MVC中控制层解决方案.可以进行请求数据自动封装,类型转换,文件上传,效验..... Hibern ...
- php __set()和__get()函数
<?php /* 总结: 1. 从一个难以访问的属性读取数据的时候 __get() 方法被调用 2. 向一个难以访问的属性赋值的时候 __set() 方法被调用 3. 难以访问包括:(1)私有属 ...