楊霞,白潔,孫偉,2
(1.武漢市測繪研究院,湖北 武漢 430022; 2.精密工程與工業測量國家測繪地理信息局重點實驗室,湖北 武漢 430079)
我國自2008年7月1日獲國務院批復啟用了新一代地心坐標系——2000國家大地坐標系(China Geodetic Coordinate System 2000,CGCS2000),之后各省市陸續開始2000國家大地坐標系的建立和應用工作,并研究坐標轉換方法和方案,開展現有各類測繪信息成果的坐標轉換工作。武漢市于2014年獲國家測繪地理信息局批準建立武漢2000坐標系,全市從2017年7月1日開始啟用武漢2000坐標系。在2000國家大地坐標系的建立和應用推廣中,一項重要工作是各類空間數據的坐標系統轉換,包括:矢量數據格式(*.mdb、*.gdb、*.shp、*.dwg、*.dxf等);柵格數據格式(*.tif、*.jpg、*.png、*.img等);矢量柵格混合格式;文本數據格式的轉換。為了正確、高效地將各類空間數據從原有坐標系統轉換至新坐標系統,除了選取轉換模型、建立不同坐標系統間轉換關系、研發批量轉換工具等工作[1~9]外,還要面對數據多樣化、復雜化等問題,特別是CAD數據的不規范問題。dwg、dxf(DataExchangeFile,圖形交換文件)圖形是廣泛采用的CAD數據文件格式[10],繪圖軟件包括AutoCAD、中望CAD、天正CAD以及基于CAD平臺二次開發插件等,各軟件之間并不完全兼容。諸多來源的CAD空間數據在坐標轉換過程中的數據規范化問題,將直接影響轉換結果的正確性和轉換的效率。
本文主要對適宜進行坐標轉換的AutoCAD圖件的數據規范化問題進行研究,首先對不規范數據進行分類,在此基礎上,結合案例對不同類型的不規范數據的來源、影響、轉換結果等問題進行分析,并給出解決方案。
AutoCAD生產的數據包括dwg、dxf格式,可以看成是點、線、文本等幾何元素的集合,其中一些AutoCAD對象不適合直接進行坐標轉換,如圖1所示的塊參照。塊參照記錄位置信息的是插入點,因而在進行坐標轉換的時候,其實是對插入點進行了轉換,這就產生了由于插入點位置不合理而導致的位置偏移。對于插入的圖斑,轉換時,也是對插入點的坐標進行轉換,以從北京54到武漢2000坐標系的轉換為例,兩個坐標系之間不僅有平移,還有旋轉,如果圖斑的范圍很大,只對插入點坐標進行轉換,即使插入點位置合理,也會導致圖上對象的位置、方向不準確。

圖1 塊參照示例
AutoCAD提供了二次開發接口,用戶可以進行二次開發,從而達到滿足個性化需求、提高繪圖效率等目的,但也會帶來兼容性問題。目前,非標準AutoCAD數據主要表現為3種情況:①制圖不規范導致的:不合邏輯的點、線等,如長度為0的線、面積為0的面;②未知第三方繪圖軟件或插件繪制的圖形、要素;③AutoCAD暫不兼容的其他情況。此類數據常常出現轉換以后要素丟失、填充符號變化等問題。
由于行業性、習慣性等原因,會出現自定義坐標偏移、旋轉等情況,如縱坐標平移3 000 000 m、橫坐標帶帶號等,常見自定義表達可以在轉換軟件中設置自動識別,不需再次進行人工編輯,未知自定義表達則會導致轉換結果不正確。另外,在設計領域,有時會將圖形單位轉換為mm來進行建筑物設計等,這種情況下,需先將單位轉換回m再進行坐標轉換。
此外,還存在一部分數據無坐標系統、未知坐標系統的情況,前者本身也不需要進行轉換,后者則需明確其坐標系統或者建立轉換關系,然后才能進行轉換。
數據不規范可能導致轉換過程中產生以下幾種典型問題:①轉換后圖形位置錯誤;②轉換后要素樣式發生變化;③轉換后要素數量變化;④轉換失敗或轉換效率低下。
AutoCAD數據生產中,經常會用到塊參照、圖斑等,這些塊類的對象在進行坐標轉換時轉的是插入點,如果插入點位置不合理,雖原始圖形位置顯示正確,但轉換以后的圖形位置將發生變化,有的圖形偏離較遠很容易發現,如圖2所示。有的偏移較小不容易發現,以圖3所示塊參照為例,選取兩組試驗數據由北京54坐標系轉換為武漢2000坐標系:第一組,兩個塊參照顯示重合且插入點相同(塊參照左下角);第二組,兩個塊參照顯示重合但插入點不同,其中一個塊參照的插入點不準確。轉換前后圖形如圖3所示,第一組轉換后,兩個塊參照依舊重合,第二組轉換后兩個塊參照位置發生錯位,主要是其中一個塊參照的插入點不合理導致的,由于偏移量并不大,在沒有參照地形地物的情況下很難發現。對于大面積圖斑,如圖4所示,1×106m2范圍的圖形,插入點位置在圖框左下角,轉換后離插入點越遠位置偏移越大,圖斑打散前后轉換結果中兩棟建筑物之間x方向偏移超過 2 m。因而對于上述塊參照需要先進行打散,再進行坐標轉換,以保證轉換后圖形位置的正確性。

圖2 塊參照轉換后發生較大偏移示意圖

圖3塊參照轉換后發生較小偏移示意圖

圖4大范圍圖斑直接轉換后建筑物偏移示意圖
轉換軟件的開發都是基于一定的平臺和數據格式,對于未知格式則可能出現不兼容的情況。例如,基于AutoCAD數據格式開發的轉換軟件,轉換其他軟件繪制的dwg數據,如中望CAD、自主開發的繪圖插件等,可能會發生填充樣式發生變化等問題,如圖5所示。對于此類問題,一方面,軟件開發者可以對軟件進行升級、增強軟件本身的兼容性,然而任何軟件都不可能窮盡所有情況,特別是面對諸多自主開發的繪圖插件;另一方面,轉換前后需進行適當的圖形編輯,以保證轉換后圖面顯示符合要求。

圖5 坐標轉換前后填充樣式發生變化
由于制圖不規范等原因,原始圖形可能存在繪圖輔助點線、不合邏輯的數據、坐標異常的數據,從而導致坐標轉換以后要素缺失、位置錯誤、轉換失敗、效率降低等問題。坐標轉換的過程可以概括為“讀—算—寫”的過程,任何一個過程出現問題,都可能導致轉換錯誤或失敗。如圖6所示,原始圖形存在大量長度為0的線,這部分要素在轉換過程中沒有被全部寫出,751條長度為0的線只寫出22條,從而導致轉換前后要素數量不一致,雖然不影響圖形使用,但增加了甄別是否有用要素有所缺失的工作,也容易給圖形使用者帶來困惑。如圖7所示,坐標異常圖形(超出轉換區域)的存在導致整個圖形轉換失敗或降低轉換效率,超區域轉換時即使能夠轉換成功,轉換結果也不準確。此類問題解決辦法是坐標轉換前進行圖面清理和圖形規范化,越規范的圖件同等條件下轉換效率越高、轉換以后圖件也越規范。

圖6 不合邏輯的線示例

圖7坐標異常的數據示例
鑒于制圖軟件、插件諸多,圖件涉及領域廣泛,制圖習慣不一等原因,源數據規范性問題成為坐標轉換實際工作中面臨最多的問題之一。不規范數據分類和案例分析表明,源數據的局限性、多樣性和復雜性從一定程度上影響了轉換質量和效率,坐標轉換前后進行適當的數據編輯是必要的,建議坐標轉換前進行數據清理和規范化,以保證轉換的質量和效率。除文中所述典型問題外,其他數據規范化細則有待于進一步研究。