留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种采用PostScript成像模型的高质量地图制图方法

李雅彦 杜清运 蔡忠亮 张磊 张铭晓

李雅彦, 杜清运, 蔡忠亮, 张磊, 张铭晓. 一种采用PostScript成像模型的高质量地图制图方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
引用本文: 李雅彦, 杜清运, 蔡忠亮, 张磊, 张铭晓. 一种采用PostScript成像模型的高质量地图制图方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
LI Yayan, DU Qingyun, CAI Zhongliang, ZHANG Lei, ZHANG Mingxiao. High Quality Cartography with Postscript Imaging Model[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
Citation: LI Yayan, DU Qingyun, CAI Zhongliang, ZHANG Lei, ZHANG Mingxiao. High Quality Cartography with Postscript Imaging Model[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139

一种采用PostScript成像模型的高质量地图制图方法

doi: 10.13203/j.whugis20150139
基金项目: 

国家自然科学基金 41371427

中央高校基本科研业务费专项资金 20102050101000052

详细信息
    作者简介:

    李雅彦, 博士生, 主要从事空间分析与地理信息可视化。li-yayan@126.com

  • 中图分类号: P283;P208

High Quality Cartography with Postscript Imaging Model

Funds: 

The National Natural Science Foundation of China 41371427

the Fundamental Research Funds for the Central Universities 20102050101000052

More Information
    Author Bio:

    LI Yayan, PhD candidate, specializes in spatial analysis and geo-visualization. E-mail: li-yayan@126.com

图(4) / 表(1)
计量
  • 文章访问数:  1604
  • HTML全文浏览量:  162
  • PDF下载量:  371
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-10-26
  • 刊出日期:  2018-03-05

一种采用PostScript成像模型的高质量地图制图方法

doi: 10.13203/j.whugis20150139
    基金项目:

    国家自然科学基金 41371427

    中央高校基本科研业务费专项资金 20102050101000052

    作者简介:

    李雅彦, 博士生, 主要从事空间分析与地理信息可视化。li-yayan@126.com

  • 中图分类号: P283;P208

摘要: 在分析以GIS数据为核心的传统地图制图基础上,针对基于GIS数据制图存在的制图效果不理想、要素冲突等问题,引入PostScript成像模型中的通用图形描述机制,实现对地图符号和制图数据的统一结构描述。设计了基于PostScript语言的高精度符号库,从地图符号结构、制图过程、地图要素冲突处理等方面阐明了利用PostScript成像模型进行地图制图的关键问题。利用PostScript语言研发的系统实践表明该方法能有效提高数字地图制图出版的效率和质量。

English Abstract

李雅彦, 杜清运, 蔡忠亮, 张磊, 张铭晓. 一种采用PostScript成像模型的高质量地图制图方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
引用本文: 李雅彦, 杜清运, 蔡忠亮, 张磊, 张铭晓. 一种采用PostScript成像模型的高质量地图制图方法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
LI Yayan, DU Qingyun, CAI Zhongliang, ZHANG Lei, ZHANG Mingxiao. High Quality Cartography with Postscript Imaging Model[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
Citation: LI Yayan, DU Qingyun, CAI Zhongliang, ZHANG Lei, ZHANG Mingxiao. High Quality Cartography with Postscript Imaging Model[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 379-384. doi: 10.13203/j.whugis20150139
  • 随着电子地图和多媒体呈现技术的发展, 长期以来对高质量地图产品生产过程及方法研究的忽视, 使得目前地图生产成为地理空间信息深入应用的一个瓶颈[1]。目前采用的手工数字制图效率低下,无法满足日益增长的地图产品需求和地图更新需要。利用地理空间数据库进行地图生产被认为是地理空间信息工程应用的关键技术[2-3]。一般认为地理数据采用数字景观模型(digital landscape model, DLM)描述,面向地形物体,不规定用什么符号来具体表示地形物体,是独立于表示法的[4];地图产品采用数字制图模型(digital cartographic model, DCM)描述,面向图形符号或制图表达,是地图生产者所特有的模型。基于DLM模型的地理数据和基于DCM模型的制图数据之间难以调和的矛盾让很多学者试图从地理数据到制图数据完美转变的理想难以实现。文献[5]分析了地理空间数据与地图数据的差异, 从信息模型的角度阐述了GIS体系不能直接用于地图制图的原因。

    针对基于地理空间数据库制图存在的问题,目前研究主要集中在地图符号库[6]、特殊要素符号化[7]、通用符号结构[8]、地图表达机制[9]等方面,提出了地图制图的符号图形概念[10]、地理空间信息的代数结构模型[1]等。但目前基于地理空间数据库的制图对象主要为DLM模型描述的地理要素,试图从要素结构、空间关系、地图符号和地图表达等角度去完善制图过程,却在根源上受DLM模型和结构的束缚,无法操作符号化图形细节以达到理想的视觉效果,难以满足地图产品尤其是公开版数据库地图出版的高精度需求,归纳起来主要有几个方面问题:

    1) 难以实现复杂的高精度矢量符号。以地理数据为核心的制图过程通常只能使用简单的矢量符号。对复杂矢量要素符号,如点状高精度复杂建筑物符号、线状不规则斜坡、阶梯路等符号显得难以表达。传统制图方法通常采用栅格符号来描述复杂要素图形,无法保证多比例尺下无缝缩放,很大程度上影响了制图产品的视觉效果并在地图更新中带来困难。

    2) 难以顾及地图要素之间的整体协调性。制图产品的空间关系基于视觉模型,强调地图表达和制图规范,重点是处理好符号与符号之间的关系以及追求地图的艺术效果,符合人类的认知习惯。而地理数据的空间关系则建立在欧几里得几何模型基础上,通过要素空间位置和要素语义属性表达强调要素的独立意义, 却难以顾及整体效果。

    3) 基于地理数据符号化后的地图在转换制图输出格式时常常会出现样式、色彩丢失, 比例失调等现象,导致在GIS软件中配置的地图与最终用于制图出版的视觉效果要求不一致。

    4) 目前基于地理数据库的制图流程最终往往脱离GIS环境而转入制图软件进行地图出版,而传统的制图流程将打断地理要素与制图要素之间的联系,使得制图后期人工识别与干预变得困难[3]

    • 分析结果表明,GIS数据无法实现高质量地图制图的根源在于:建立在几何模型基础上的GIS数据结构难以直接描述建立在视觉模型基础上的地图产品。因此, 本文引入二维图形领域广泛采用的PostScript成像模型来实现地图制图。

      PostScript(简称PS)语言是一种页面描述语言,是Adobe公司提出的一项二维图形描述标准, 成像模型是PS语言描述图形时最基本的理论依据[11],通过对由路径组成的区域进行着色操作来描述二维图形[12]。常用的数字制图软件如Ado Illustrate、CorelDraw的AI、EPS等格式均采用PS语言为基础,理论和生产实践证明PS语言能很好地描述地图图形。

    • 一般认为构成地图符号的6个视觉变量包括形状、尺寸、色彩、亮度、图案和纹理[13]。目前基于地理数据库的制图软件矢量符号构成相对简单,难以完全支持6个视觉变量及其组合形式。以点符号为例,通常符号样式较为简单、色彩单调,对高精度的复杂矢量图形则难以表达而采用栅格代替; 相比之下基于PS语言的图形软件能制作样式、色彩上更为丰富的矢量图形符号。图 1为CorelDraw软件制作的矢量图形符号。

      图  1  高精度矢量符号

      Figure 1.  High Precision Vector Symbols

      此外,PS语言同样能描述栅格图形,对较复杂的线状符号,基于路径的PS语言不仅能很好地描述简单线符号,更可以由一个路径、任意多个不同类型的笔划、装饰和轮廓变换实现各类复杂的线状符号[11]

    • GIS数据结构到PS语言的转化包括:

      1) 坐标转化。地图制图主要为地图出版服务,纸质地图中通常规定了特定要素的大小、宽度等描述,单位通常为mm、英寸,如公路线宽0.2 mm等; 而用于描述GIS数据的坐标系统通常采用地理坐标。转换过程主要包括地图投影和设备坐标映射。地图投影即由地理坐标(经纬度)投影到大地坐标(平面坐标);设备坐标映射为大地坐标到设备坐标(纸张坐标或屏幕坐标)的变换计算。坐标转换统一了地图符号与制图数据的单位量纲,为实现地图制图的“所见即所得”提供了保障。

      2) 对象转化。例如基于PS语言的可视化图形中无法表达几何空间里零维度的点要素,需要用特定路径构成的图案(如圆形)进行描述;此外部分GIS的光滑线数据在PS语言中转化为贝塞尔曲线等描述。

      3) 记录PS语言描述图形块与地理要素之间的对应关系,以保证制图中地理要素信息完整和良好的制图效果。

    • 基于GIS数据的传统地图符号化是将符号定义的特征参数应用于特定地理要素,使其按照符号所规定的样式绘制出来[10],在结构上数据与符号分离存储。基于PS语言的地图符号化是将由PS语言描述的地图符号特征参数应用于地理要素骨架线,最终生成由PS语言统一描述的二维图形集合。

      1) 点要素符号化。分为简单点符号和组合点符号,其中简单符号为组合符号的基础。以嵌套圆形这一组合符号为例说明点符号的符号化过程如下:

      ① 分解符号子路径。将组成符号的复杂图形分解为多个简单图形(圆形),再根据PS成像模型原理,将简单图形还原为路径对象(贝塞尔曲线)。

      ② 提取子路径特征参数。提取符号参数(大小)和各子路径的特征参数,包括填充色、线宽和颜色等。

      ③ 复制子路径数据。通过复制创建新的路径数据。

      ④ 路径变换。按地理要素中心点坐标、符号大小和PS语言构成的组合符号坐标范围构建变换矩阵,将新创建的子路径进行坐标变换,图 2为路径变换过程。

      图  2  地图符号的路径变换

      Figure 2.  Path Transformation of Map Symbol

      ⑤ 应用特征参数。对变换后的数据分别应用符号中子路径的路径参数,形成新的路径数据。

      ⑥ 路径组合。根据制图规则约束,将步骤5中的路径数据进行群组,推入数据堆栈。点符号化过程结束。

      2) 线符号符号化。包括分解线符号的路径组合,提取路径参数(包括线样式、线宽、线颜色等),复制地理数据路径并赋予对应参数,按符号中子路径层次组合关系推入数据堆栈等过程。以公路线符号为例,PS语言描述的公路符号为上下压盖的两条粗细、颜色不等的线条,符号化方法如下:

      ① 分解由PS语言描述的公路线符号为2条单一路径元素。

      ② 对任意一段地理骨架线,取制图源中数据L0{(x1, y1)…(x2, y2)},复制nL1Ln,其中n为PS语言描述符号中子路径数量,本文中n=2。

      ③ 将公路符号子路径中路径参数(style,width,color)分别应用于多条复制后的骨架线数据,形成新的线路径

      $$ \begin{align} &{{L}_{1}}(\rm{styl}{{\rm{e}}_{1}}, \rm{widt}{{\rm{h}}_{1}}, \rm{colo}{{\rm{r}}_{1}})~ \\ &{{L}_{2}}(\rm{styl}{{\rm{e}}_{2}}, \rm{widt}{{\rm{h}}_{2}}, \rm{colo}{{\rm{r}}_{2}})~ \\ \end{align} $$

      ④ 根据制图规则,对公路图层数据先将所有公路对应的L2路径集合推入数据堆栈,其后再将所有L1路径推入堆栈,形成上层整体压盖,避免形式化冲突。

      3) 面符号化过程与线符号化相似,区别在于在边线的基础上还需要应用填充参数,包括颜色填充、图案填充、渐变填充等。

    • PostScript语言中对文字的描述由字体、字大、字重、颜色、变换矩阵来描述,其中变换矩阵的6个参数实现了字体的位置、角度、变形等变换过程,除了能实现Windows矢量字库中提供的标准字体和右斜字体外,错切、旋转变换参数更能实现左斜、耸肩等特殊的变形字体。此外,PS语言描述文字要素还能通过提取标准字体的特征点坐标转化为封闭曲线路径,通过变换矩阵进行路径变换实现高精度、与字体无关的注记要素[14]。PS语言的组合关系能实现同一段文字内部不同文字段的字体、字大、颜色等的不同,方便实现文字的打散与组合。对沿线状要素分布的注记来说无疑更方便文字的摆放和后期的人工干预编辑。

    • 地图要素冲突主要包含空间争位冲突、形式化表达冲突和基础数据冲突3类。

      1) 空间争位冲突。针对这种由于符号化后的地图要素相对于原有要素空间位置发生变化的冲突,通过计算地理要素对应的PS语言描述的图块占据的位置,采取舍弃、移位、压盖等操作处理冲突。

      2) 形式化表达冲突。针对这种由于地理要素符号化后的未达到制图表达效果的冲突,通过控制符号化要素顺序和压盖关系(PS语言堆栈中的路径顺序)解决表达冲突,如图 3通过分解组成道路符号的上下两条路径,将图幅内所有上层路径(白色)统一压盖下层路径(黄色),视觉上解决冲突。

      图  3  道路线压盖冲突

      Figure 3.  Route Gland Conflict

      3) 基础数据冲突。针对这种在符号配置过程中,由于基础数据欠缺或基础数据未能满足符号化配置的需求,而影响符号化配置的效果[15]的情况,在GIS数据向PS语言数据结构转换过程中,通过补充、调整、扩展要素,解决基础数据冲突问题。

    • 基于GIS数据制图中的传统地图整饰常包括内外图廓、方里网、图名、图例、比例尺、坡度尺、三北方向线等。这些非结构化的图形通常采用独立框架嵌入到制图系统内,且模板固定不易扩展。PS语言的路径描述能将以上图形统一描述为二维图形块模板,通过层次划分、路径变换后在制图过程中直接融入到地图图形集合中,使得地图看上去更直观和完整,且便于制图者定制。

    • 基于PostScript成像模型的地图产品高质量主要体现在以下几个方面:

      1) 采用PS语言统一描述和存储符号化后的空间数据。用PS语言结构下的贝塞尔、样条、多义线、圆弧等光滑曲线代替GIS单一的数据结构,使得图形细节更加光滑逼真;变换矩阵、文字转曲线等描述实现了多样性注记显示;CMYK和RGB色彩模式的运用使地图产品色彩更丰富并能直接面向印刷出版。

      2) 基于PS语言制作的地图符号库,能实现精度和复杂度更高、样式更丰富的矢量符号。

      3) 顾及地理要素关系。基于PS语言的制图数据描述能有效地对符号化图形进行分解与重组,能很好地解决地图产品中形式化冲突和地理数据缺失等问题,使地图产品更加逼近真实世界面貌。

      4) PS语言不仅能描述地形图,更能支持卡通类、艺术类等复杂图形[11],在支持地图图形和地图整饰等方面效果更优秀。

      5) 基于PS语言的图形输出支持GDI+等高质量图形输出引擎,与传统的图形设备接口(graphics device interface, GDI)相比,GDI+直接支持贝塞尔曲线, 主要有渐变画刷、独立的路径对象、矩阵对象、区域和多格式图片支持等特点[6]。运用GDI+绘制图形时, 图形要素的轮廓更平滑, 可视化效果更佳。

    • 基于上述思想,本文采用C++语言底层开发了基于PostScript语言的地图制图系统。系统核心采用GIS数据结构和PS语言两套数据结构,以保证制图过程中地理要素的信息完整和良好的制图效果。制图数据源采用国家基础地理数据shp格式;系统符号库由CorelDraw等成熟图形软件制作后批量导入,能充分利用现有图形符号成果,避免了传统制图软件独立开发繁琐的地图符号编辑模块过程,同时实现了地图符号共享。图 4为基于PS语言的制图系统界面。

      图  4  基于PostScript成像模型地图制图系统界面

      Figure 4.  Interface of Mapping System Based on PS Language

      基于PostScript语言的地图制图系统主要工作流程为:①在CorelDraw软件中制作特定比例尺下的地图符号并输出AI格式文件,制图系统中导入AI格式文件并按点、线、面、文字分类入库; ②制定特定比例尺下的制图规则知识库;③基础地理数据预处理,包括要素分层、数据抽稀和光滑等); ④导入基础地理数据;⑤设置出版纸张大小、色彩模式等,转换GIS格式到PS语言结构;⑥按图层、要素分类进行符号化;⑦压盖关系处理;⑧添加预设的地图整饰模板;⑨地图导出AI格式进制图软件人工检查与干预修正;⑩地图出版。

    • 从ArcGIS的制图效果与基于PS语言的制图效果对比可以发现,基于PS语言的制图效果在样式、色彩上更加丰富,可视化效果更佳。表 1将基于PS语言的制图系统与传统手工制图、ArcGIS制图就数据源、符号、制图表达等功能进行对比,从表 1中可看出,基于PS语言制图能有效兼顾制图效率和制图效果。

      表 1  基于PS语言制图与其他制图系统功能对比

      Table 1.  Function of Mapping System Based on PS Language and Other Mapping System

      制图方法 数据源 符号库 符号共享 制图原子 制图表达 制图转换 制图方式 可编辑性
      手工制图 影像、矢量地形图 无符号库或部分点符号 部分 图形元 符合人类认知 无损 手工作业 可编辑
      ArcGIS制图 地理数据库 简单矢量、栅格符号 部分 地理要素 压盖、冲突较多 有损 自动制图 困难
      基于PS语言的地图制图 地理数据库 复杂矢量符号、栅格符号 PostScript标准下共享 图形元 压盖、冲突较少 无损 自动制图、人工干预 可编辑
    • 本文针对基于地理数据库的传统制图中存在的效果不佳等问题,引入二维图形领域的PostScript成像模型,以PS语言作为地图符号和地图数据的统一结构描述,实现了高精度矢量地图符号,通过将地理数据结构向PS语言的转换,为数字地图制图提供了新思路,实现了高效率、高精度的地图制图。该方法不仅能解决地图制图中数据源瓶颈,更能在制图过程中操控符号化图形细节,解决传统制图中冲突、压盖等问题,符合人工制图思维习惯,不仅适用于纸质地图出版,也适用于屏幕地图表达。

      基于本文模型的软件成果已应用于地图出版,制图效果表明该方法在符号制作、数据转换和地图出版方面优势明显,提高了工作效率。下一步研究工作将从理论和实践角度对制图表达、制图知识库等进行完善和深化。

参考文献 (15)

目录

    /

    返回文章
    返回