基于ArcGIS的电子地图快速制图方法研究
2018-08-30方林彬
方林彬
(福州市勘测院,福建 福州 350008)
1 引 言
随着移动互联网的普及,人们已经越来越习惯使用电子地图来获取位置信息,截至2017年6月,地图App活跃用户超过4亿。电子地图作为查找位置信息、查询周边信息、规划交通路线、实时路况等应用的基础,已经渗透到人们生活的方方面面。网约车、共享单车等很多新兴应用也需要基于电子地图,此外,街景、室内地图、三维全景、虚拟现实地图等新型地图也为人们提供了更为丰富的地图服务。同时,随着政务信息公开力度和公共服务能力的不断提升,作为提供空间位置信息的基础数据,交通、国土、城建、水利等行业部门对电子地图的应用需求日益强烈。
刘灿由[1]、张昊[2]对电子地图多尺度快速表达、显示进行了研究,改善显示效果,减少符号化的时间延迟。刘建敏[3]、张薇[4]研究了电子地图符号设计,并将设计的符号应用于电子地图生产。王淑清等综合利用SuperMap、ArcGIS等软件对德州市电子地图数据制作和主要问题的处理技巧进行了总结[5]。赵春等[6]、孙丽敏等[7]、姚静[7]都使用ArcGIS进行电子地图生产,获得较好的制图效果。郑海玲以城市政务电子地图为例,详细描述了政务电子地图制作的技术流程与方案,形成现势性强、美观的政务电子地图[9]。邱健丽对电子地图目标变化的探测和变化信息的更新策略进行了研究,总结出电子地图从变化目标的发现到变化目标更新成图的完整流程[10]。
关于电子地图完整的快速制图方法的研究较少,主要是研究符号设计和制作、制图模板的制作、电子地图数据更新等。本文对基于ArcGIS电子地图的快速制图流程和方法进行研究,主要包括电子地图数据源组织、符号库的制作、制图模板的配置、地图缓存的生产、电子地图的快速更新等,快速制图方法具有通用性和灵活性,为快速定制用户需要的电子地图提供方法支持。
2 电子地图制图流程
ArcGIS是一个全面的GIS平台,提供了桌面端、服务器端和移动端的完整解决方案,其中ArcMap是Windows下的数据编辑、地图制图、空间分析的主要软件,提供了灵活、强大的制图功能。
电子地图数据类型包括线划、影像、晕渲、专题电子地图4种类型。线划电子地图以线划数据为主要数据源,经过数据分级与可视化设置而成;影像电子地图以航空、航天遥感影像为基础,并配以线划和适量注记;晕渲电子地图以DEM晕渲图为基础,并配以矢量线划和适量注记成图。专题地图是在地理底图上按照地图主题的要求,突出表现一种或几种要素,使地图内容更具有针对性,具体制图流程如图1所示。
图1 电子地图生产技术流程
(1)数据准备
数据准备就是根据用户需求收集制作电子地图所需的数据,包括DLG数据、地名和兴趣点数据、影像数据、数字高程数据及专题数据等,并进行数据裁切、格式转换等工作。
(2)数据源生产
对经过整理后的数据进行编辑和处理,包括坐标转换、数据组织、要素重分类、影像数据镶嵌、晕渲数据(山体阴影)生产等,并根据电子地图的用户类型、网络环境等确定是否需要对数据进行脱密,形成分类、分层、组织有序的电子地图数据源。
(3)电子地图制作
首先制作ArcGIS Style格式的符号库,包括点符号、线符号、颜色配置、面填充以及注记样式等。利用符号库可以配置成不同风格的ArcGIS mxd制图工程作为电子地图的模板。需要制作新的电子地图时,可以利用已有的电子地图模板,重新指定mxd的数据源,再经过人工编辑和整饰就可以完成制图工程的配制。
配制工程需要发布成ArcGIS Server地图服务,然后在ArcCatalog中进行地图缓存(即电子地图瓦片)的生产,形成电子地图瓦片库。
3 快速制图方法
电子地图快速制图涉及几个重要的环节,包括电子地图数据源组织、符号库的制作、制图模板的配置、地图缓存的生产、电子地图的快速更新,必须为每个环节制定快速制图的方法才能实现电子地图生产的快速化。
3.1 电子地图数据源组织
数据源是制作电子地图的基础,在电子地图生产过程中,需要花费大量时间和人力用于数据收集和处理,数据源的组织对快速制作电子地图至关重要。最理想的情况是能够不经编辑或经少量编辑就能从已有数据中提取制图的数据源,因此,数据源的分层和分类越详细,其通用性越强,制作电子地图时越能够灵活的选取、重组数据。
由于DLG数据一般按照分幅进行组织,无法直接用于电子地图生产,此外,DLG数据中包含控制点、高程等涉密信息,除专业用户外,很少有用户需要此类涉密数据,因此,DLG数据需要整合成核心要素数据。核心要素数据是DLG数据经要素提取和脱密、数据模型统一、接边、数据融合、数据更新、拓扑处理、质量控制等处理,包括水系、居民地、道路、境界和行政区划、绿地等图层的成果数据。
为实现全省优势互补、更新及时的电子地图数据源,需要解决省、市、县地理信息数据格式、数据结构、现势性、精度等不一致的问题,因此,数据源的要素分类、分层和图层命名参考《天地图数据融合技术要求》。遵循现势性好、精度高、数据全的原则,将省、市、县不同尺度、不同来源、不同类型数据进行融合,形成通用性强、精度优、覆盖范围广的核心要素数据。
地名和兴趣点数据分类、属性结构等参考《天地图数据融合技术要求》中地名地址数据融合的指标进行处理,地名地址数据的分类详细。部分地名和兴趣点名称超过8个字符,直接标注到电子地图上容易压盖重要地物,所以地名和兴趣点需要对名称进行简化。
影像和DEM数据统一归类为栅格数据,作为电子地图的数据源,需要对影像和DEM数据进行镶嵌,为了提高镶嵌的效率,使用ArcGIS的Mosaic Dataset进行逻辑拼接,并对接边进行羽化等处理,影像和DEM数据仍以文件的形式进行存储,也能节省磁盘空间。
专题数据种类繁杂,无法按照统一的标准进行处理,但多数专题数据有行业标准,所以专题数据一般按照行业的标准规范进行数据组织。
3.2 电子地图符号库
ArcGIS提供了强大的符号制作功能,除ArcGIS提供的基本符号工具外,还支持基于图片、TrueType字体、多种组合等方式制作符号。符号库可以重复使用,即使需要进行调整,也比重新制作一个符号更节省时间,因此,收集和制作种类和样式越多的符号对快速制图越有利。ArcGIS Style符号库可以存储参考系统、阴影等20多种类型的符号,经常使用的符号包括点符号(Marker Symbols)、线符号(Line Symbols)、填充符号(Fill Symbols)、标注样式(Labels)、Maplex标注样式(Maplex Labels)。
Style符号库中还能存储颜色和色带,其中色带可以用来对DEM和山体阴影数据分段设色,常用的颜色和色带也要保存到符号库中。
(1)点符号
点符号可以使用TrueType字体生成,可以使用FontCreator定制电子地图需要的字体库。点符号还支持bmp、emf、png等格式的图片,可以使用Adobe Illustrator、CorelDRAW等软件制作出种类更丰富的点符号,但制作图片点符号需要注意图片的背景色透明和放大后失真的问题。png和emf格式的点符号放大后的效果比较如图2所示,png格式(如图2左所示)的图片制作的符号放大4倍后出现明显的模糊,而emf格式(如图2右所示)放大4倍后不存在任何失真,因此点符号的图片推荐采用emf格式。在Adobe Illustator或CorelDRAW中绘制矢量的点符号,Adobe Illustrator选择File菜单下的Export,CorelDraw选择File菜单下的Save、Save As或Export将点符号导出为emf格式。点符号库制作成果如图3所示。
图2 png和emf符号放大后对比
图3 点符号库
(2)线符号
ArcGIS线符号支持3D简单线符号、3D纹理线符号、标记线符号、混列线符号、简单线符号、图片线符号、制图线符号等多种类型,其中简单线符号、标记线符号、混列线符号和制图线符号是常用符号类型,通过设置符号的间隔、间距、角度、宽度、颜色等,并将几种符号类型组合实现各类制图需要的线状符号。如岩墙符号可以通过两条制图线符号、两条混列线符号实现,如图4所示。线状符号库如图5所示。
图4 岩墙符号组合方式
图5 线状符号库
(3)填充符号
填充符号用于为多边形设置填充样式。填充类型支持3D纹理填充符号、标记填充符号、简单填充符号、渐变填充、图片填充符号、线填充符号。填充符号是由边线符号和面填充样式组成,边线符号的设置与线符号相同,面填充样式可以通过设置填充颜色、填充线的样式和间距、填充标记的排列等实现填充符号。填充符号库如图6所示。
图6 填充符号库
(4)标注样式
标注样式用于显示电子地图注记,其包括了文本符号和放置属性。文本符号是设置标注的字体名称、字体大小、颜色、描边、对齐方式、文本背景等,实现注记的文字样式。放置属性主要用来设置注记如何标注在地图上,即注记的排列方式,如道路标注放置在道路中心线上,并沿道路进行弯曲等。Labels和Maplex Labels都是标注样式,两种标注样式的文本符号设置是相同的,但Maplex Labels具有更为强大的放置属性设置。标注样式库如图7所示。
图7 注记样式库
Style符号库还可以存储制图表达规则,制图表达能够将制图符号与数据一起存储在数据库中,实现数据自带符号,在ArcMap中加载数据时就能显示这些符号。同时单个要素的符号可以转换成自由式制图表达,此时符号的几何图形可以编辑,而不改变要素的几何图形。通过制图表达可以制作出更精细的电子地图。
3.3 制图模板
制图模板就是利用符号库中的符号对要素进行符号化,设置图层叠放顺序、要素类的显示顺序、各要素符号的等级等,形成一个存储数据源地址、图层名、符号配置、注记样式、比例尺范围、坐标系等信息的mxd格式的地图工程。除专门配置的mxd制图模板,生产电子地图的mxd工程也可以作为模板。制图模板中需要设置的主要内容包括以下6部分内容。
(1)图层顺序:按照要素的重要度和制图习惯,调整图层的叠放顺序,ArcGIS会按照内容列表(Table Of Contents)中图层排列顺序从下至上进行渲染,内容列表中最下面的图层先渲染,其符号在地图的最底层。
(2)符号化:矢量数据可以通过自动匹配或者人工设置为每类要素指定符号,自动匹配是利用与样式中的符号匹配(Match to symbols in a style)这一功能自动为要素设置匹配的符号,能有效提高制图的效率,数据源中需要要素名与符号库中的符号名对应。制作晕渲底图时,将DEM叠加到山体阴影数据上面,需要对山体阴影进行算法色带拉伸,DEM数据分段设色,然后通过设置DEM层的透明度,实现彩色的山体阴影效果,如图8所示。
图8 山体阴影颜色设置效果
(3)图层内要素的显示顺序:对于需要分类显示的图层,需要设置每类要素在图层内的显示顺序,对于多层符号组成的线状要素符号,还需要设置线状符号的符号等级、连接(Join)和合并(Merge)。图层属性中可以定义查询,通过SQL语句对要素进行过滤,即SQL查询结果作为该图层显示的要素,适用于需要显示某个图层部分要素的情况。
(4)标注设置:标注是重要的地图符号,ArcGIS中的注记分动态标注(Labels)和注记(Annotation),Labels分为标准(Standard)标注引擎和Maplex标注引擎,均是动态生成注记,不能由人工对单个标注进行编辑,地图漫游时会自动重绘,Maplex标准引擎功能更强大,ArcGIS 10.1之后的版本中Maplex引擎成为标配,不再作为扩展模块;Annotation必须存储在数据库中,可以进行人工编辑。通过合理的设置Labels的属性,结合Annotation进行人工编辑,可以制作出非常精细的注记,同时能够兼顾效率。Labels能实现丰富的标注样式,同时支持VBScript、Python和JScript脚本进行定制注记,如分数形式的标注可以将Parser设置为VBScript,然后在标注表达式中输入"" & vbCrLf & [分母]。
(5)图层分组:在一个配图mxd中可以包含多个比例尺的制图成果,只需要在mxd中做好分组即可,所有比例尺下都需要显示的图层作为一个分组,每个电子地图分级比例尺下需要显示的图层作为一组。
(6)比例尺范围:mxd工程中的每个图层(组)需要设置显示的比例尺范围,在比例尺范围内时图层能够显示,在比例尺范围外时不进行显示,这样就可以在一个mxd中设置不同级别的电子地图显示内容。
3.4 地图缓存
配置完成的mxd制图工程需要发布到ArcGIS Server,然后在ArcCatalog中进行切片。地图切片比较耗时,特别是大范围的大比例尺电子地图,瓦片数量能达到几百万张,甚至更多。为加快地图缓存的速度,需要注意以下几点:①mxd制图工程中避免使用复杂的符号和规则复杂的标注,缩短地图切片时的渲染时间;②选择性能较强的工作站或ArcGIS Server集群,并设置合理的缓存实例数量,充分利用多核多线程的硬件资源;③设置切片的范围,仅对目标范围进行切片;④尽量使用紧凑型瓦片,大数量的松散型瓦片的拷贝转移非常耗时;⑤设置合理的抗锯齿效果,要素的抗锯齿推荐设置为fast或normal;⑥将数据源和输出缓存放在不同的物理硬盘上,避免对一个物理硬盘同时进行读写;⑦本地矢量数据使用File Geodatabase存储,栅格数据一定要先创建金字塔。
为了能够快速设置切片的各个参数,通常将切片配置参数保存为xml格式的配置文件,配置文件中包含了坐标系、起始点坐标、瓦片大小、瓦片格式、分辨率、分级比例尺等,切片时可以直接使用配置文件,避免参数设置错误。
3.5 地图更新
电子地图更新方法有2种:一种是全部更新,即变化要素多、分布范围广,对电子地图进行全部更新,全部更新类似于重新生产电子地图;另一种是局部更新,即变化要素比较少,仅对变化要素范围内的电子地图进行更新。为了实现局部更新,需要准确提取数据源更新前后的增量要素,因此,在数据源中增加GUID型的字段作为全局唯一标识,为每个要素赋一个GUID值。GUID是一个由36个十六进制字符和“{}”组成的字符串,如“{688DAB05-C740-4E32-A93C-7ECCF2F7A20F}”,能够保证编码在数据库内部和跨数据库的唯一性。GUID字段需要编写程序进行维护,主要进行重复GUID值检查及处理、GUID赋值等。
要素从T0到T1时刻只有4种状态:新增、删除、修改以及未变化。T0和T1时刻的要素都有唯一标识码,可以通过唯一标识建立关联关系(Relationship),通过关联关系可以判断每个要素在T0和T1时刻的状态。T0时刻没有,T1时刻存在的要素为新增要素;T0时刻存在,T1时刻消失的要素为删除要素;T0和T1时刻都存在的要素则进行属性和几何图形的判断,属性、几何图形发生变化的为修改要素;T0和T1都存在,属性和几何图形都没有变化的要素为未变化要素。
提取T0到T1时刻的变化要素,使用ArcGIS Buffer工具按照一定距离生成变化要素的缓冲区,再找到Server Tools→Caching→Manage Map Server Cache Tiles工具,将Update Extent设置为变化要素的缓冲区,然后执行切片工具,即可实现对变化要素范围内的电子地图切片和更新。
3.6 快速制图方法应用
ArcGIS快速制图方法已应用于“天地图·福州”的电子地图生产,2012年完成福州市7-20级政务版和公众版矢量、影像和晕渲电子地图的制作,之后每年对电子地图进行2次更新。制作生产了交通出行、教育、休闲旅游、生活服务、医疗卫生、旧城改造等行业70余种专题地图。图9为福州市矢量电子地图。
图9 第9级福州矢量电子地图
4 总 结
政府、企业和公众对电子地图的需求越来越强,很多生产单位投入大量人力和物力为用户定制电子地图,如何快速定制用户需要的电子地图是生产中急需解决的问题。笔者根据多年工作经验对电子地图的快速制图方法进行了总结和研究,针对电子地图制作的每个环节提出提高制图效率的方法,特别是每个环节需要注意的问题,对电子地图生产者具有很好的参考价值。