CASS9.1 地形图CMYK 颜色的实现

2012-06-29 08:58:00    来源:

摘要:国家基本比例尺地图图式第1 部分: 1∶500 1∶1000 1∶2000地形图图式已于2007 年12 月开始实施。目前南方公司开发的CASS9.1 成图系统能较好地满足新图式的要求,但图形颜色不符合图式CMYK分色的要
一、引言

    南方CASS 地形地藉成图软件是基于AutoCAD平台二次开发的GIS 前端数据处理系统,也是目前测绘大比例地形图较常用的软件。其中,CASS9. 1是目前执行2007 新图式( 以下简称图式) 较好的成图软件之一。它修正了CASS9. 0 版本较多不符合新图式标准的地方,基本符合了图式的要求,但图形颜色仍然不符合图式对于多色图需按青、品红、黄、黑( CMYK) 四色进行分色的要求。
    通过学习图式及分析CASS 成图原理,本文介绍一种根据CASS 图元编码修改其颜色的方法来实现CASS 编辑的地形图颜色与图式要求的CMYK 颜色的统一。
 
二、问题分析

1.图式CMYK 颜色
    2007 图式有别于1995 图式[2]的单色出图,而是采用青、品红、黄、黑( CMYK) 四色进行组合分色,图式中共有9 种CMYK 颜色组合,如表1 所示。
    通过对图式分析,可得出图式CMYK 分色的特点如下:
    1) K100 色值是图式基色,是用色最多的色值。
    2) C10 色值用于所有水系面; C100 色值用于所有水系边线、饮用水井等。此外,水系层要素大多数仍然是使用K100 色值。
    3) C100Y100 色值是植被与土质层的配置符号使用最多的色值。
    4) M40Y100K30 色值用于地貌层中的自然地貌,而地貌层中非自然地貌等其他元素仍然使用K100 色值。
    5) 使用以上色值外的其他色值元素均较少。
    2.CASS 地形图颜色
    CASS 是在AutoCAD 平台下二次开发的成图系统,因此需要先了解一下AutoCAD 平台的颜色配置。其颜色配置分为索引颜色、真彩色( RGB) 两种方式,而其中只有RGB 可与CMYK 色值一一对应,这是AutoCAD 平台下实现图式CMYK 色值的基础。
    AutoCAD 平台下可通过设置图层、块表颜色,然后通过设置图元颜色随层( ByLayer) 或者随块( ByBlock) 的方式进行图元颜色的设置。也可以直接设置图元颜色为索引色或RGB 色。
    CASS 成图系统是采用设置图层索引、图元颜色随层( ByLayer) 的方式进行地形图配色,其与图式图层的映射关系如表2 所示
    按照这种方式无法实现图式CMYK 的分色方式,主要是因为:
    1) 利用图层来控制颜色设置,无法涵盖不同图元颜色。
    2) CASS 符号块表内子图元颜色均为随层( ByLayer) ,即使修改符号块颜色,其色值也不会改变,仍然为所在图层的颜色。
    3.CASS 编码体系
    CASS 成图系统编码分为骨架线编码和辅助符号编码。骨架线编码采用6 位数字标识,而辅助符号编码采用骨架线编码+“-”+ 顺序号的方式标识。如依比例围墙骨架线编码为144301,其辅助符号围墙小方块的编码为144301-1。
    CASS 成图系统是通过编码来区分图形实体的,所有图元的编码信息均在图元索引文件( index. ini)中进行了定义,任何图元均有可识别其唯一类型的编码。因此,可根据图式颜色要求,对CASS 中所有编码一对一地进行颜色配置,并通过修改对应编码图形实体的颜色达到符合图式颜色要求的目的。

三、设计思路
 
    通过以上的分析可知,要实现CASS 地形图符合图式CMYK 颜色的分色要求,应从以下几个方面着手:
    1) 建立CMYK 色值与RGB 色值的对应关系。
    2) 建立CASS 图层颜色与RGB 色值的对应关系。
    3) 建立CASS 图元编码与CMYK 色值的对应关系,并最终得到CASS 图元编码与RGB 色值的映射关系表文件。
    1.图式CMYK 色值与RGB 色值关系
    利用Photoshop 等软件,输入CMYK 色值可得到对应的RGB 色值,其对应关系如表3 所示。
    2.CASS 图层颜色设置
    通过上文中对图式CMYK 颜色的分析可知,为减少编码映射的数量,即减少后期程序需要修改图元颜色的数量,可根据颜色与图层的关系,对于需要进行大量编码修改颜色的植被与土质层使用C100Y100 色值,其余图层均使用K100 色值,如表4所示。
    3.CASS 编码与CMYK 色值映射关系
    梳理CASS 配置文件中的编码,并与图式对应,找出CASS 中编码与CMYK 颜色的对应关系,其部分对应关系如表5 所示。
    配合CASS 图层颜色的设置,图元的颜色设置还应遵循以下规则:
    1) 编码映射文件图元颜色应设置为表5 中对应的RGB 色值。
    2) 非编码映射文件图元颜色随层( ByLayer) 。从表5 中可见,颜色C10 无对应的CASS 图形编码,后文会提出解决方法。
    4.符号块表颜色的修改
    由于CASS 图形中符号块表内的子图元颜色默认为随层( ByLayer) ,即使将符号块颜色修改为对应的RGB 颜色,图上符号块也只显示图层设置的颜色。因此,还需要遍历修改符号块对应的块表内子图元颜色为随块( ByBlock) ,符号块的颜色修改才能起作用。
    5.算法设计
    通过以上分析,程序算法设计如下:
    1) 可对图形进行批量处理,首先读取表4、表5配置文件( 映射为RGB 色值) ;
    2) 单个图形读入后,按照表4 设置图层颜色;
    3) 遍历图形元素,并读取其CASS 编码,若是表5 中编码图元则设置其对应RGB 颜色,否则设置其颜色随层( ByLayer) ;
    4) 遍历图形中符号块的块表,将其块表内所有子图元颜色设置为( ByBlock) ;
    5) 保存单个图形,重复以上步骤2) ~ 步骤4)步至完成所有图形颜色修改。

四、水系面颜色配置
 
    以上叙述已经解决了除水系面颜色外的CASS图元颜色要符合图式CMYK 四色分色要求的问题。
但要实现图式水系面颜色配置的首要条件是绘制的对应编码边线是封闭的图元,这就对地形图编辑提出了更高的要求。由于其绘制工作量较大、要求高,因此可根据地形图出图的需要,决定是否进行水系面的填充,所以该项工作为可选步骤。
    1.水系面边线绘制
    通过分析图式及CASS 配置文件,属于水系面地物并需要进行水系面填充的图元边线编码如表6所示。
    此类编码地物在绘制时必须闭合,这样才能在后续处理中成功生成填充面。绘制前有以下几点需要注意:
    1) 地面河流岸线在CASS 配置中属于水系线,应在其index. ini 文件中将其属性表修改为水系面“HYDPY”。
    2) 按照图式水系与地貌坎线的配合使用原则为: 水系是单独绘制的,并在其上绘制地貌坎线。但是,CASS 中如有坎池塘( 未加固) 使用的是单独的编码,并未考虑加固坎的情况。因此,建议池塘绘制为无坎池塘,并额外绘制坎线; 水池绘制为低于地面水池,并额外绘制坎线,也可避开CASS 中使用的编码,增加池塘、水池编码进行单独绘制。
    3) 以上面状编码绘制后,需利用CASS 自带的图形实体检查菜单下的“面状地物封闭检查”功能检查其封闭性,检查正确后才能进行图幅分幅。
    4) 由于分幅裁切后图廓接边处面状地物仍然不闭合,可利用程序判断进行自动封闭或手动封闭。
    2.水系面填充
    利用程序遍历分幅地形图图元,若编码为表6中的地物编码,并且为闭合图元则自动根据其边界进行填充,并设置填充面图元的编码,设置图层为水系层,颜色设置为C10 对应的RGB 色值( 234,246, 253) 。
    增加的填充面图元编码应在CASS 成图系统文件符号定义文件work. def 以及图元索引文件index. ini中进行定义。


五、图层叠放顺序
 
    通过分析图式样图,采用CMYK 四色分色后,地形图图层的叠放顺序也有相应的要求。如注记层在最上面、水系层在最下面( 如为有坎池塘,坎线在池塘上面) 等,整理后CASS 成图系统中地形图常用图层叠放顺序如表7 所示。
    通过重新对图层按照表7 顺序叠放,出图效果更能符合图式要求。
 
六、实例应用
 
    1.满足图式要求
    笔者利用C#语言及VS2005 开发环境,采用以上思路在AutoCAD 2008 下二次开发了根据编码修改图元颜色、水系面自动闭合填充、修改图层叠放顺序等功能模块,成功实现了CASS9. 1 地形图颜色符合图式CMYK 四色分色的要求,并在多个地形图测量项目中得到了有效应用。
    此外,笔者所在单位测绘的昆明市1∶ 500 城市基础地形图正在逐步入库至EPS2008 数据库中,并利用EPS2008 将其转换为符合CASS9. 1 数据标准的功能模块,且对外提供利用该程序转换的符合图式要求的CASS9. 1 数据标准地形图,广泛应用于规划、建设、土地利用等行业,得到了用户的好评。
    2.满足用户要求
    以上程序除满足图式CMYK 四色分色需要外,也可通过修改图层颜色配置文件、图元编码颜色配置文件、图层叠放配置文件来满足用户的地形图颜色的特殊要求。如在弥勒县1∶ 500 数字化地形图测量项目中( 1∶ 500 地形图160 km2 测量及1∶ 2000 地形图缩编) ,用户要求图式中地貌图元中M40Y100K30 色值使用22 号色、水系图元中C100色值使用5 号色等、无需使用水系填充面等。通过修改相应配置文件,程序功能模块则不失一般性均可根据需要进行更改,达到用户要求。
    3.地形图检查
    通过颜色修改后的地形图,不但可满足图式CMYK 分色的要求,还可快速查看到图形编码是否错误。虽然图形绘制的编码符合CASS 编码规则,但其编码可能与地物不匹配,如专用公路、省道、县道,其颜色均不相同。若省道利用县道的编码来绘制,可通过图元颜色看出其编码的错误。
同理,通过修改配置文件,将需要重点检查的编码色值进行修改。程序运行后,通过查看地形图地物颜色即可一目了然地识别图形编码是否错误,从而可大大提高查图效率。
 
七、结束语

    本文提出的CASS9. 1 地形图CMYK 颜色实现是便于实际应用的可行性方法,充分利用了CASS地物编码唯一性,以及CASS 成图系统和AutoCAD图形颜色特性,编制程序实现了CASS9. 1 地形图CMYK 颜色的分色。程序配置文件可根据实际需求快速、便捷地对其进行修改,以满足不同地形图配色要求。程序执行效率较高,单幅地形图颜色修改一般在5 ~10 s 即可完成,满足了查图、出图的需要。


参考文献:
[1] 中华人民共和国国家质量监督检验检疫总局. GB/T20257. 1—2007 国家基本比例尺地形图图式第1部
分: 1∶ 500 1∶ 1000 1∶ 2000 地形图图式[S]. 北京: 中国标准出版社, 2007.
[2] 国家技术监督局. GB/T 7929—1995 1 ∶ 500 1 ∶ 10001∶ 2000地形图图式[S]. 北京: 中国标准出版社, 1995.
[3] 曾洪飞,张帆,卢择临. AutoCAD VBA&VB. NET 开发基础与实例教程[M]. 北京: 中国电力出版社, 2008.
[4] 蒲朝旭,余代俊,陈延娟,等. CASS2008 与2007 版地形图图式的统一性研究[J]. 测绘, 2010( 1) : 45-48.
[5] 杨义辉,崔俊飞,李明建. GIS 空间数据与DXF 格式相互转换时颜色匹配研究[J]. 北京测绘,2010 ( 1 ) :38-40.
[6] 杨智慧,乔晓霞. AutoCAD 图块颜色的修改方法及实现实例[J]. 工程设计CAD 及自动化, 1997( 6) : 51-53.

声明:中国勘测联合网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。