999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MicroStation平臺的CAD文件動態無損坐標轉換方法研究

2019-02-27 08:07:04侯祥意盧姍陶超
城市勘測 2019年1期

侯祥意,盧姍,陶超

(1.廣州南方智能技術有限公司,廣東 廣州 510663; 2.《規劃師》雜志社,廣西 南寧 530029)

1 引 言

2000國家大地坐標系是國務院批準使用的新一代高精度地心坐標系。由于各行業歷史測繪成果主要采用1954北京坐標系和1980西安坐標系,因此需要建立坐標轉換模型和編制坐標轉換軟件,將原始測繪成果轉換到2000國家大地坐標系。原始測繪成果主要為CAD文件,主要包括DGN、DWG、DXF三種,CAD文件中的圖形對象主要包括空間幾何對象、符號表達要素、擴展屬性信息三大類。在坐標轉換過程中,嚴密無損轉換不僅要確??臻g幾何對象的坐標嚴密轉換、拓撲關系完整,還要保證符號表達要素、擴展屬性信息的完整一致性。

在諸多CAD文件坐標轉換的文章中,對DWG、DXF的轉換方法研究較多,如汪燕麟等提出建立大地坐標4參數轉換模型與AutoCAD軟件中仿射變換模型的聯系,研制坐標轉換軟件實現DWG文件的轉換[1];范沖等提出利用FME(Feature Manipulate Engine)轉換模板批量轉換DWG和DXF文件的方法[2];謝梓威等提出采用FME Object技術進行軟件開發實現對DWG數據的無損轉換[3]。

這些研究中,很少涉及CAD文件重要格式之一的DGN格式以及CAD成果一體化轉換且多數探討了CAD圖形空間坐標轉換的幾何精度,鮮少關注符號化表達樣式及擴展屬性信息的完整性。針對此問題,本文嘗試在構建嚴密可逆的多項式坐標轉換模型的基礎上,實現CAD文件的一體化動態無損轉換,并基于MicroStation平臺開發轉換軟件,高效穩定地實現坐標基準統一,促進數據共享。

2 MicroStation平臺及DGN文件存儲

2.1 MicroStation平臺

MicroStation平臺是Bentley公司開發的CAD基礎平臺,其面向建筑、市政、水利、交通、地理信息等各行業的解決方案均基于該平臺構建。平臺歷經了95、2004、V8i、CONNECT Edition四個重要的版本階段。具有使用方便、功能強大、二三維一體化等特點,在全球擁有廣大的用戶。

MicroStation平臺提供了豐富的二次開發選項,基于COM組件的有VBA的二次開發和基于.NET框架的AddIn的開發方式以及基于其SDK的Native Code的開發方式。

2.2 DGN文件存儲結構

DGN文件是MicroStation的主要文件格式,一個DGN文件包含多個模型,每個模型由若干元素組成,如線、面、圓弧、文本等。DGN文件的對象結構如圖1所示[4]:

DGN中的元素主要分為圖形類和非圖形類,圖形類元素內容主要包括空間坐標、符號化表達要素、擴展屬性信息三部分,需要進行坐標轉換;非圖形類元素沒有幾何圖形,沒有空間坐標,因此不需要進行坐標轉換。

圖1 DGN文件對象結構圖

2.3 對DWG、DXF文件的支持——RealDWG

RealDWG是Autodesk公司提供的軟件庫,它允許程序員通過C++和.NET對DWG和DXF文件本身進行讀寫。具備以下特征:

(1)支持AutoCAD R14及以上版本生成的DWG格式;

(2)在32位系統下,所產生的應用程序既可以在32位的Windows系統內運行,也可以在64位系統下運行;

(3)所產生的應用程序完全可以脫離AutoCAD獨立運行。

基于Bentley公司與Autodesk公司簽署的合作協議,MicroStation平臺直接使用RealDWG庫對DWG和DXF進行讀寫,操作后的DWG和DXF文件得到Autodesk公司的授權認證,確保了數據的完整性,不會發生精度損失、數據丟失等情況。采用最新的MicroStation平臺,可支持從2004到2018版本的DWG文件的互操作[5]。

3 基于MicroStation平臺的CAD文件動態無損坐標轉換方法

3.1 坐標轉換模型建立

2000坐標轉換采用雙二元三次多項式轉換模型進行擬合。以北京1954坐標系向CGCS2000坐標系轉換為例:已知同名點1954和2000坐標系下坐標(X54、Y54),(X2000、Y2000),待求的轉換系數為Aij,Bij,雙二元三次多項式模型表達式為:

以轉換后的國家2000坐標殘差平方和最小為條件,用上百對重合點進行擬合,采用最小二乘平差計算求取轉換參數[6]。統計分析表明,X、Y方向內符合精度均小于 4 mm,滿足精度要求。以北京1954向CGCS2000轉換為例,殘差分布如圖2所示:

圖2 北京1954-CGCS2000多項式轉換模型殘差分布圖

在求得北京1954至CGCS2000轉換的雙二元三次多項式系數后,CGCS2000至北京1954的轉換過程采用原系數進行迭代計算求得。

以北京1954至CGCS2000轉換為例,迭代方法如下所示:

利用北京1954至CGCS2000轉換的多項式系數進行CGCS2000至北京1954轉換,逆向迭代過程如下:

采用迭代法,由于只采用了一套參數,可以保證正向轉換和逆向轉換的嚴密無損,不會有誤差的積累。經過50次正逆向轉換測試,△X的平均值為 -0.000 000 000 014 901 2 m,△Y的平均值為0.000 000 000 028 405 3 m。

3.2 點對點坐標轉換流程

CAD文件中的圖形元素主要可分為簡單對象和復合對象,而圖形元素的核心是幾何圖形。幾何圖形的最基本單元是點,因此可以采用點對點的方式進行圖形的坐標轉換。轉換過程為:首先判斷是否為圖形元素,對于圖形元素劃分類型為簡單元素或者復合元素;其次,對于簡單元素,取出其構成坐標點,逐點進行轉換,對于復合元素,先取出其構成子元素,再取出其子元素構成坐標點,逐點進行轉換;第三步采用轉換后的坐標點依據其邏輯關系進行元素的幾何對象重構;最后復制原元素的符號化表達樣式、擴展屬性到新的元素,并將新坐標系的元素重繪到文件,舊坐標系的元素銷毀[7]。轉換流程如圖3所示:

圖3 點對點坐標轉換流程圖

采用點對點的坐標轉換方法,可以保證圖形的轉換精度以及圖形元素間拓撲關系的完整性,對于相鄰圖幅,不會存在縫隙、重疊、懸掛點等接邊問題。

4 MicroStation平臺幾何對象點對點坐標轉換實現

4.1 簡單元素點對點轉換

在MicroStation中,并沒有簡單元素的定義,這里的簡單元素主要是為了論述方便,相較于下文中的復合元素而言,由點直接構成,可以單獨定義,沒有子元素。按照其特點,可分為如下幾類:

(1)一點定位元素,這類元素的幾何圖形是一個點,主要包括文本(TextElement)、文本節點(TextNodeElement,即多行文本),通過原點(Origin)進行空間定位,轉換時,計算原點轉換前后的坐標差值,使用元素的Move方法平移即可。對于標簽元素(TagElement),其在圖形上表示為一個箭頭,由于其作用主要是對圖形對象進行整飾、說明,拓撲上的要求小,因此也按照一點定位元素的坐標轉換方法進行轉換。一點定位元素示例如圖4(圖中十字絲表示原點位置):

圖4 一點定位元素示例

(2)多點定位元素,這類元素的幾何圖形由多個點構成,按照構造特征不同,主要可分為以下幾類進行轉換:

①點列表類:MicroStation中的點列表元素主要包括線(LineElement)、多邊形(ShapeElement)、曲線(CurveElement)三類,其幾何圖形由一組有序的坐標點構成,他們都繼承了VertexList對象。轉換時,通過GetVertices方法獲取其構成坐標點,對這些坐標點轉換后,使用ModifyVertex方法進行修改。在MicroStation中,可繪制的點也是一個長度為0的線元素。

②B樣條曲線(BsplineCurveElement):B樣條曲線在地形圖中很常見,主要用來表示等高線。在MicroStation中,主要通過GetPoles方法獲取樣條曲線的構成點,再對點進行坐標轉換,然后使用SetPoles方法重繪圖形。

③圓弧(ArcElement):圓弧可通過圓弧起點、圓弧中點、圓弧結點3點確定,因此在轉換時,通過獲取圓弧上的3點進行坐標轉換。

④圓、橢圓(EllipseElement):可通過3點確定一個橢圓,也可通過圓心、長半軸、短半軸確定一個橢圓,為了保持圖形的拓撲結構完整,采用3點確定橢圓的方法,轉換時獲取橢圓上的3個點進行轉換,再進行重繪。

⑤尺寸標注(DimensionElement):尺寸標注在CAD文件中很常見,主要是對元素幾何圖形的長度、距離、角度等幾何特征進行標注,多用于規劃、設計類圖紙,在地形圖中使用較少。一個標注元素主要由標注點、標注值、標注偏移三部分組成(如圖5所示),坐標轉換時不但要轉換標注點的坐標,還要根據新坐標值改變標注值。在MicroStation平臺,首先使用Point屬性獲取標注點坐標,進行坐標轉換后,使用DeletePoint方法刪除原坐標,再使用InsertReferencePoint方法更新坐標。標注值會重新計算并更新。

圖5 尺寸標注元素示例

多點定位元素示例如圖6所示:

圖6 多點定位元素示例

4.2 復合元素點對點轉換

相對于簡單元素,復合元素是由兩個或多個簡單元素構成的復雜元素,作為一個實體存在于CAD文件中。CAD中的復合元素主要可分為復雜鏈、復雜多邊形、單元、共享單元四類。

(1)復雜鏈(ComplexStringElement):由兩個或多個直線、圓弧、曲線相連接而成的不閉合鏈。轉換時通過GetSubElements方法獲取子元素,再對子元素一一進行坐標轉換,再使用CreateComplexStringElement1方法創建新的復雜鏈元素,最后復制原復雜鏈元素的符號化表達樣式、擴展屬性信息,完成坐標轉換。復雜鏈元素示例如圖7所示:

圖7 復雜鏈元素示例

(2)復雜多邊形(ComplexShapeElement):由兩個或多個直線、圓弧、曲線相連接而成的閉合多邊形。轉換方法類似于復雜鏈元素的轉換方法。復雜多邊形元素示例如圖8所示:

圖8 復雜多邊形元素示例

(3)單元(CellElement):單元是一組元素的集合,主要分為圖形化單元和點類型單元兩類。單元中的每一個子元素的圖層、顏色、線型、線寬可以不一樣。轉換時通過GetSubElements方法獲取子元素,再對子元素一一進行坐標轉換,并轉換單元的原點,再使用CreateCellElement1方法創建新的單元,最后復制原單元元素的符號化表達樣式、擴展屬性信息,完成坐標轉換。單元示例如圖9所示:

圖9 單元示例

(4)共享單元(SharedCellElement):類似于AutoCAD中的塊,和單元相比,不同之處在于共享單元在一個DGN文件中只存儲一次其圖形元素,其余元素類似于存儲其索引位置,對任何一個共享單元圖形的修改都會修改所有同類單元。該類型多為圖形的填充符號。轉換方法類似于單元元素的轉換方法。

4.3 圖形屬性轉換保留

DGN中元素的屬性主要通過XData、DatabaseLink兩種方式存儲,主要存儲內容及轉換方法分別為:

(1)XData:xData對象可以按照類似于字典的鍵值對的方式存儲屬性,每一個元素可以有多個XData屬性組,每一個屬性組有唯一的“鍵”來標識,其屬性值可以存儲文本、數字、點、圖層等多種類型的值。轉換時,可通過HasAnyXData方法判斷元素是否有XData屬性,如果有,則逐項復制到轉換后的元素中[4]。XData對象結構如圖10所示:

圖10 XData結構圖

(2)DatabaseLink:DatabaseLink對象主要用于存儲元素與數據庫的鏈接鍵值,一個DatabaseLink主要由MSLink、Entity、LinkType三部分組成。MSLink相當于數據庫表的編號;Entity相當于對象在數據庫中的編號;LinkType表示數據庫的連接類型,有Oracle、Odbc、OleDb等類型。轉換時,可通過HasAnyDatabaseLinks方法判斷元素是否有DatabaseLink屬性,如果有,則逐項復制到轉換后的元素中。

4.4 圖形表達樣式保留

圖形表達樣式主要包括圖層、顏色、線型、線寬、透明度、優先級、是否隱藏、是否鎖定、是否高亮以及閉合元素的是否填充、填充樣式、填充顏色等屬性。轉換時,需要將這些屬性逐項復制到轉換后的元素中。

4.5 轉換模型記錄

通常,由于CAD文件中沒有設置坐標系,為了避免轉換混亂,需要對轉換情況進行記錄,因此可將轉換時間、轉換模型記錄到元素的XData屬性中,便于用戶查詢轉換情況。在記錄時,對于單元、共享單元等復合類元素的子元素也添加記錄屬性,則當復合元素打散后亦可查看。

5 南寧市CAD文件坐標轉換實踐

5.1 轉換軟件實現

根據以上CAD幾何圖形點對點轉換實現方法,本項目基于MicroStation V8i SS4(SELECTseries 4)平臺,采用基于.NET框架的AddIn的開發方式,開發平臺選擇Visual Studio 2015,開發語言采用C#進行開發。軟件主要提供按圍柵框選范圍轉換和按文件夾批量轉換兩種方式。

5.2 轉換CAD圖件

利用所開發的轉換軟件,共完成了南寧市 6 500 km2各類CAD圖件成果的轉換。主要轉換圖件如表1所示:

CAD圖件成果轉換統計表 表1

5.3 轉換成果質量檢查

對轉換的CAD圖件,采用“二級檢查、一級驗收”的方式進行質量檢查。結果表明,本項目轉換成果精度無損失,檢查點位精度均在設計規定的限差范圍內;圖形要素不丟失、各要素齊全完整;屬性項無遺漏、屬性值正確;圖形屬性關聯準確;圖形要素間關拓撲關系與源數據一致;各圖幅間接邊完全對接,無縫隙、重疊等接邊問題。

6 結 語

本文提出了基于MicroStation平臺,利用其對DWG、DXF文件的互操作支持,在該平臺二次開發點對點坐標轉換軟件,實現了對DGN、DWG、DXF三種主要CAD格式文件的各類圖形元素的嚴密點對點轉換,實現了轉換前后其空間拓撲關系、符號化表達、擴展屬性信息的完整一致性。采用本文的方法與軟件,完成了南寧市 6 500 km2范圍內地形圖、地籍圖等各類CAD圖件成果的2000坐標轉換,共轉換各類DWG、DGN、DXF圖件上千幅,成果質量優等。因此,本文所提出的利用MicroStation平臺實現DGN、DWG、DXF三種格式的CAD圖件的動態無損坐標轉換方法具有可行性和穩定性,是一種值得推廣的坐標轉換方法。

主站蜘蛛池模板: 免费看一级毛片波多结衣| 欧美va亚洲va香蕉在线| 无码视频国产精品一区二区 | 91精品国产91欠久久久久| 久久亚洲美女精品国产精品| 无遮挡国产高潮视频免费观看| 久久91精品牛牛| 九色综合视频网| 免费xxxxx在线观看网站| 国产精品综合久久久| 国产三区二区| 美女国内精品自产拍在线播放| 欧美一级在线看| 亚洲色图另类| 超碰aⅴ人人做人人爽欧美 | 色天天综合久久久久综合片| 欧美视频二区| 69视频国产| 国产精品视频系列专区| 欧美激情综合| 亚洲免费福利视频| 91精品aⅴ无码中文字字幕蜜桃 | 香蕉视频国产精品人| 色屁屁一区二区三区视频国产| 成人午夜免费视频| 狠狠色成人综合首页| 亚洲精品片911| 亚洲综合中文字幕国产精品欧美| 国产成人亚洲日韩欧美电影| 91久久夜色精品| 亚洲一区毛片| 国产v精品成人免费视频71pao| 亚洲国产成人超福利久久精品| 欧美亚洲第一页| 亚洲伊人天堂| 亚洲精品无码AⅤ片青青在线观看| 日韩欧美视频第一区在线观看 | 国产成人做受免费视频| 四虎免费视频网站| 日韩精品欧美国产在线| 亚洲无码日韩一区| 国产精品区视频中文字幕| 欧美人在线一区二区三区| 亚洲无卡视频| 国产毛片基地| 先锋资源久久| 激情無極限的亚洲一区免费| 直接黄91麻豆网站| 91久久国产综合精品| 久久精品波多野结衣| 国产精品极品美女自在线| 欧美亚洲一区二区三区在线| 最新国产成人剧情在线播放| 久草视频精品| 国产高清在线精品一区二区三区| 国产丝袜无码精品| 欧美综合区自拍亚洲综合绿色| 国产高潮流白浆视频| av在线5g无码天天| 日本人妻丰满熟妇区| 亚欧美国产综合| 中文字幕亚洲精品2页| 日韩视频福利| 67194在线午夜亚洲| 无码精品福利一区二区三区| 大香网伊人久久综合网2020| 国产亚洲高清视频| 精品精品国产高清A毛片| 日本不卡免费高清视频| 成人国产三级在线播放| 欧美性精品不卡在线观看| 亚洲精品动漫在线观看| 91久久国产成人免费观看| 日韩123欧美字幕| www.精品国产| 91精品人妻互换| 美女国产在线| www亚洲精品| 亚洲黄色网站视频| 激情综合图区| 国产女人爽到高潮的免费视频 | 免费精品一区二区h|