王友昆,鐘高飛,張君華
(昆明市測繪研究院,云南昆明650051)
CASS9.1地形圖CMYK顏色的實現
王友昆,鐘高飛,張君華
(昆明市測繪研究院,云南昆明650051)
國家基本比例尺地圖圖式第1部分:1∶500 1∶1000 1∶2000地形圖圖式(GB/T 20257.1—2007)[1]已于2007年12月開始實施。目前南方公司開發的CASS9.1成圖系統能較好地滿足新圖式的要求,但圖形顏色不符合圖式CMYK分色的要求。因此提出根據CASS圖元編碼唯一的特性,將CMYK色值映射為AutoCAD系統能識別的RGB色值,并通過編碼修改對應圖元的RGB色值達到圖式的分色要求。并在AutoCAD 2008下進行二次開發實現上述功能,滿足地形圖CMYK分色出圖的需要。
CASS9.1;地形圖圖式;CMYK;顏色
南方CASS地形地藉成圖軟件是基于AutoCAD平臺二次開發的GIS前端數據處理系統,也是目前測繪大比例地形圖較常用的軟件。其中,CASS9.1是目前執行2007新圖式[1](以下簡稱圖式)較好的成圖軟件之一。它修正了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)使用以上色值外的其他色值元素均較少。

表1 圖式CMYK色值
2.CASS地形圖顏色
CASS是在AutoCAD平臺下二次開發的成圖系統,因此需要先了解一下AutoCAD平臺的顏色配置。其顏色配置分為索引顏色、真彩色(RGB)兩種方式,而其中只有RGB可與CMYK色值一一對應,這是AutoCAD平臺下實現圖式CMYK色值的基礎。
AutoCAD平臺下可通過設置圖層、塊表顏色,然后通過設置圖元顏色隨層(ByLayer)或者隨塊(ByBlock)的方式進行圖元顏色的設置。也可以直接設置圖元顏色為索引色或RGB色。
CASS成圖系統是采用設置圖層索引、圖元顏色隨層(ByLayer)的方式進行地形圖配色,其與圖式圖層的映射關系如表2所示。

表2 CASS圖層及索引色映射表
按照這種方式無法實現圖式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所示。

表3 圖式CMYK色值與RGB色值映射關系
2.CASS圖層顏色設置
通過上文中對圖式CMYK顏色的分析可知,為減少編碼映射的數量,即減少后期程序需要修改圖元顏色的數量,可根據顏色與圖層的關系,對于需要進行大量編碼修改顏色的植被與土質層使用C100Y100色值,其余圖層均使用K100色值,如表4所示。

表4 CASS圖層顏色色值
3.CASS編碼與CMYK色值映射關系
梳理CASS配置文件中的編碼,并與圖式對應,找出CASS中編碼與CMYK顏色的對應關系,其部分對應關系如表5所示。
配合CASS圖層顏色的設置,圖元的顏色設置還應遵循以下規則:
1)編碼映射文件圖元顏色應設置為表5中對應的RGB色值。
2)非編碼映射文件圖元顏色隨層(ByLayer)。
從表5中可見,顏色C10無對應的CASS圖形編碼,后文會提出解決方法。
4.符號塊表顏色的修改
由于CASS圖形中符號塊表內的子圖元顏色默認為隨層(ByLayer),即使將符號塊顏色修改為對應的RGB顏色,圖上符號塊也只顯示圖層設置的顏色。因此,還需要遍歷修改符號塊對應的塊表內子圖元顏色為隨塊(ByBlock),符號塊的顏色修改才能起作用。

表5 部分CASS編碼對應色值
5.算法設計
通過以上分析,程序算法設計如下:
1)可對圖形進行批量處理,首先讀取表4、表5配置文件(映射為RGB色值);
2)單個圖形讀入后,按照表4設置圖層顏色;
3)遍歷圖形元素,并讀取其CASS編碼,若是表5中編碼圖元則設置其對應RGB顏色,否則設置其顏色隨層(ByLayer);
4)遍歷圖形中符號塊的塊表,將其塊表內所有子圖元顏色設置為(ByBlock);
5)保存單個圖形,重復以上步驟2)~步驟4)步至完成所有圖形顏色修改。
以上敘述已經解決了除水系面顏色外的CASS圖元顏色要符合圖式CMYK四色分色要求的問題。
但要實現圖式水系面顏色配置的首要條件是繪制的對應編碼邊線是封閉的圖元,這就對地形圖編輯提出了更高的要求。由于其繪制工作量較大、要求高,因此可根據地形圖出圖的需要,決定是否進行水系面的填充,所以該項工作為可選步驟。
1.水系面邊線繪制
通過分析圖式及CASS配置文件,屬于水系面地物并需要進行水系面填充的圖元邊線編碼如表6所示。

表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 CASS圖層疊放順序表
通過重新對圖層按照表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/T 20257.1—2007國家基本比例尺地形圖圖式第1部分:1∶500 1∶1000 1∶2000地形圖圖式[S].北京:中國標準出版社,2007.
[2] 國家技術監督局.GB/T 7929—1995 1∶500 1∶1000 1∶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.
Realization of CMYK Color in Topographic Map Edit by CASS9.1
WANG Youkun,ZHONG Gaofei,ZHANG Junhua
0494-0911(2012)06-0077-04
P283.1
B
2011-08-19
王友昆(1982—),男,四川富順人,碩士,工程師,主要從事測繪產品質量檢查及GIS研究與應用工作。