張瑜偉, 王 丹, 朱 文
(1.江蘇省地質(zhì)測繪院 江蘇 南京 211102;2. 江蘇省地質(zhì)勘查技術(shù)院 江蘇 南京 211102)
第三次全國國土調(diào)查(簡稱“三調(diào)”)的主要任務(wù)是在第二次全國土地調(diào)查(以下簡稱“二調(diào)”)成果基礎(chǔ)上,按照國家統(tǒng)一標(biāo)準(zhǔn),在全國范圍內(nèi)利用遙感、測繪、地理信息、互聯(lián)網(wǎng)等技術(shù),統(tǒng)籌現(xiàn)有資料,查清各類土地的所有權(quán)和使用權(quán)情況。全面細(xì)化和完善全國國土利用基礎(chǔ)數(shù)據(jù),滿足生態(tài)文明建設(shè)、空間規(guī)劃編制、自然資源管理體制改革和統(tǒng)一確權(quán)登記等工作的需求。相比于“二調(diào)”,“三調(diào)”技術(shù)標(biāo)準(zhǔn)中數(shù)學(xué)基礎(chǔ)的平面坐標(biāo)系、土地分類、線狀地物(“二調(diào)”中的線需轉(zhuǎn)為“三調(diào)”中的面)等發(fā)生了較大變化。如要有效的開展工作,順利的提供外業(yè)調(diào)查工作地圖,那么首先要解決坐標(biāo)轉(zhuǎn)換和地類代碼轉(zhuǎn)換的問題。本文以某項(xiàng)目中ArcGIS下的DLG數(shù)據(jù)為例,詳細(xì)闡述坐標(biāo)和地類代碼轉(zhuǎn)換在FME軟件中實(shí)現(xiàn)的技術(shù)方法。
FME(Feature Manipulate Engine,簡稱FME)是加拿大Safe Software公司基于OpenGIS組織提出的數(shù)據(jù)轉(zhuǎn)換理念“語義轉(zhuǎn)換”推出的一套空間數(shù)據(jù)處理的軟件產(chǎn)品,可以用于讀、寫、存儲(chǔ)和轉(zhuǎn)換各種空間數(shù)據(jù)。
FME軟件包含有6個(gè)功能模塊: FME Workbench、FME Universal Translator、FME Universal Viewer、FME Plug-in(SDK)、FME Object API、FME Application Extenders。本文中主要用到FME Workbench 模塊,F(xiàn)ME Workbench是一個(gè)空間ETL(ETL表示Extract—提取,Transform—轉(zhuǎn)換和Load—加載)創(chuàng)作環(huán)境,可以快速定義圖形化的流程,進(jìn)行數(shù)據(jù)的轉(zhuǎn)換、變換和集成。提供了400多種(FME2017)轉(zhuǎn)換函數(shù),主要數(shù)據(jù)處理過程包括:幾何要素操作,多源、多類型數(shù)據(jù)組合,屬性數(shù)據(jù)與幾何要素連接,屬性數(shù)據(jù)操作,要素符號(hào)校準(zhǔn)等,用戶可以通過組合不同的函數(shù)功能實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)處理功能。
坐標(biāo)轉(zhuǎn)換就是采用適用的轉(zhuǎn)換模型和轉(zhuǎn)換參數(shù),將大地測量控制點(diǎn)坐標(biāo)從某一坐標(biāo)系轉(zhuǎn)換到另一坐標(biāo)系。坐標(biāo)轉(zhuǎn)換通常包含坐標(biāo)系變換和基準(zhǔn)變換兩部分內(nèi)容。其中,坐標(biāo)系變換是在同一地球橢球下,空間點(diǎn)的不同坐標(biāo)表示形式間進(jìn)行變換,不涉及基準(zhǔn)面變換,參數(shù)是既定的,不受外部誤差影響;基準(zhǔn)變換是空間點(diǎn)在不同的橢球間的坐標(biāo)變換,變換參數(shù)內(nèi)擬合模型確定,受測量誤差影響。 “二調(diào)”中的1980西安坐標(biāo)系到“三調(diào)”中2000國家大地坐標(biāo)系的轉(zhuǎn)換實(shí)質(zhì)上是不同基準(zhǔn)之間的轉(zhuǎn)換。FME軟件中提供了通過自定義坐標(biāo)系、仿射變換和控制點(diǎn)糾正的方法實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換。
定義坐標(biāo)系需要確定這個(gè)坐標(biāo)系的橢球體參數(shù),基準(zhǔn)面參數(shù)以及投影參數(shù)。在FME中,自定義坐標(biāo)系參數(shù)定義涉及兩個(gè)文件LocalCoordSysDefs.fme和MyCoordSysDefs.fme。在LocalCoordSysDefs.fme文件中定義橢球體參數(shù)和基準(zhǔn)面參數(shù);在MyCoordSysDefs.fme文件中定義投影參數(shù)。具體橢球體、基準(zhǔn)面和投影參數(shù)定義可以參考FME幫助文檔,需要注意的是基準(zhǔn)面參數(shù)中定義的轉(zhuǎn)換模型參數(shù)(四參數(shù)、七參數(shù)等),是所定義坐標(biāo)系與WGS84坐標(biāo)系之間的轉(zhuǎn)換關(guān)系。如果要完成2個(gè)非WGS84坐標(biāo)系之間的轉(zhuǎn)換,就需要完成兩組坐標(biāo)系的定義即可。例如,從1980西安坐標(biāo)系到2000國家大地坐標(biāo)系的7參數(shù)是一組值:dx,dy,dz,rx,ry,rz,bs。先用這組參數(shù)定義1980西安坐標(biāo)系到WGS84的坐標(biāo)系定義;然后再用0,0,0,0,0,0,1這樣一組7參數(shù),完成2000國家大地坐標(biāo)系到WGS84的坐標(biāo)系定義。但是這種定義方式,只能用于這兩個(gè)坐標(biāo)系之間的轉(zhuǎn)換,而不能用于和其他坐標(biāo)系的變換。
自定義坐標(biāo)系文件中參數(shù)定義完成后,在FME轉(zhuǎn)換模版中,對(duì)原始數(shù)據(jù)和目標(biāo)數(shù)據(jù)分別設(shè)置坐標(biāo)系,F(xiàn)ME在進(jìn)行數(shù)據(jù)轉(zhuǎn)換的時(shí)候,可以自動(dòng)進(jìn)行坐標(biāo)系的變換。
或者可以使用FME Workbench中的Reprojector轉(zhuǎn)換器或EsriReprojector轉(zhuǎn)換器或CsmapReprojector轉(zhuǎn)化器對(duì)已有數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換。在轉(zhuǎn)換器中分別選擇源數(shù)據(jù)坐標(biāo)系和目標(biāo)數(shù)據(jù)坐標(biāo)系,確定后,即可進(jìn)行坐標(biāo)系的變換。
FME Workbench有兩個(gè)坐標(biāo)仿射變換轉(zhuǎn)換器Affiner和3DAffiner,其轉(zhuǎn)換模型如式(1)、式(2)所示。
(1)
式(1)中:x1,y1為源坐標(biāo)系下的坐標(biāo);x2,y2為目標(biāo)坐標(biāo)系下的坐標(biāo);A、B、C、D、E、F 為仿射變換的系數(shù)。
(2)
式(2)中:X1、Y1、Z1為源坐標(biāo)系中坐標(biāo);X2、Y2、Z2為目標(biāo)坐標(biāo)系中坐標(biāo);A、B、C、D、E、F、G、H、I、J、K、L 為仿射變換的系數(shù)。
實(shí)際應(yīng)用中,二維、三維仿射變換系數(shù)可以通過與之對(duì)應(yīng)的四參數(shù)、七參數(shù)(布爾莎)轉(zhuǎn)換模型計(jì)算求出。其四參數(shù)、七參數(shù)轉(zhuǎn)換模型,如式(3)、式(4)所示。
(3)
式(3)中:x1、y1為源坐標(biāo)系中坐標(biāo);x2、y2為目標(biāo)坐標(biāo)系中坐標(biāo);Δx、Δy為平移參數(shù);α為旋轉(zhuǎn)參數(shù);m為尺度因子。
(4)
式(4)中:X1、Y1、Z1為源坐標(biāo)系中坐標(biāo);X2、Y2、Z2為目標(biāo)坐標(biāo)系中坐標(biāo);Tx、Ty、Tz為平移參數(shù);Rx、Ry、Rz為旋轉(zhuǎn)參數(shù);D為尺度因子。
由上述式(1)和式(3),式(2)和式(4)可以分別計(jì)算出二維、三維仿射變換系數(shù),如表1所示。
表1 二維、三維仿射變換系數(shù)
對(duì)于地方坐標(biāo)(或坐標(biāo)系未知的坐標(biāo)),如果未提供轉(zhuǎn)換參數(shù),通常利用控制點(diǎn)進(jìn)行坐標(biāo)幾何糾正,從而達(dá)到坐標(biāo)轉(zhuǎn)換的目的。利用控制點(diǎn)坐標(biāo)轉(zhuǎn)換時(shí),為保證轉(zhuǎn)換成果的精度,控制點(diǎn)應(yīng)盡量均勻地分布,同時(shí),觀測數(shù)據(jù)不要離控制點(diǎn)太遠(yuǎn)。此外,增加控制點(diǎn)對(duì)的個(gè)數(shù)也能提高轉(zhuǎn)換精度。但增加控制點(diǎn)對(duì)會(huì)損失計(jì)算效率。
在FME Workbench中,提供了AffineWarper轉(zhuǎn)換器,實(shí)現(xiàn)控制點(diǎn)坐標(biāo)轉(zhuǎn)換(圖1)。
圖1 AffineWarper轉(zhuǎn)換器
由于AffineWarper轉(zhuǎn)換器是根據(jù)控制向量定義的仿射變換,然后應(yīng)用到觀測數(shù)據(jù)(Observed),它并沒有其他參數(shù)的輸入要求,只包括輸入端口和輸出端口。①輸入端口: AffineWarper的Control端口輸入控制向量。控制向量為初始坐標(biāo)系的控制點(diǎn),到目標(biāo)坐標(biāo)系對(duì)應(yīng)控制點(diǎn)的連線; AffineWarper的Observed端口輸入觀測數(shù)據(jù)。觀測數(shù)據(jù)的仿射變換由控制向量給出。②輸出端口: AffineWarper的Corrected端口輸出經(jīng)過校正的觀測數(shù)據(jù)。使用AffineWarper轉(zhuǎn)換器構(gòu)建的坐標(biāo)轉(zhuǎn)換模版(圖2)。
圖2 AffineWarper坐標(biāo)轉(zhuǎn)換模版
綜上所述,在已知坐標(biāo)轉(zhuǎn)換參數(shù)的情況下,可以使用自定義坐標(biāo)系或仿射變換的方法實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換,但自定義坐標(biāo)系支持的轉(zhuǎn)換模型更多,如4參數(shù)、7參數(shù)、布爾莎、莫洛堅(jiān)斯基等模型;在已知同名控制點(diǎn)對(duì)的情況下,可以直接使用控制點(diǎn)糾正的方法實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換,也可以通過其他軟件計(jì)算出轉(zhuǎn)換參數(shù)后,再由自定義坐標(biāo)系或仿射變換的方法實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換。
按照《第三次土地調(diào)查土地工作分類》標(biāo)準(zhǔn),需要將“二調(diào)”及年度變更調(diào)查成果中地類代碼轉(zhuǎn)換為“三調(diào)”土地工作分類的地類代碼,其轉(zhuǎn)換流程如圖3所示。
圖3 地類代碼轉(zhuǎn)換流程
地類代碼轉(zhuǎn)換應(yīng)建立在土地分類對(duì)照表基礎(chǔ)之上,對(duì)各地類進(jìn)行對(duì)照轉(zhuǎn)換、檢查,經(jīng)調(diào)整、補(bǔ)充調(diào)查后轉(zhuǎn)換成符合“三調(diào)”要求的分類。在FME Workbench中,提供了DatabaseJoiner轉(zhuǎn)換器,利用其構(gòu)建的地類代碼轉(zhuǎn)換模版可以實(shí)現(xiàn)上述地類代碼轉(zhuǎn)換的過程(圖4)。
圖4 DatabaseJoiner地類代碼轉(zhuǎn)換模版
坐標(biāo)轉(zhuǎn)換和地類代碼轉(zhuǎn)換是“三調(diào)”工作中兩項(xiàng)重要的任務(wù),本文介紹了利用FME軟件對(duì)“二調(diào)”數(shù)據(jù)進(jìn)行坐標(biāo)和地類代碼轉(zhuǎn)換的技術(shù)方法,并給出實(shí)現(xiàn)過程。使用 “自定義坐標(biāo)系轉(zhuǎn)換模版”、“EsriReprojector坐標(biāo)轉(zhuǎn)換模版”、“Affine坐標(biāo)轉(zhuǎn)換模版”、“AffineWarper坐標(biāo)轉(zhuǎn)換模版”和“DatabaseJoiner地類代碼轉(zhuǎn)換模版”進(jìn)行坐標(biāo)和地類代碼轉(zhuǎn)換,操作簡便、高效、靈活,可提高工作效率,對(duì)其他空間數(shù)據(jù)轉(zhuǎn)換具有很好的借鑒意義。