亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DXF坐標(biāo)轉(zhuǎn)換的實現(xiàn)

        2017-11-28 08:53:52呂寶奇王瑞芳
        河南科技 2017年19期
        關(guān)鍵詞:測繪

        呂寶奇 王瑞芳

        DXF坐標(biāo)轉(zhuǎn)換的實現(xiàn)

        呂寶奇1王瑞芳2

        (1.河南省測繪工程院,河南 鄭州 450003;2.鄭州測繪學(xué)校,河南 鄭州 450015)

        在常用CAD文件處理中,對DXF文件編輯需要安裝AutoCAD軟件?;诖?,本文通過研究DXF文件組織結(jié)構(gòu),直接接對DXF文件文本進(jìn)行編輯,在已有坐標(biāo)轉(zhuǎn)換模型下,實現(xiàn)對DXF格式文件坐標(biāo)的轉(zhuǎn)換。

        AutoCAD;DXF;坐標(biāo)轉(zhuǎn)換

        AutoCAD由于其豐富的指令、強(qiáng)大的功能,已被各種工程測量使用,而DXF作為AutoCAD的公開矢量交換格式,分為ASCⅡ和二進(jìn)制兩類。其中,ASCⅡ編碼由于其易于編輯和分析,被廣泛應(yīng)用,成為了一種事實上的標(biāo)準(zhǔn)。因此,掌握DXF格式的解析工作對地理信息程序設(shè)計人員至關(guān)重要。

        測繪工作經(jīng)常會遇到不同坐標(biāo)系下的轉(zhuǎn)換,如1980西安坐標(biāo)系到2000國家大地坐標(biāo)系的轉(zhuǎn)換。作為Auto?CAD的交換格式,DXF相對易于解析,可以不依賴Auto?CAD編輯,被眾多用戶所采用。因此,本文對DXF格式矢量文件坐標(biāo)轉(zhuǎn)換進(jìn)行分析與實現(xiàn)[1-3]。

        1 DXF格式分析

        1.1 基本結(jié)構(gòu)

        從根本上來說,DXF文件可以看作是由組碼和組值組成的矢量文件,組碼指示組值的類型,而組值確定了其值(Value)。為了清晰顯示,DXF文件的每一個組碼和組值都各占一行。每一段開頭為SECTION 0,第二段為組碼2和該段的名稱,中間內(nèi)容為定義各個要素的組碼和組值,最后為表示結(jié)束的ENDSEC O。DXF基本結(jié)構(gòu)如圖1所示。

        圖1 DXF基本結(jié)構(gòu)

        標(biāo)題段(Header)主要用于記錄所有標(biāo)題變量的當(dāng)前狀態(tài)和當(dāng)前值。表段(Table)包括有線型表、圖層表、字體表和視圖表等一系列表。塊段(Blocks)記錄了塊名、塊種類、插入基點(diǎn)及組成塊的成員等。實體段(Entities)記錄了實體的名稱、所在圖層及其名字、線型、顏色[4,5]。

        由于DXF的組織結(jié)構(gòu)非常復(fù)雜,而在坐標(biāo)轉(zhuǎn)換中,常用的要素其實并不是很多,因此,并不需要完整地讀取整個DXF文件,只需要提取部分圖形的實體信息,忽略DXF文件中的大部分?jǐn)?shù)據(jù),獲取實際的層表、塊段和實體段,就可以獲取相應(yīng)圖形的坐標(biāo)信息[6-8]。圖層表中說明每一層的顏色、線型,這些內(nèi)容不需要更改,因此可以直接跳過。

        坐標(biāo)轉(zhuǎn)換常用的基本組碼定義為:

        9:變量名稱標(biāo)志符(僅使用于Header段);

        10、20、30:主要點(diǎn)x、r、。值;

        11~18,21~28,31~37:其他點(diǎn)的z、y、z值;

        40~48:雙精度浮點(diǎn)值(如縮放比例等);

        50:角度。

        1.2 轉(zhuǎn)換分析

        1.2.1 主要CAD要素。在坐標(biāo)轉(zhuǎn)換處理中,部分CAD要素由于其定義相對單一、易懂,可以對其直接修改而無需過多處理。主要為AcDbPohline、AcDbPoint、AcD?bText、AcDline、AcDb2dPolyline、AcDbVector、AcDbSpline、AcDhMText、AcDbCircle等。對于單點(diǎn)只需直接轉(zhuǎn)換,對于直線及多段線,需要對每個頂點(diǎn)逐一轉(zhuǎn)換,對于圓,只需要對其圓心進(jìn)行轉(zhuǎn)換[9]。

        1.2.2 塊要素分析。塊(Blocks)是DXF文件中相當(dāng)重要的一種要素。在實際生產(chǎn)中,塊被用于各種符號、復(fù)雜圖元等構(gòu)建中。塊由于其組織結(jié)構(gòu)具有特殊性,因此,需要專門處理Blocks段中包含的所有塊定義,塊定義不能嵌套包含塊定義[10]。

        標(biāo)志塊本身的字符串為“AcDbBlockBegin”,結(jié)束字符串為“AcDBBlockEnd”。由于同一個塊可由多個塊參照引用,因此,在轉(zhuǎn)換前,應(yīng)先遍歷所有塊要素,獲取其中的塊名和塊偏移值。本文定義一個塊的結(jié)構(gòu)體:

        Private Struct Block

        Public string StrName;

        Public double x;

        Public double y;

        由于塊存儲的是與塊參照(AcDbBlockReference)的相對位置,即塊偏移值,所以直接轉(zhuǎn)換塊的坐標(biāo)或轉(zhuǎn)換相對位置都是不正確的。需要利用獲取的x、y偏移值,x、y縮放因子和旋轉(zhuǎn)角度,求出塊的絕對位置[11]。對絕對位置進(jìn)行轉(zhuǎn)換后,再反向計算修改塊參照的相應(yīng)坐標(biāo)值。其偽代碼為:

        //獲取塊參照的xy值

        GetXY(outxpart,out ypart);

        //獲取塊xy坐標(biāo)值

        GetXY(out x.out y);

        //獲取xy偏移值GetdXdY(out dx,outdy);//獲取塊旋轉(zhuǎn)參數(shù)

        GetAngle(out angle);

        //計算xy臨時變量

        CaculateBlock(angle,dx,dy,x,y,xpart,ypart,outxTemp,outyTemp)

        xTemp=dx*cos(angle)*xpart–dy*sin(angle)*ypart+x;

        yTemp=dx*sin(angle)*xpart+dy*cos(angle)*ypart+y;

        ∥對xy臨時變量進(jìn)行轉(zhuǎn)換

        Transform(ref xTemp,refyTemp)

        //反向計算xy坐標(biāo)

        CaculateBlockResult(angle,dx,dy,x,y,xpart,ypart,xTemp,yTemp,outx,outy)

        x=xTemp-dx*cos(angle)*xpart+dy*sin(an?gle)*ypart;

        y=yTemp-dx*sin(angle)*xpart-dy*cos(an?gle)*ypart;

        1.3 其他圖元處理

        “$EXTMIN”“$EXTAX”存儲DXF文件圖元的邊界,如果直接轉(zhuǎn)換,顯然不正確的。本文采用的方法為統(tǒng)計所有轉(zhuǎn)換后的坐標(biāo)值并比較其大小,再修改原始邊界值。

        在普遍的地理數(shù)據(jù)處理中,一般將圓?。ˋrc)擬合曲線,而不是直接使用。如果要轉(zhuǎn)換圓弧,則先分析其構(gòu)成。組碼10、20、30對應(yīng)圓弧圓心坐標(biāo),40對應(yīng)圓弧半徑長度,50代表圓弧開始角度,51代表圓弧結(jié)束角度。因此,要轉(zhuǎn)換圓弧就不僅要轉(zhuǎn)換圓心坐標(biāo),其半徑角度等都可能改變??梢愿鶕?jù)圓參數(shù)方程計算起點(diǎn)與終點(diǎn)的坐標(biāo),對圓心、起點(diǎn)、終點(diǎn)進(jìn)行轉(zhuǎn)換后,再反求半徑與開始角度和結(jié)束角度。橢圓(Ellipse)的轉(zhuǎn)換原理與其相似。

        DXF轉(zhuǎn)換流程如圖2所示。

        2 轉(zhuǎn)換模型

        2.1 二維四參數(shù)轉(zhuǎn)換

        二維四參數(shù)轉(zhuǎn)換模型通常用于范圍較小的不同高斯投影平面轉(zhuǎn)換、相對獨(dú)立的平面坐標(biāo)系統(tǒng)與2000國家大地坐標(biāo)系的聯(lián)系,包括兩個平移參數(shù)、一個旋轉(zhuǎn)參數(shù)和一個尺度比參數(shù),因為DXF坐標(biāo)為平面坐標(biāo),所以可以直接使用二維四參數(shù)轉(zhuǎn)換模型進(jìn)行轉(zhuǎn)換。

        2.2 二維七參數(shù)轉(zhuǎn)換

        二維七參數(shù)轉(zhuǎn)換模型通常用于不同地球橢球基準(zhǔn)下的橢球面上的點(diǎn)位坐標(biāo)轉(zhuǎn)換,包括三個平移參數(shù)、三個旋轉(zhuǎn)參數(shù)和一個尺度比參數(shù)。因為DXF坐標(biāo)為平面坐標(biāo),而二維七參數(shù)輸入坐標(biāo)為經(jīng)緯度坐標(biāo),因此,需要先將DXF中的坐標(biāo)經(jīng)過高斯投影變換得到經(jīng)緯度坐標(biāo),對其進(jìn)行二維七參數(shù)轉(zhuǎn)換,然后再對其進(jìn)行高斯投影變換得到平面坐標(biāo)。

        圖2 DXF轉(zhuǎn)換流程

        3 改進(jìn)及展望

        3.1 改進(jìn)

        以往對圓弧進(jìn)行處理時,如果兩個坐標(biāo)系存在較為復(fù)雜的轉(zhuǎn)換關(guān)系,圓弧變換之后可能不再是圓弧,因此,可以不對圓心直接進(jìn)行轉(zhuǎn)換,而通過起點(diǎn)、終點(diǎn)和圓心對應(yīng)的相似關(guān)系進(jìn)行相似變換求解圓心,這樣可以保證圓弧的形狀與轉(zhuǎn)換之前保持一致。

        在坐標(biāo)轉(zhuǎn)換中,主要計算工作為矩陣運(yùn)算。由于圖元要素較多,計算速度受到影響,因此,可以采用多種方法加速計算:一是可以采用SIMD指令執(zhí)行并行計算,提高CPU利用率,加速矩陣運(yùn)算:二是可以采用CPU加速,利用顯卡更強(qiáng)的并行計算能力提高運(yùn)算速度;三是可以利用四元數(shù)代替矩陣計算轉(zhuǎn)換中的旋轉(zhuǎn)部分,降低列內(nèi)存的需求。

        3.2 展望

        DXF作為AutoCAD的交換格式,在矢量數(shù)據(jù)處理中被廣泛應(yīng)用,因此,其坐標(biāo)轉(zhuǎn)換有廣闊的應(yīng)用前景。只有對DXF數(shù)據(jù)格式進(jìn)行研究,并對坐標(biāo)轉(zhuǎn)換原理有了一定的認(rèn)識,才能更好地對其進(jìn)行坐標(biāo)轉(zhuǎn)換處理。雖然其處理效率還有待提高,但如何更精確地實現(xiàn)更復(fù)雜的轉(zhuǎn)換功能,值得我們進(jìn)一步研究與探討。

        [1]中華人民共和國國土資源局部.TD/T 1001-2012地籍調(diào)查規(guī)程[S].北京:中國標(biāo)準(zhǔn)出版社,2012.

        [2]劉經(jīng)南.基準(zhǔn)統(tǒng)的建立和變換[M].武漢:武漢大學(xué)出版社,1995.

        [3]杜向鋒,張興福,張永毅等.CORS測量成果轉(zhuǎn)換的一步法及其精度分析[J].測繪通報,2015(7):23-26.

        [4]周忠謨,易杰軍,周琪.GPS衛(wèi)星測量原理與應(yīng)用[M].武漢:測繪出版社,1999.

        [5]中華人民共和國住房和城鄉(xiāng)建設(shè)部.GB 50026—2007.工程測量規(guī)范[S].北京:中國計劃出版社,2008.

        [6]魏子卿.我國大地坐標(biāo)系的換帶問題[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2003(2):138-143.

        [7]陳俊勇.中國現(xiàn)代大地基準(zhǔn)——中國大地坐標(biāo)系統(tǒng)2000(CGCS2000)及其框架[J].測繪學(xué)報,2008(3):260-271.

        [8]何林,柳林濤,許超鈐,等.常見平面坐標(biāo)系之間相互轉(zhuǎn)換的方法研究[J].測繪通報,2014(9):6-11.

        [9]楊國清.控制測量學(xué)[M]鄭州:黃河水利出版社,2010.

        [10]孔祥元,梅是義.控制測量(下冊)[M].武漢:武漢出版社,2006.

        [11]歐朝龍,黃夢龍.地方坐標(biāo)到2000國家大地坐標(biāo)轉(zhuǎn)換方法研究[J].測繪通報,2010(9):26-28.

        Research and Realization of Coordinate Transformation base on DXF

        Lv Baoqi1Wang Ruifang2
        (1.Henan Engineering Institute of Surveying and Mapping,Zhengzhou Henan 450002;2.Zhengzhou School for Surveying and Mapping,Zhengzhou Henan 450015)

        In common CAD file processing,the DXF file editor needs to be installed with AutoCAD soft?ware.Based on this,this paper studied the organization structure of DXF file,and directly edited the text of DXF file,and realized the conversion of DXF format file coordinates under the existing coordinate con?version model.

        AutoCAD;DXF;coordinate system conversion

        P283

        A

        1003-5168(2017)10-0036-03

        2017-09-01

        呂寶奇(1981-),男,工程師,研究方向:計算機(jī)輔助制圖與數(shù)字城市平臺建設(shè)。

        猜你喜歡
        測繪
        常州市測繪院
        城市勘測(2023年5期)2023-11-03 01:32:36
        新型基礎(chǔ)測繪探索
        浙江省第一測繪院
        工程測繪中GNSS測繪技術(shù)的應(yīng)用
        測繪新技術(shù)在測繪工程中的應(yīng)用
        江西建材(2018年4期)2018-04-10 12:37:38
        04 無人機(jī)測繪應(yīng)用創(chuàng)新受青睞
        無人機(jī)在地形測繪中的應(yīng)用
        電子制作(2017年9期)2017-04-17 03:01:00
        測繪簡史
        測繪簡史
        遙感測繪技術(shù)在測繪工作中的應(yīng)用探討
        河南科技(2014年1期)2014-02-27 14:04:09
        亚洲av成人永久网站一区| 无码人妻久久一区二区三区app| 国语少妇高潮对白在线| 国产精品成人va| 成 人 网 站 在线 看 免费| 国产日韩亚洲中文字幕| 一区二区三区乱码专区| av熟妇一区二区三区| 国产亚洲美女精品久久久2020 | 寂寞少妇做spa按摩无码| 欧美极品少妇性运交| 妺妺窝人体色www在线直播| 中文字幕偷拍亚洲九色| 中文字幕一区二区av| 亚洲国产精品久久精品 | 北条麻妃毛片在线视频| 蜜桃伦理一区二区三区| 久久国产精品国语对白| 亚洲中文字幕无码av永久| 欧美大屁股xxxx| 无限看片在线版免费视频大全 | 国产精品毛片无码| 国产视频嗯啊啊啊| 亚洲av熟女天堂久久天堂| 国产精品一区二区av不卡| 国产精品无码一区二区在线观一| 全球av集中精品导航福利| 初高中生精品福利视频| 欧美丝袜秘书在线一区| 粉色蜜桃视频完整版免费观看在线| 色窝窝亚洲av网在线观看| 亚洲av成人无码久久精品| 国产男女插插一级| 在线观看日韩精品视频网站| 在线播放av不卡国产日韩| 少妇高潮一区二区三区99| 国产看黄网站又黄又爽又色| 国产aⅴ丝袜旗袍无码麻豆| 精品人妻av中文字幕乱| 国产两女互慰高潮视频在线观看 | 最新日本免费一区二区三区|