馬云崗
在公路、鐵路等線路的設(shè)計(jì)、施工過(guò)程中,帶狀圖的測(cè)量是經(jīng)常要用到的。在帶狀圖的測(cè)量過(guò)程中,為了在后續(xù)線路設(shè)計(jì)、施工中使用方便,就必須在帶狀圖中添加公里格網(wǎng),以解決用圖過(guò)程中的定位定向問(wèn)題。
在內(nèi)業(yè)制圖過(guò)程中,常見的手工添加公里格網(wǎng)的步驟如下(以1∶2 000圖為例):
1)按照接圖表每幅圖的范圍,按幅裁圖,裁成一幅一幅的地形圖。
2)在單幅圖中,插入事先準(zhǔn)備好的公里格網(wǎng)圖塊,插入點(diǎn)必須選擇200 m的整數(shù)倍地方,且公里格網(wǎng)必須覆蓋整幅圖。
4)延長(zhǎng)緊鄰內(nèi)圖廓,但是還沒有與內(nèi)圖廓相交的十字絲,使之與內(nèi)圖廓相交。
5)把那些與內(nèi)圖廓相交的十字絲按照規(guī)定的長(zhǎng)度保留與內(nèi)圖廓相交的部分,其余的裁掉。
6)在內(nèi)圖廓外,內(nèi)圖廓與十字絲相交的地方注記東方向和北方向坐標(biāo),注記精度保留到0.1 km。
7)把圖幅按照?qǐng)D頭要求的方向轉(zhuǎn)正,然后把注記轉(zhuǎn)正,并且移到合理的位置。
使用上述方法時(shí),不僅費(fèi)工費(fèi)時(shí),增加了作業(yè)人員的工作量,而且在注記坐標(biāo)時(shí),極易出錯(cuò),給用圖單位造成使用上的不便。
分析上述每一步操作,完全可以采用一定的算法,用計(jì)算機(jī)去實(shí)現(xiàn),省時(shí)省力,又不易出錯(cuò)。
第一,有悟性的人一切從目的出發(fā)。招人的時(shí)候,培訓(xùn)的時(shí)候,都要牢記一點(diǎn)——目的是什么。很多員工在做事的時(shí)候,走在路上忘了方向,只是去做事情,卻把目的忘了,不知道為什么去做。甚至為了專業(yè)而專業(yè),看起來(lái)搞得像模像樣的,但目的不對(duì),這是有問(wèn)題的。
1)目的。
綜合以上所述,為了減輕作業(yè)人員的工作量和減少作業(yè)過(guò)程中錯(cuò)誤的發(fā)生,以便提高作業(yè)效率,提高成圖質(zhì)量,需要對(duì)這個(gè)功能進(jìn)行設(shè)計(jì)開發(fā)。
2)設(shè)計(jì)思路。
由于歷來(lái)的習(xí)慣,單位對(duì)帶狀地圖的分幅方法,與作業(yè)單位中常用的Cass的帶狀地圖的分幅方法完全不同,而且用戶單位也習(xí)慣了我們單位提供的帶狀圖的分幅方法,所以不能直接應(yīng)用Cass內(nèi)的功能,需要根據(jù)單位的實(shí)際情況獨(dú)立進(jìn)行開發(fā)。
3)平臺(tái)選擇。
AutoCAD是Autodesk公司的主導(dǎo)產(chǎn)品,而且是當(dāng)今最流行的繪圖軟件,在二維、三維繪圖領(lǐng)域擁有廣泛的用戶群。AutoCAD有強(qiáng)大的二維功能,如繪圖、編輯、圖案繪制、尺寸標(biāo)注以及強(qiáng)大的二次開發(fā)功能,提供多種開發(fā)工具,如:AutoLisp,ADS,ARX,方便用戶選擇。
單位里帶狀地圖的編輯平臺(tái)習(xí)慣用AutoCAD平臺(tái),而且用戶單位一般也要求提供dwg格式的帶狀圖,所以對(duì)這個(gè)功能的開發(fā)就定在AutoCAD平臺(tái)上。
在AutoCAD平臺(tái)的開發(fā)中,最常用也是上手最簡(jiǎn)單的就是AutoLisp工具,而且AutoLisp語(yǔ)言在AutoCAD平臺(tái)上可以直接調(diào)試,方便語(yǔ)法的檢查,最主要的是,單位里歷年來(lái)在AutoCAD平臺(tái)上開發(fā)的工具,基本上全是用AutoLisp語(yǔ)言,筆者對(duì)AutoLisp也比較熟悉,所以開發(fā)語(yǔ)言就選用AutoLisp語(yǔ)言。
既然決定了開發(fā)平臺(tái)及語(yǔ)言,接下來(lái)就是具體實(shí)現(xiàn)的步驟和方法了。這里需要說(shuō)明的是,由于在CAD平臺(tái)下實(shí)現(xiàn)拓?fù)浔容^困難,而且本次開發(fā)也只是實(shí)現(xiàn)一個(gè)小功能而已,所以需要對(duì)這個(gè)功能的使用環(huán)境做出一個(gè)嚴(yán)格的規(guī)定:
首先,帶狀圖所采用的比例尺一般是1∶2 000,所以在編程中,涉及到圖形比例尺時(shí),統(tǒng)一采用1∶2 000,所以單幅圖的邊長(zhǎng)都是1 000 m,面積是1 km2,注記大小采用1∶2 000圖示規(guī)范;
其次,在接圖表上分幅時(shí),內(nèi)圖廓必須是閉合的;
再次,在生成公里格網(wǎng)及注記時(shí),由于字頭方向每個(gè)項(xiàng)目都不一樣,所以要由用戶指定內(nèi)圖廓的哪條邊作為圖頭方向,以便程序自動(dòng)調(diào)整注記的字頭方向。
1)首先選擇要生成公里格網(wǎng)的圖幅的內(nèi)圖廓,注意在屏幕上選擇時(shí)所點(diǎn)擊的位置是項(xiàng)目規(guī)定的圖頭方向,且內(nèi)圖廓必須是封閉的,這樣就得到了內(nèi)圖廓的四個(gè)角點(diǎn)坐標(biāo)。
2)向內(nèi)圖廓內(nèi)部拷貝圖廓的四條邊線,得到四條線段。注意:偏移拷貝的距離是根據(jù)1∶2 000地形圖規(guī)范定的。
3)求得該圖廓的東坐標(biāo)和北坐標(biāo)的最大最小值。
4)在東坐標(biāo)方向上,依從小到大的順序,每隔200 m畫一根直線,求得該直線與內(nèi)圖廓和向內(nèi)偏移拷貝得到的四條線段的交點(diǎn)。通過(guò)這個(gè)功能,可以把與內(nèi)圖廓線相交的東坐標(biāo)方向上的公里格網(wǎng)線全部畫出,并且在適當(dāng)?shù)奈恢米⒂涀鴺?biāo)。
5)在北坐標(biāo)方向上操作,如4)所述。
6)判斷東坐標(biāo)和北坐標(biāo)的最大最小范圍內(nèi),在200 m的整數(shù)倍的位置的點(diǎn)是否在內(nèi)圖廓線以內(nèi),若是,在該位置畫出十字絲。
7)清除程序操作過(guò)程中的臨時(shí)線段。
效果圖見圖1。
在以上的設(shè)計(jì)步驟中,有兩個(gè)設(shè)計(jì)要點(diǎn):
1)計(jì)算圖頭朝向。
由于內(nèi)圖廓是一條有四個(gè)節(jié)點(diǎn)的封閉的線段,且不知道這條線段的起點(diǎn),所以必須首先判斷這條線段的哪兩個(gè)節(jié)點(diǎn)的連線是圖幅的圖頭朝向。
程序中通過(guò)判斷用戶在屏幕上鼠標(biāo)所點(diǎn)擊的位置和這條線段四個(gè)節(jié)點(diǎn)的距離來(lái)判斷圖頭朝向:(if(=(fix(+(distance selectPt pt0)(distance selectPt pt1)))1000)(setq selectLine 1))
2)拓?fù)渑袛唷?/p>
例如判斷一個(gè)點(diǎn)是否在內(nèi)圖廓范圍內(nèi):這個(gè)在判斷坐標(biāo)在200 m整數(shù)倍的位置是否在內(nèi)圖廓線內(nèi),以決定是否在該位置畫出十字絲時(shí)特別有用。
在程序中,是通過(guò)計(jì)算該點(diǎn)與內(nèi)圖廓四個(gè)角點(diǎn)所形成的四個(gè)夾角之和是否等于360°來(lái)判斷的,如果是,則說(shuō)明該點(diǎn)正好在圖廓內(nèi)部,如果否,則說(shuō)明該點(diǎn)不在圖廓內(nèi)部。
(if(=(fix(+jj0 jj1 jj2 jj3))360)(setq temppt T))

圖1 效果圖
通過(guò)這個(gè)功能的實(shí)現(xiàn),不僅減輕了作業(yè)員的勞動(dòng)量,而且再也不用擔(dān)心在標(biāo)注坐標(biāo)注記時(shí)會(huì)出現(xiàn)錯(cuò)誤(在測(cè)繪工作中,坐標(biāo)注記錯(cuò)誤是比較嚴(yán)重的錯(cuò)誤);從用戶反饋的信息來(lái)看,效果也是比較好的,沒有再發(fā)生在設(shè)計(jì)施工拼圖時(shí),發(fā)現(xiàn)坐標(biāo)注記錯(cuò)誤的,社會(huì)效益和經(jīng)濟(jì)效益都不錯(cuò)。
有時(shí)候,在工作中一個(gè)不經(jīng)意的發(fā)現(xiàn)、一個(gè)小小的操作流程的改善,或者是一個(gè)不起眼的小功能的實(shí)現(xiàn),都能夠給自己的工作提高效率,積少成多,慢慢的,就會(huì)形成自己的豐富的創(chuàng)新成果,既加深對(duì)工作的了解,提高自己的工作效率,同時(shí)也會(huì)增加自己的收益收入,這是一個(gè)皆大歡喜的結(jié)果。這就需要在工作中,在熟練的前提下,要經(jīng)常思考,不斷的改善工作流程、改善或創(chuàng)新一個(gè)功能,就能提高工作效率,增加經(jīng)濟(jì)效益。這些工作不需要多么宏偉,多么巨大,要積少成多,“春風(fēng)潛入夜,潤(rùn)物細(xì)無(wú)聲”。
[1]馮洪巖.應(yīng)用南方測(cè)繪CASS軟件數(shù)字化測(cè)圖的幾點(diǎn)體會(huì)[J].四川建筑,2005,25(9):175-176.
[2]孫江宏.VisualLisp R14-2000編程與應(yīng)用[M].北京:科學(xué)出版社,1999.
[3]梁銀娟,李恒靜.結(jié)合MAPGIS的土地利用圖編制及應(yīng)用[J].山西建筑,2011,37(10):255-256.