楊霞,白潔,孫偉,2
(1.武漢市測(cè)繪研究院,湖北 武漢 430022; 2.精密工程與工業(yè)測(cè)量國(guó)家測(cè)繪地理信息局重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430079)
我國(guó)自2008年7月1日獲國(guó)務(wù)院批復(fù)啟用了新一代地心坐標(biāo)系——2000國(guó)家大地坐標(biāo)系(China Geodetic Coordinate System 2000,CGCS2000),之后各省市陸續(xù)開始2000國(guó)家大地坐標(biāo)系的建立和應(yīng)用工作,并研究坐標(biāo)轉(zhuǎn)換方法和方案,開展現(xiàn)有各類測(cè)繪信息成果的坐標(biāo)轉(zhuǎn)換工作。武漢市于2014年獲國(guó)家測(cè)繪地理信息局批準(zhǔn)建立武漢2000坐標(biāo)系,全市從2017年7月1日開始啟用武漢2000坐標(biāo)系。在2000國(guó)家大地坐標(biāo)系的建立和應(yīng)用推廣中,一項(xiàng)重要工作是各類空間數(shù)據(jù)的坐標(biāo)系統(tǒng)轉(zhuǎn)換,包括:矢量數(shù)據(jù)格式(*.mdb、*.gdb、*.shp、*.dwg、*.dxf等);柵格數(shù)據(jù)格式(*.tif、*.jpg、*.png、*.img等);矢量柵格混合格式;文本數(shù)據(jù)格式的轉(zhuǎn)換。為了正確、高效地將各類空間數(shù)據(jù)從原有坐標(biāo)系統(tǒng)轉(zhuǎn)換至新坐標(biāo)系統(tǒng),除了選取轉(zhuǎn)換模型、建立不同坐標(biāo)系統(tǒng)間轉(zhuǎn)換關(guān)系、研發(fā)批量轉(zhuǎn)換工具等工作[1~9]外,還要面對(duì)數(shù)據(jù)多樣化、復(fù)雜化等問題,特別是CAD數(shù)據(jù)的不規(guī)范問題。dwg、dxf(DataExchangeFile,圖形交換文件)圖形是廣泛采用的CAD數(shù)據(jù)文件格式[10],繪圖軟件包括AutoCAD、中望CAD、天正CAD以及基于CAD平臺(tái)二次開發(fā)插件等,各軟件之間并不完全兼容。諸多來源的CAD空間數(shù)據(jù)在坐標(biāo)轉(zhuǎn)換過程中的數(shù)據(jù)規(guī)范化問題,將直接影響轉(zhuǎn)換結(jié)果的正確性和轉(zhuǎn)換的效率。
本文主要對(duì)適宜進(jìn)行坐標(biāo)轉(zhuǎn)換的AutoCAD圖件的數(shù)據(jù)規(guī)范化問題進(jìn)行研究,首先對(duì)不規(guī)范數(shù)據(jù)進(jìn)行分類,在此基礎(chǔ)上,結(jié)合案例對(duì)不同類型的不規(guī)范數(shù)據(jù)的來源、影響、轉(zhuǎn)換結(jié)果等問題進(jìn)行分析,并給出解決方案。
AutoCAD生產(chǎn)的數(shù)據(jù)包括dwg、dxf格式,可以看成是點(diǎn)、線、文本等幾何元素的集合,其中一些AutoCAD對(duì)象不適合直接進(jìn)行坐標(biāo)轉(zhuǎn)換,如圖1所示的塊參照。塊參照記錄位置信息的是插入點(diǎn),因而在進(jìn)行坐標(biāo)轉(zhuǎn)換的時(shí)候,其實(shí)是對(duì)插入點(diǎn)進(jìn)行了轉(zhuǎn)換,這就產(chǎn)生了由于插入點(diǎn)位置不合理而導(dǎo)致的位置偏移。對(duì)于插入的圖斑,轉(zhuǎn)換時(shí),也是對(duì)插入點(diǎn)的坐標(biāo)進(jìn)行轉(zhuǎn)換,以從北京54到武漢2000坐標(biāo)系的轉(zhuǎn)換為例,兩個(gè)坐標(biāo)系之間不僅有平移,還有旋轉(zhuǎn),如果圖斑的范圍很大,只對(duì)插入點(diǎn)坐標(biāo)進(jìn)行轉(zhuǎn)換,即使插入點(diǎn)位置合理,也會(huì)導(dǎo)致圖上對(duì)象的位置、方向不準(zhǔn)確。
圖1 塊參照示例
AutoCAD提供了二次開發(fā)接口,用戶可以進(jìn)行二次開發(fā),從而達(dá)到滿足個(gè)性化需求、提高繪圖效率等目的,但也會(huì)帶來兼容性問題。目前,非標(biāo)準(zhǔn)AutoCAD數(shù)據(jù)主要表現(xiàn)為3種情況:①制圖不規(guī)范導(dǎo)致的:不合邏輯的點(diǎn)、線等,如長(zhǎng)度為0的線、面積為0的面;②未知第三方繪圖軟件或插件繪制的圖形、要素;③AutoCAD暫不兼容的其他情況。此類數(shù)據(jù)常常出現(xiàn)轉(zhuǎn)換以后要素丟失、填充符號(hào)變化等問題。
由于行業(yè)性、習(xí)慣性等原因,會(huì)出現(xiàn)自定義坐標(biāo)偏移、旋轉(zhuǎn)等情況,如縱坐標(biāo)平移3 000 000 m、橫坐標(biāo)帶帶號(hào)等,常見自定義表達(dá)可以在轉(zhuǎn)換軟件中設(shè)置自動(dòng)識(shí)別,不需再次進(jìn)行人工編輯,未知自定義表達(dá)則會(huì)導(dǎo)致轉(zhuǎn)換結(jié)果不正確。另外,在設(shè)計(jì)領(lǐng)域,有時(shí)會(huì)將圖形單位轉(zhuǎn)換為mm來進(jìn)行建筑物設(shè)計(jì)等,這種情況下,需先將單位轉(zhuǎn)換回m再進(jìn)行坐標(biāo)轉(zhuǎn)換。
此外,還存在一部分?jǐn)?shù)據(jù)無坐標(biāo)系統(tǒng)、未知坐標(biāo)系統(tǒng)的情況,前者本身也不需要進(jìn)行轉(zhuǎn)換,后者則需明確其坐標(biāo)系統(tǒng)或者建立轉(zhuǎn)換關(guān)系,然后才能進(jìn)行轉(zhuǎn)換。
數(shù)據(jù)不規(guī)范可能導(dǎo)致轉(zhuǎn)換過程中產(chǎn)生以下幾種典型問題:①轉(zhuǎn)換后圖形位置錯(cuò)誤;②轉(zhuǎn)換后要素樣式發(fā)生變化;③轉(zhuǎn)換后要素?cái)?shù)量變化;④轉(zhuǎn)換失敗或轉(zhuǎn)換效率低下。
AutoCAD數(shù)據(jù)生產(chǎn)中,經(jīng)常會(huì)用到塊參照、圖斑等,這些塊類的對(duì)象在進(jìn)行坐標(biāo)轉(zhuǎn)換時(shí)轉(zhuǎn)的是插入點(diǎn),如果插入點(diǎn)位置不合理,雖原始圖形位置顯示正確,但轉(zhuǎn)換以后的圖形位置將發(fā)生變化,有的圖形偏離較遠(yuǎn)很容易發(fā)現(xiàn),如圖2所示。有的偏移較小不容易發(fā)現(xiàn),以圖3所示塊參照為例,選取兩組試驗(yàn)數(shù)據(jù)由北京54坐標(biāo)系轉(zhuǎn)換為武漢2000坐標(biāo)系:第一組,兩個(gè)塊參照顯示重合且插入點(diǎn)相同(塊參照左下角);第二組,兩個(gè)塊參照顯示重合但插入點(diǎn)不同,其中一個(gè)塊參照的插入點(diǎn)不準(zhǔn)確。轉(zhuǎn)換前后圖形如圖3所示,第一組轉(zhuǎn)換后,兩個(gè)塊參照依舊重合,第二組轉(zhuǎn)換后兩個(gè)塊參照位置發(fā)生錯(cuò)位,主要是其中一個(gè)塊參照的插入點(diǎn)不合理導(dǎo)致的,由于偏移量并不大,在沒有參照地形地物的情況下很難發(fā)現(xiàn)。對(duì)于大面積圖斑,如圖4所示,1×106m2范圍的圖形,插入點(diǎn)位置在圖框左下角,轉(zhuǎn)換后離插入點(diǎn)越遠(yuǎn)位置偏移越大,圖斑打散前后轉(zhuǎn)換結(jié)果中兩棟建筑物之間x方向偏移超過 2 m。因而對(duì)于上述塊參照需要先進(jìn)行打散,再進(jìn)行坐標(biāo)轉(zhuǎn)換,以保證轉(zhuǎn)換后圖形位置的正確性。
圖2 塊參照轉(zhuǎn)換后發(fā)生較大偏移示意圖
圖3塊參照轉(zhuǎn)換后發(fā)生較小偏移示意圖
圖4大范圍圖斑直接轉(zhuǎn)換后建筑物偏移示意圖
轉(zhuǎn)換軟件的開發(fā)都是基于一定的平臺(tái)和數(shù)據(jù)格式,對(duì)于未知格式則可能出現(xiàn)不兼容的情況。例如,基于AutoCAD數(shù)據(jù)格式開發(fā)的轉(zhuǎn)換軟件,轉(zhuǎn)換其他軟件繪制的dwg數(shù)據(jù),如中望CAD、自主開發(fā)的繪圖插件等,可能會(huì)發(fā)生填充樣式發(fā)生變化等問題,如圖5所示。對(duì)于此類問題,一方面,軟件開發(fā)者可以對(duì)軟件進(jìn)行升級(jí)、增強(qiáng)軟件本身的兼容性,然而任何軟件都不可能窮盡所有情況,特別是面對(duì)諸多自主開發(fā)的繪圖插件;另一方面,轉(zhuǎn)換前后需進(jìn)行適當(dāng)?shù)膱D形編輯,以保證轉(zhuǎn)換后圖面顯示符合要求。
圖5 坐標(biāo)轉(zhuǎn)換前后填充樣式發(fā)生變化
由于制圖不規(guī)范等原因,原始圖形可能存在繪圖輔助點(diǎn)線、不合邏輯的數(shù)據(jù)、坐標(biāo)異常的數(shù)據(jù),從而導(dǎo)致坐標(biāo)轉(zhuǎn)換以后要素缺失、位置錯(cuò)誤、轉(zhuǎn)換失敗、效率降低等問題。坐標(biāo)轉(zhuǎn)換的過程可以概括為“讀—算—寫”的過程,任何一個(gè)過程出現(xiàn)問題,都可能導(dǎo)致轉(zhuǎn)換錯(cuò)誤或失敗。如圖6所示,原始圖形存在大量長(zhǎng)度為0的線,這部分要素在轉(zhuǎn)換過程中沒有被全部寫出,751條長(zhǎng)度為0的線只寫出22條,從而導(dǎo)致轉(zhuǎn)換前后要素?cái)?shù)量不一致,雖然不影響圖形使用,但增加了甄別是否有用要素有所缺失的工作,也容易給圖形使用者帶來困惑。如圖7所示,坐標(biāo)異常圖形(超出轉(zhuǎn)換區(qū)域)的存在導(dǎo)致整個(gè)圖形轉(zhuǎn)換失敗或降低轉(zhuǎn)換效率,超區(qū)域轉(zhuǎn)換時(shí)即使能夠轉(zhuǎn)換成功,轉(zhuǎn)換結(jié)果也不準(zhǔn)確。此類問題解決辦法是坐標(biāo)轉(zhuǎn)換前進(jìn)行圖面清理和圖形規(guī)范化,越規(guī)范的圖件同等條件下轉(zhuǎn)換效率越高、轉(zhuǎn)換以后圖件也越規(guī)范。
圖6 不合邏輯的線示例
圖7坐標(biāo)異常的數(shù)據(jù)示例
鑒于制圖軟件、插件諸多,圖件涉及領(lǐng)域廣泛,制圖習(xí)慣不一等原因,源數(shù)據(jù)規(guī)范性問題成為坐標(biāo)轉(zhuǎn)換實(shí)際工作中面臨最多的問題之一。不規(guī)范數(shù)據(jù)分類和案例分析表明,源數(shù)據(jù)的局限性、多樣性和復(fù)雜性從一定程度上影響了轉(zhuǎn)換質(zhì)量和效率,坐標(biāo)轉(zhuǎn)換前后進(jìn)行適當(dāng)?shù)臄?shù)據(jù)編輯是必要的,建議坐標(biāo)轉(zhuǎn)換前進(jìn)行數(shù)據(jù)清理和規(guī)范化,以保證轉(zhuǎn)換的質(zhì)量和效率。除文中所述典型問題外,其他數(shù)據(jù)規(guī)范化細(xì)則有待于進(jìn)一步研究。