王友昆,鐘高飛,張君華
(昆明市測(cè)繪研究院,云南昆明650051)
CASS9.1地形圖CMYK顏色的實(shí)現(xiàn)
王友昆,鐘高飛,張君華
(昆明市測(cè)繪研究院,云南昆明650051)
國家基本比例尺地圖圖式第1部分:1∶500 1∶1000 1∶2000地形圖圖式(GB/T 20257.1—2007)[1]已于2007年12月開始實(shí)施。目前南方公司開發(fā)的CASS9.1成圖系統(tǒng)能較好地滿足新圖式的要求,但圖形顏色不符合圖式CMYK分色的要求。因此提出根據(jù)CASS圖元編碼唯一的特性,將CMYK色值映射為AutoCAD系統(tǒng)能識(shí)別的RGB色值,并通過編碼修改對(duì)應(yīng)圖元的RGB色值達(dá)到圖式的分色要求。并在AutoCAD 2008下進(jìn)行二次開發(fā)實(shí)現(xiàn)上述功能,滿足地形圖CMYK分色出圖的需要。
CASS9.1;地形圖圖式;CMYK;顏色
南方CASS地形地藉成圖軟件是基于AutoCAD平臺(tái)二次開發(fā)的GIS前端數(shù)據(jù)處理系統(tǒng),也是目前測(cè)繪大比例地形圖較常用的軟件。其中,CASS9.1是目前執(zhí)行2007新圖式[1](以下簡稱圖式)較好的成圖軟件之一。它修正了CASS9.0版本較多不符合新圖式標(biāo)準(zhǔn)的地方,基本符合了圖式的要求,但圖形顏色仍然不符合圖式對(duì)于多色圖需按青、品紅、黃、黑(CMYK)四色進(jìn)行分色的要求。
通過學(xué)習(xí)圖式及分析CASS成圖原理,本文介紹一種根據(jù)CASS圖元編碼修改其顏色的方法來實(shí)現(xiàn)CASS編輯的地形圖顏色與圖式要求的CMYK顏色的統(tǒng)一。
1.圖式CMYK顏色
2007圖式有別于1995圖式[2]的單色出圖,而是采用青、品紅、黃、黑(CMYK)四色進(jìn)行組合分色,圖式中共有9種CMYK顏色組合,如表1所示。
通過對(duì)圖式分析,可得出圖式CMYK分色的特點(diǎn)如下:
1)K100色值是圖式基色,是用色最多的色值。
2)C10色值用于所有水系面;C100色值用于所有水系邊線、飲用水井等。此外,水系層要素大多數(shù)仍然是使用K100色值。
3)C100Y100色值是植被與土質(zhì)層的配置符號(hào)使用最多的色值。
4)M40Y100K30色值用于地貌層中的自然地貌,而地貌層中非自然地貌等其他元素仍然使用K100色值。
5)使用以上色值外的其他色值元素均較少。
表1 圖式CMYK色值
2.CASS地形圖顏色
CASS是在AutoCAD平臺(tái)下二次開發(fā)的成圖系統(tǒng),因此需要先了解一下AutoCAD平臺(tái)的顏色配置。其顏色配置分為索引顏色、真彩色(RGB)兩種方式,而其中只有RGB可與CMYK色值一一對(duì)應(yīng),這是AutoCAD平臺(tái)下實(shí)現(xiàn)圖式CMYK色值的基礎(chǔ)。
AutoCAD平臺(tái)下可通過設(shè)置圖層、塊表顏色,然后通過設(shè)置圖元顏色隨層(ByLayer)或者隨塊(ByBlock)的方式進(jìn)行圖元顏色的設(shè)置。也可以直接設(shè)置圖元顏色為索引色或RGB色。
CASS成圖系統(tǒng)是采用設(shè)置圖層索引、圖元顏色隨層(ByLayer)的方式進(jìn)行地形圖配色,其與圖式圖層的映射關(guān)系如表2所示。
表2 CASS圖層及索引色映射表
按照這種方式無法實(shí)現(xiàn)圖式CMYK的分色方式,主要是因?yàn)?
1)利用圖層來控制顏色設(shè)置,無法涵蓋不同圖元顏色。
2)CASS符號(hào)塊表內(nèi)子圖元顏色均為隨層(ByLayer),即使修改符號(hào)塊顏色,其色值也不會(huì)改變,仍然為所在圖層的顏色。
3.CASS編碼體系
CASS成圖系統(tǒng)編碼分為骨架線編碼和輔助符號(hào)編碼。骨架線編碼采用6位數(shù)字標(biāo)識(shí),而輔助符號(hào)編碼采用骨架線編碼+“-”+順序號(hào)的方式標(biāo)識(shí)。如依比例圍墻骨架線編碼為144301,其輔助符號(hào)圍墻小方塊的編碼為144301-1。
CASS成圖系統(tǒng)是通過編碼來區(qū)分圖形實(shí)體的,所有圖元的編碼信息均在圖元索引文件(index.ini)中進(jìn)行了定義,任何圖元均有可識(shí)別其唯一類型的編碼。因此,可根據(jù)圖式顏色要求,對(duì)CASS中所有編碼一對(duì)一地進(jìn)行顏色配置,并通過修改對(duì)應(yīng)編碼圖形實(shí)體的顏色達(dá)到符合圖式顏色要求的目的。
通過以上的分析可知,要實(shí)現(xiàn)CASS地形圖符合圖式CMYK顏色的分色要求,應(yīng)從以下幾個(gè)方面著手:
1)建立CMYK色值與RGB色值的對(duì)應(yīng)關(guān)系。
2)建立CASS圖層顏色與RGB色值的對(duì)應(yīng)關(guān)系。
3)建立CASS圖元編碼與CMYK色值的對(duì)應(yīng)關(guān)系,并最終得到CASS圖元編碼與RGB色值的映射關(guān)系表文件。
1.圖式CMYK色值與RGB色值關(guān)系
利用Photoshop等軟件,輸入CMYK色值可得到對(duì)應(yīng)的RGB色值,其對(duì)應(yīng)關(guān)系如表3所示。
表3 圖式CMYK色值與RGB色值映射關(guān)系
2.CASS圖層顏色設(shè)置
通過上文中對(duì)圖式CMYK顏色的分析可知,為減少編碼映射的數(shù)量,即減少后期程序需要修改圖元顏色的數(shù)量,可根據(jù)顏色與圖層的關(guān)系,對(duì)于需要進(jìn)行大量編碼修改顏色的植被與土質(zhì)層使用C100Y100色值,其余圖層均使用K100色值,如表4所示。
表4 CASS圖層顏色色值
3.CASS編碼與CMYK色值映射關(guān)系
梳理CASS配置文件中的編碼,并與圖式對(duì)應(yīng),找出CASS中編碼與CMYK顏色的對(duì)應(yīng)關(guān)系,其部分對(duì)應(yīng)關(guān)系如表5所示。
配合CASS圖層顏色的設(shè)置,圖元的顏色設(shè)置還應(yīng)遵循以下規(guī)則:
1)編碼映射文件圖元顏色應(yīng)設(shè)置為表5中對(duì)應(yīng)的RGB色值。
2)非編碼映射文件圖元顏色隨層(ByLayer)。
從表5中可見,顏色C10無對(duì)應(yīng)的CASS圖形編碼,后文會(huì)提出解決方法。
4.符號(hào)塊表顏色的修改
由于CASS圖形中符號(hào)塊表內(nèi)的子圖元顏色默認(rèn)為隨層(ByLayer),即使將符號(hào)塊顏色修改為對(duì)應(yīng)的RGB顏色,圖上符號(hào)塊也只顯示圖層設(shè)置的顏色。因此,還需要遍歷修改符號(hào)塊對(duì)應(yīng)的塊表內(nèi)子圖元顏色為隨塊(ByBlock),符號(hào)塊的顏色修改才能起作用。
表5 部分CASS編碼對(duì)應(yīng)色值
5.算法設(shè)計(jì)
通過以上分析,程序算法設(shè)計(jì)如下:
1)可對(duì)圖形進(jìn)行批量處理,首先讀取表4、表5配置文件(映射為RGB色值);
2)單個(gè)圖形讀入后,按照表4設(shè)置圖層顏色;
3)遍歷圖形元素,并讀取其CASS編碼,若是表5中編碼圖元?jiǎng)t設(shè)置其對(duì)應(yīng)RGB顏色,否則設(shè)置其顏色隨層(ByLayer);
4)遍歷圖形中符號(hào)塊的塊表,將其塊表內(nèi)所有子圖元顏色設(shè)置為(ByBlock);
5)保存單個(gè)圖形,重復(fù)以上步驟2)~步驟4)步至完成所有圖形顏色修改。
以上敘述已經(jīng)解決了除水系面顏色外的CASS圖元顏色要符合圖式CMYK四色分色要求的問題。
但要實(shí)現(xiàn)圖式水系面顏色配置的首要條件是繪制的對(duì)應(yīng)編碼邊線是封閉的圖元,這就對(duì)地形圖編輯提出了更高的要求。由于其繪制工作量較大、要求高,因此可根據(jù)地形圖出圖的需要,決定是否進(jìn)行水系面的填充,所以該項(xiàng)工作為可選步驟。
1.水系面邊線繪制
通過分析圖式及CASS配置文件,屬于水系面地物并需要進(jìn)行水系面填充的圖元邊線編碼如表6所示。
表6 水系面填充邊線地物編碼
此類編碼地物在繪制時(shí)必須閉合,這樣才能在后續(xù)處理中成功生成填充面。繪制前有以下幾點(diǎn)需要注意:
1)地面河流岸線在CASS配置中屬于水系線,應(yīng)在其index.ini文件中將其屬性表修改為水系面“HYDPY”。
2)按照?qǐng)D式水系與地貌坎線的配合使用原則為:水系是單獨(dú)繪制的,并在其上繪制地貌坎線。但是,CASS中如有坎池塘(未加固)使用的是單獨(dú)的編碼,并未考慮加固坎的情況。因此,建議池塘繪制為無坎池塘,并額外繪制坎線;水池繪制為低于地面水池,并額外繪制坎線,也可避開CASS中使用的編碼,增加池塘、水池編碼進(jìn)行單獨(dú)繪制。
3)以上面狀編碼繪制后,需利用CASS自帶的圖形實(shí)體檢查菜單下的“面狀地物封閉檢查”功能檢查其封閉性,檢查正確后才能進(jìn)行圖幅分幅。
4)由于分幅裁切后圖廓接邊處面狀地物仍然不閉合,可利用程序判斷進(jìn)行自動(dòng)封閉或手動(dòng)封閉。
2.水系面填充
利用程序遍歷分幅地形圖圖元,若編碼為表6中的地物編碼,并且為閉合圖元?jiǎng)t自動(dòng)根據(jù)其邊界進(jìn)行填充,并設(shè)置填充面圖元的編碼,設(shè)置圖層為水系層,顏色設(shè)置為C10對(duì)應(yīng)的RGB色值(234,246,253)。
增加的填充面圖元編碼應(yīng)在CASS成圖系統(tǒng)文件符號(hào)定義文件work.def以及圖元索引文件index.ini中進(jìn)行定義。
通過分析圖式樣圖,采用CMYK四色分色后,地形圖圖層的疊放順序也有相應(yīng)的要求。如注記層在最上面、水系層在最下面(如為有坎池塘,坎線在池塘上面)等,整理后CASS成圖系統(tǒng)中地形圖常用圖層疊放順序如表7所示。
表7 CASS圖層疊放順序表
通過重新對(duì)圖層按照表7順序疊放,出圖效果更能符合圖式要求。
1.滿足圖式要求
筆者利用C#語言及VS2005開發(fā)環(huán)境,采用以上思路在AutoCAD 2008下二次開發(fā)了根據(jù)編碼修改圖元顏色、水系面自動(dòng)閉合填充、修改圖層疊放順序等功能模塊,成功實(shí)現(xiàn)了CASS9.1地形圖顏色符合圖式CMYK四色分色的要求,并在多個(gè)地形圖測(cè)量項(xiàng)目中得到了有效應(yīng)用。
此外,筆者所在單位測(cè)繪的昆明市1∶500城市基礎(chǔ)地形圖正在逐步入庫至EPS2008數(shù)據(jù)庫中,并利用EPS2008將其轉(zhuǎn)換為符合CASS9.1數(shù)據(jù)標(biāo)準(zhǔn)的功能模塊,且對(duì)外提供利用該程序轉(zhuǎn)換的符合圖式要求的CASS9.1數(shù)據(jù)標(biāo)準(zhǔn)地形圖,廣泛應(yīng)用于規(guī)劃、建設(shè)、土地利用等行業(yè),得到了用戶的好評(píng)。
2.滿足用戶要求
以上程序除滿足圖式CMYK四色分色需要外,也可通過修改圖層顏色配置文件、圖元編碼顏色配置文件、圖層疊放配置文件來滿足用戶的地形圖顏色的特殊要求。如在彌勒縣1∶500數(shù)字化地形圖測(cè)量項(xiàng)目中(1∶500地形圖160 km2測(cè)量及1∶2000地形圖縮編),用戶要求圖式中地貌圖元中M40Y100K30色值使用22號(hào)色、水系圖元中C100色值使用5號(hào)色等、無需使用水系填充面等。通過修改相應(yīng)配置文件,程序功能模塊則不失一般性均可根據(jù)需要進(jìn)行更改,達(dá)到用戶要求。
3.地形圖檢查
通過顏色修改后的地形圖,不但可滿足圖式CMYK分色的要求,還可快速查看到圖形編碼是否錯(cuò)誤。雖然圖形繪制的編碼符合CASS編碼規(guī)則,但其編碼可能與地物不匹配,如專用公路、省道、縣道,其顏色均不相同。若省道利用縣道的編碼來繪制,可通過圖元顏色看出其編碼的錯(cuò)誤。
同理,通過修改配置文件,將需要重點(diǎn)檢查的編碼色值進(jìn)行修改。程序運(yùn)行后,通過查看地形圖地物顏色即可一目了然地識(shí)別圖形編碼是否錯(cuò)誤,從而可大大提高查圖效率。
本文提出的CASS9.1地形圖CMYK顏色實(shí)現(xiàn)是便于實(shí)際應(yīng)用的可行性方法,充分利用了CASS地物編碼唯一性,以及CASS成圖系統(tǒng)和AutoCAD圖形顏色特性,編制程序?qū)崿F(xiàn)了CASS9.1地形圖CMYK顏色的分色。程序配置文件可根據(jù)實(shí)際需求快速、便捷地對(duì)其進(jìn)行修改,以滿足不同地形圖配色要求。程序執(zhí)行效率較高,單幅地形圖顏色修改一般在5~10 s即可完成,滿足了查圖、出圖的需要。
[1] 中華人民共和國國家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局.GB/T 20257.1—2007國家基本比例尺地形圖圖式第1部分:1∶500 1∶1000 1∶2000地形圖圖式[S].北京:中國標(biāo)準(zhǔn)出版社,2007.
[2] 國家技術(shù)監(jiān)督局.GB/T 7929—1995 1∶500 1∶1000 1∶2000地形圖圖式[S].北京:中國標(biāo)準(zhǔn)出版社,1995.
[3] 曾洪飛,張帆,盧擇臨.AutoCAD VBA&VB.NET開發(fā)基礎(chǔ)與實(shí)例教程[M].北京:中國電力出版社,2008.
[4] 蒲朝旭,余代俊,陳延娟,等.CASS2008與2007版地形圖圖式的統(tǒng)一性研究[J].測(cè)繪,2010(1):45-48.
[5] 楊義輝,崔俊飛,李明建.GIS空間數(shù)據(jù)與DXF格式相互轉(zhuǎn)換時(shí)顏色匹配研究[J].北京測(cè)繪,2010(1): 38-40.
[6] 楊智慧,喬曉霞.AutoCAD圖塊顏色的修改方法及實(shí)現(xiàn)實(shí)例[J].工程設(shè)計(jì)CAD及自動(dòng)化,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—),男,四川富順人,碩士,工程師,主要從事測(cè)繪產(chǎn)品質(zhì)量檢查及GIS研究與應(yīng)用工作。