?

基于統一坐標系的多源數據入庫方法設計

2023-01-31 06:17
高速鐵路技術 2022年6期
關鍵詞:橢球圖層入庫

湯 曦 王 義

(中鐵二院工程集團有限責任公司, 成都 610031)

目前我國鐵路有基于北京1954坐標系、西安1980坐標系、CGCS2000坐標系等多種規格的測繪成果資料,然而,此類成果資料在應用時需進行大量的空間坐標及數據格式的轉換,造成了數據管理和應用的困難[1-2]及資源浪費。

針對這一問題,本文提出對多源多態數據4D產品即數字正射影像(DOM)、數字高程模型(DEM)、柵格地圖(DRG)、數字線劃圖(DLG)、衛星遙感影像及其RPC參數定向文件、航空攝影影像及其相關定向文件(像主點、POS數據等)、空三加密成果等進行基于統一空間坐標系的數據管理。采取了主流的ArcGIS平臺為依托,基于ArcGIS平臺二次開發接口實現數據檢查、坐標系轉換、格式轉換以及入庫等功能。同時為保證坐標轉換的精度和效率,本文采用通過數學逼近模型和控制點進行數值變換,并做了相應的精度驗證試驗[3-4]。

1 處理流程設計

1.1 多源數據格式轉換

多源數據包括多尺度的DLG(包括dwg、dxf、Shapefile和geodatabase中矢量數據集),DEM(NSDTF國標格式、tif格式和 grid格式)、DOM(包含 tiff和geotiff格式)等。在將數據按照數據類型進行格式轉換的過程中,為保持數據的兼容性,入庫數據中影像統一轉換為geotiff格式,矢量統一轉換為Shapefile格式,轉換中保持數據不壓縮,保證原有的數據信息不損失[5]。

1.2 坐標系轉換原理

1.2.1 參數轉換模型

七參數模型即7個未知數構成的具備平移、旋轉、縮放功能為一體的函數,由3個平移因子(ΔX,ΔY,ΔZ)、3個旋轉角度因子(Δα,Δβ,Δγ)和 1個縮放參數K組成。在旋轉角度不大的情況下求解模型時,把旋轉矩陣采取線性化的操作即可。然而,角度較大的情況下,坐標轉換會造成精度損失[6]??臻g坐標轉換的擬合函數是一個矩陣函數,但可將其轉化成超定非線性方程組,繼而應用非線性最小二乘算法求解。本文采用一種基于非線性最小二乘的坐標換算方法得到七參數[7],該方法更容易收斂、不隨初始值變化、操作簡單便捷、容易實現。

以選取3個已知點坐標,組成9個方程為例進行求解,具體步驟如下:

(1)擬合矩陣函數

空間三維坐標轉換模型為:

式中:x1,x2,x3——平移矩陣的 3 個分量;

x4——尺度參數;

x——某點轉換前的三維坐標;

y——該點轉換后的三維坐標。

(2)最小二乘原理確定七參數

等價于求式(3)的極小值問題。

(3)求解多元函數的極小值

將給定值作為已知條件進行迭代,在迭代計算的整個過程中符合選定條件時停止,得到七參數值。

1.2.2 相同橢球投影轉換模型

本文投影轉換采用常用的高斯正反算模型,其數學模型如下:

(1)高斯投影正算公式

式中:X——子午線弧長。

(2)高斯投影反算公式

式中:ηf、tf——分別為按Bf值計算的相應量;

Bf——表底點緯度;

a——橢球體長半軸;

b——橢球體短半軸;

f——橢球體扁率;

e——橢球體第一偏心率;

e′——橢球體第二偏心率;

B——橢球體緯度;

M——子午圈的曲率半徑;

N——卯酉圈的曲率半徑[8]。

1.2.3 轉換流程

本文的數據可以分成矢量和柵格兩大類。對于不同橢球基準間的坐標轉換,首先要利用公共控制點計算轉換參數,再利用轉換參數進行坐標系轉換;對于同一橢球不同投影間的坐標系,則直接利用投影正反算公式進行投影轉換。數據處理流程如圖1所示。

圖1 多源數據坐標轉換流程圖

由圖1可知,圖中控制點和數字線劃圖作為矢量數據先進行坐標基準檢查,若坐標基準相同,則直接進行坐標投影轉換;若坐標基準不同,則首先進行坐標基準轉化,隨后進行坐標投影轉換,更新圖形要素,并輸出轉換結果,該流程結束。矢量要素逐點進行坐標轉換效率不高,因而采用逐要素坐標轉換的方法,對圖層中的每個要素逐次逐級轉換,轉換流程如圖2所示。

圖2 矢量數據坐標轉換流程圖

由圖2可知,流程轉換分為數據輸入、數據處理、數據輸出3層。數據輸入包括輸入已知n組重合點坐標和輸入已知轉換參數。重合點坐標作為輸入點計算轉換參數,通過轉換參數提取圖形要素的原始坐標,計算得到各要素的目標坐標。最后,更新圖形要素得到輸出的轉換結果。矢量數據坐標轉換利用ArcGIS Engine中已有的ITransform2D方法實現。

數字高程模型圖、航空數字影像、衛星遙感影像、數字正射影像圖作為柵格數據進行轉換。柵格數據的坐標換算可采用幾何校正的方法,但需注意的是,該方法實施環節存在過多的人工干預,自動化程度不高。柵格數據坐標轉換可采用IRasterGeometryProc方法下的Wrap方法,首先將柵格影像的4個角點坐標作為坐標換算的已知點,其次根據轉換參數求出要轉換的新坐標系下的坐標,基于此圖像單元進行重采樣,達到空間轉換的目的,得到轉換后的柵格數據。柵格數據轉換流程如圖3所示。

圖3 柵格數據坐標轉換流程圖

1.3 拓撲關系檢查

拓撲關系是描述空間要素的幾何關系,包括點、線、面的鄰接、包含、相離等關系。在數據入庫之前,需對數據進行拓撲關系檢查,本文所設計的系統根據生產需要對拓撲規則進行了拓展并設置了相應的規則,比如面狀要素遵循不能自相交、面邊線的節點上必須有點、不能有碎面等規則,線狀要素遵循節點上必須有點、不能有碎線、線不能跨越兩個以上面等規則,點狀要素遵循點不能重疊、兩個點層不能互相重疊、點必須在線的節點上等規則。

上述拓撲關系檢查通過利用ArcGIS Engine中提供的ISpatialFilter、IGeometry、IHitTest和ITopologicalOperator等接口實現。檢查完畢后自動修改或者提示人工修改,可以按索引自動跳到錯誤所在位置,修改完成后進入下一環節。

1.4 數據入庫

數據入庫前要按不同的數據類型設置相對應的入庫模板。柵格數據入庫模板設置相對簡單,矢量數據尤其是線劃圖數據要復雜得多。矢量數據入庫圖層代碼統一采用國標圖層代碼,將鐵路數字線劃圖圖層代碼轉換到國標規定圖層代碼,通過建立線劃圖數據入庫模板,建立一一對應關系,利用“鐵路地理空間信息數據入庫系統”進行轉換。線劃圖圖層對應關系(即鐵路圖層碼和標準GB碼的對應關系)如表1所示。除此之外,還要將數據的空間信息和時間信息作為數據庫的關鍵索引值,數據入庫時可以將這些信息自動添加,再人工檢查,這樣多源多時相的數據就可以錄入到統一數據庫中,可按不同的坐標和時間瀏覽和查詢,方便進行管理。

表1 鐵路與GB碼應關系表

2 系統開發

本項目開發了名為“鐵路地理空間信息數據入庫系統”入庫軟件。

2.1 軟件概要

本軟件由ArcEngine和C#二次開發,主要功能包括新建工程、數據導入、屬性檢查、拓撲檢查、坐標轉換和圖層管理等。

2.2 程序結構

平臺中主程序與主窗體的代碼為程序中的GeoDataStorageSystems.sln,其余模塊以組件形式引入。其中,Catalog模塊封裝了數據選擇窗體;CommonLib模塊封裝了操作矢量要素、影像、數據庫的通用方法;Coordinate Transformations模塊封裝了坐標轉換功能;DataManage模塊封裝了數據導入導出功能;Project Manage模塊封裝了與工程有關的操作。

3 應用實例與誤差分析

基于ArcGIS Engine二次開發組件,采用C#實現了多源數據統一管理的坐標轉換程序?!拌F路地理空間信息數據入庫系統”包括工程管理、數據管理和輔助工具三大功能模塊,本文針對輔助工具中的坐標轉換模塊進行重點說明。該模塊可以對矢量數據、柵格數據以及dwg數據等進行統一坐標轉換。針對dwg數據,本程序首先調用ArcGIS接口將其轉換成shp格式文件,然后以矢量數據的方式進行坐標轉換;在矢量數據轉換中,為提高轉換效率,以要素為單位遍歷圖層,通過ArcGIS接口為每個要素單獨賦予新的坐標系;對于柵格數據,只提取其四至點的坐標,并對其進行坐標轉換,然后以新坐標為標準,對柵格數據進行重采樣,以完成柵格圖層的定位。

坐標轉換模塊主要包括生成轉換方案和坐標轉換兩部分。生成轉換方案中需設置源坐標系、目標坐標系和轉換參數。其中,轉換參數包括七參數和可能需要的投影參數,完成配置后,生成轉換方案文件,作為下一步坐標轉換的輸入文件。在計算七參數界面,輸入已知n組重合的源坐標和目標坐標的值作為已知控制點數據,數據在編輯過程可以進行增刪改的操作,確認無誤后計算生成轉換參數。

(1)實驗一:利用同一區域矢量和柵格的歷史數據,矢量數據較新采用了CGCS2000大地坐標系,而柵格數據采用了WGS84經緯度坐標系,轉換前兩組坐標差異較大,變換到同一坐標系后的結果顯示了較好的一致性。

(2)實驗二:為驗證坐標轉換結果的精度,選取有實際坐標的20個控制點計算7參數,選取58個檢查點將轉換后的坐標與實際數據進行對比,結果如表2所示。

表2 坐標轉換結果與實際數據的較差表(m)

由計算結果可得,測試數據轉換中X方向轉換誤差為0.039 m,Y方向轉換誤差為0.051 m,高程誤差為0.220 m。在實際生產中,國內項目的高程大都采用國家85高程為基準,高程需要轉換較少;而平面坐標歷史或者是跨帶等原因需要轉換的情況比較多。經試驗,在小區域采用七參數轉換法??蓾M足規范精度要求,效率比較高,能轉換各種類型的數據。相同橢球距離較遠的情況下,利用高斯投影正反算公式實現坐標轉換,轉換原理更嚴密,轉換精度可靠。

4 結束語

在生產過程中積累了大量的歷史空間數據時,如何保存和管理顯得越來越重要,以數據庫的形式管理空間數據是目前應用的理想方式。為方便數據查詢,有必要將這些數據納入到同一坐標系下,因此,在入庫之前需利用轉換參數將這些雜亂的空間數據轉換到CGCS2000坐標系下。

為實現多源地理空間數據的統一管理,本文基于七參數坐標轉換模型的非線性最小二乘解及高斯正反算公式,設計實現了矢量及柵格數據統一坐標轉換方法。該方法利用同一套坐標轉換參數即可同時轉換矢量數據與柵格數據,提高了多源數據的入庫效率,并保證了數據的準確性和可靠性。把歷年保存的矢量與柵格數據基于相同坐標系入庫,方便數據的疊加、查詢等操作,同時為后續的綜合分析提供了數據保障。得到的主要研究結論為:

(1)設計了與數據性質相對應坐標轉換方案并進行了驗證,結果表明該方案滿足精度要求。

(2)基于ArcGIS Engine二次開發平臺,采用C#語言開發了數據入庫前坐標轉換、格式轉換、查錯等模塊。

(3)對同一區域的矢量柵格數據入庫,保證了數據庫坐標系和格式的統一性。

猜你喜歡
橢球圖層入庫
獨立坐標系橢球變換與坐標換算
重磅!廣東省“三舊”改造標圖入庫標準正式發布!
橢球槽宏程序編制及其Vericut仿真
中國食品品牌庫入庫企業信息公示②
中國食品品牌庫入庫企業信息公示①
解密照片合成利器圖層混合模式
橢球精加工軌跡及程序設計
基于外定界橢球集員估計的純方位目標跟蹤
身臨其境探究竟 主動思考完任務——《倉儲與配送實務》入庫作業之“入庫訂單處理”教學案例
跟我學添加真實的光照效果
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合