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

基于ArcGIS Engine的矢柵基礎地理數據空間轉換方法研究

2011-11-15 03:29:52劉佰瓊戴相喜
測繪通報 2011年12期

劉佰瓊,周 衛,戴相喜

(1.南京師范大學教育部虛擬地理環境重點實驗室,江蘇南京210046;2.南京市測繪勘察研究院有限公司,江蘇南京210005)

基于ArcGIS Engine的矢柵基礎地理數據空間轉換方法研究

劉佰瓊1,周 衛1,戴相喜2

(1.南京師范大學教育部虛擬地理環境重點實驗室,江蘇南京210046;2.南京市測繪勘察研究院有限公司,江蘇南京210005)

隨著2000國家大地坐標系的正式啟用,實現基礎地理數據不同坐標系間的空間轉換具有重要意義和實用價值。基于Esri二次開發組件ArcGIS Engine所提供的空間轉換和影像配準接口,討論ArcGIS平臺坐標轉換和投影變換方法,采用C#語言設計開發空間轉換系統,并進行轉換誤差分析,驗證該轉換方法的實用性和可靠性。

空間轉換;投影變換;ArcGIS Engine

一、引 言

經國務院批準,我國自2008年7月1日起,正式啟用2000國家大地坐標系(簡稱CGCS2000)[1-2]。然而我國現有的測繪成果大多是基于1954北京坐標系、1980西安坐標系或地方獨立坐標系獲得的,因此在今后相當長的時期內,面臨著大量的基礎地理數據空間轉換問題。

目前許多學者都對空間轉換模型進行了研究,探討了公共點的選取原則和模型適用范圍[3-4]。本文針對GIS中矢量數據和柵格數據的結構特點,討論了ArcGIS軟件平臺坐標系統和地理參考投影變換的相關接口,并以實例介紹了在 Visual Studio 2005集成開發環境下使用Esri二次開發組件Arc-GIS Engine實現矢柵基礎地理數據空間轉換的關鍵技術方法。

二、矢量數據空間轉換

1.轉換模型

二維的平面坐標轉換模型有多項式逼近、正形轉換、相似變換、仿射變換等,其中相似變換四參數模型具有較高的嚴密性,適用于區域范圍小、轉換區域在兩個坐標系中的幾何相似程度好的情況[5-6],本文采用平面四參數模型進行矢量數據空間轉換。

2.轉換方法與流程

矢量數據是基礎地理數據最主要的數據類型,能準確表示地理空間實體的位置、長度、面積等特性。由于矢量數據的所有空間幾何實體都是由坐標點(串)構成的,所以逐點進行空間轉換是最嚴密的轉換方式。但是逐點轉換需要對所有圖形要素重新生成,要求讀取并保存不同數據類型的符號,并且必須保證轉換前后符號的一致性,增大了系統開銷,計算量大,運行效率低。為了在提高轉換效率的同時保證轉換成果的可靠性,本文采用逐要素轉換的方法,對矢量數據的每個圖元要素依次進行轉換。矢量數據的空間轉換流程如圖1所示,其中包括數據輸入、數據處理和數據輸出3大模塊。

圖1 矢量數據空間轉換流程圖

3.轉換功能的實現

在二次開發組件 ArcGIS Engine中,提供了ITransform2D接口實現圖形要素的平移、旋轉和縮放,還提供了強大的坐標轉換方法(transform)。ITransformation接口則提供了多種轉換方法,包括莫洛金斯基轉換(Abridged Molodensky transformation)、二次多項式轉換(Affine transformation)等。矢量數據空間轉換的主要代碼與說明如下:

(1)根據控制點坐標擬合四參數

輸入已知的n組控制點坐標,根據這些控制點坐標采用最小二乘擬合的方法計算轉換參數。

IPoint[]fromPts=new PointClass[count];

IPoint[]toPts=new PointClass[count];

∥定義并初始化點數組,其中count為控制點個數

IAffineTransformation2D3GEN pAffineTrans=new Affine-Transformation2DClass();

∥定義并實例化相似變換接口對象

pAffineTrans. DefineConformalFromControlPoints (ref fromPts,ref toPts);

∥計算轉換參數,其中Dx、Dy為坐標平移量,Dxscale、Dyscale為縮放尺度,Drotate為旋轉角度

Dx=pAffineTrans.XTranslation;

Dy=pAffineTrans.YTranslation;

Dxscale=pAffineTrans.XScale;

Dyscale=pAffineTrans.YScale;

Drotate=pAffineTrans.Rotation;

(2)圖元要素的空間轉換

ArcGIS中的圖元要素分為點、線、面、注記4種類型,其中點要素由坐標點對構成,線要素由一系列坐標串構成,面要素則由一系列首尾相連的坐標串構成。點、線、面3類要素都是一般的圖形要素類,只需對其進行平移、旋轉、縮放就可實現空間轉換。

IFeatureCursor pFeaCur=pFeaCls.Update(null,false);

IFeature pFeature=pFeaCur.NextFeature();

IPoint pPoint=new PointClass();∥坐標基點

pPoint.X=Dx;pPoint.Y=Dy;

ITransform2D pTransform2D=pFeature.Shape;

∥要素按照四參數進行平移、旋轉和縮放

pTransform2D.Move(Dx,Dy);

pTransform2D.Rotate(pPoint,Drotate);

pTransform2D.Scale(pPoint,Dxscale,Dyscale);

pFeature.Shape=pTransform2D as IGeometry;

∥將轉換后的要素更新保存

pFeatureCursor.UpdateFeature(pFeature);

注記要素包含文字的空間位置、字體等注記信息,要求空間轉換之后保持字體朝向不變,因此可采用中心點位平移的方法進行注記的空間轉換。即首先計算出注記中心點經四參數模型轉換后的坐標;再根據其轉換前后的坐標值計算出坐標偏移量;最后將注記的文字和圖形均按照中心點偏移量進行空間轉換。

三、柵格數據空間轉換

1.轉換方法與流程

一般而言,要將柵格數據的空間信息轉換到其他坐標系中,可通過幾何校正來實現[7]。但是幾何校正需要人工選取同名控制點,轉換效率比較低。本文探討了在已知兩個坐標系之間轉換參數的情況下,自動實現柵格數據空間轉換的方法。

柵格數據空間轉換流程如圖2所示,首先獲得柵格數據的四至坐標,并將其作為空間轉換的控制點。然后通過已知的轉換參數計算出其在目標坐標系下的新坐標,再在此基礎上對柵格像元進行重采樣,實現空間轉換。該方法無需人工選取控制點,根據轉換參數就可以方便地實現柵格數據不同坐標系之間的空間轉換,提高了柵格數據空間轉換的自動化程度,尤其適用于批量轉換。

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

2.轉換功能的實現

柵格數據空間轉換可通過IRaster GeometryProc接口實現,該接口提供了柵格數據的剪切(clip)、翻轉(filp)、合并(merge)、映像(mirror)及鑲嵌(mosaic)等操作。通過轉換參數對柵格數據進行空間轉換可以使用該接口的Wrap方法,該方法會略微改變影像圖的色彩值。柵格數據空間轉換的主要代碼與說明如下:

1)獲取柵格數據源坐標系的四至坐標

IEnvelope pEnv=pRasterLayer.AreaOfInterest;

∥根據最小外接矩形獲得柵格數據四至坐標,并將其存入fromPtsCol點數組,作為源控制點坐標

IPointCollection fromPtsCol=new MultipointClass();

IPoint frPt1=new PointClass();

frPt1.X=pEnv.XMin;frPt1.Y=pEnv.YMin;

fromPtsCol.AddPoint(frPt1,ref obj,ref obj);

……

2)計算柵格數據目標坐標系的四至坐標

∥將四至坐標根據四參數進行坐標轉換,并將轉換結果存入toPtsCol點數組,作為目標控制點坐標

IClone pClone=frPt1 as IClone;

IPoint toPt1=pClone.Clone();

ITransform2D pTrans2D=toPt1 as ITransform2D;

pTrans2D.Move(Dx,Dy);

pTrans2D.Rotate(pPoint,Drotate);

pTrans2D.Scale(pPoint,Dxscale,Dyscale);

toPtsCol.AddPoint(toPt1,ref obj,ref obj);

……

3)根據控制點坐標進行柵格數據重采樣

∥通過IGeoReference接口或IRasterGeometryProc接口進行柵格數據空間轉換

IGeoReference pGR=pRasterLayer as IGeoReference;

pGR.Warp(fromPtsCol,toPtsCol,0);

pGR.Register();

值得注意的是,在柵格數據的空間轉換過程中,由于對數據進行了重采樣,空間轉換后的相鄰兩幅柵格數據邊緣會存在縫隙,無法做到無縫拼接。一種可行的解決方法是在轉換前將柵格數據劃分為具有一定重疊帶的相鄰圖幅,轉換后再將這些圖幅拼接在一起,以消除縫隙對柵格數據的影響。

四、矢柵數據投影變換

1.投影變換方法

在已知矢柵數據空間轉換前后坐標系參數的情況下,可以使用投影變換方法實現基礎地理數據的空間轉換。ArcGIS軟件平臺的坐標系統主要有地理坐標系統(geographic coordinate system)和投影坐標系統(projected coordinate system)。其中,地理坐標系統定義了大地橢球體和大地基準面參數,如橢球體長半徑、短半徑、偏心率等;投影坐標系統則定義了投影參數,如東偽偏移(false easting)、北偽偏移(false northing)、中央經線(central meridian)等。

矢柵數據的投影變換流程如圖3所示,對于矢量數據來說,仍然采用逐要素的變換方式,使用IGeometry接口的Project方法依次更新每個圖元要素實體,實現不同空間參照系之間的相互轉換;對于柵格數據,則可以根據IRaster GeometryPro接口的ProjectFast方法實現投影變換,并采用ISaveAs接口將柵格存儲為Image、Tiff、Grid等數據格式。

2.投影變換功能實現

在進行投影變換之前,需要確定轉換前后的空間參考信息,定義地理坐標系統和投影坐標系統的相關參數,其主要代碼與說明如下:

1)設置空間參考信息

∥定義投影方式為高斯克呂格投影

IProjection pProj=pFact.CreateProjection((int)esriSR_

ProjectionType.esriSRProjection_GaussKruger);

∥定義投影單位、中央經線、東偽偏移、北緯偏移、比例系數、原點緯度等投影參數

IParameter[]pParm=new IParameter[5];

pParm[0]=pFact.CreateParameter((int)esriSRParameterType.esriSRParameter_FalseEasting);

……

2)實現投影變換

∥若為矢量數據,則依次對每個圖形要素進行重投影處理,并更新圖形實體

IGeometry pGeo=pFeature.Shape as IGeometry;

pGeo.SpatialReference=pSpatialRefFrom;

pGeo.Project((ISpatialReference)pSpatialRefTo);

∥若為柵格數據,則對整個柵格對象賦予投影信息,并進行重采樣

IRasterGeometryProc pRasterGeometryPropc=new Raster-GeometryProcClass();

pRasLayer.SpatialReference=pSpatialRefFrom;

IRaster pRaster=pRasLayer.Raster;

pRasterGeometryPropc.ProjectFast(pSpatialRefTo,0,ref Missing,pRaster);

圖3 投影變換方法流程圖

五、應用實例與誤差分析

筆者基于二次開發組件ArcGIS Engine,采用C#語言設計開發了矢柵基礎地理數據空間轉換系統,界面如圖4所示。對同一區域的矢量和柵格數據采用同一套轉換參數進行空間轉換,將轉換結果疊加顯示,如圖5所示,矢柵數據轉換后具有較好的一致性。

為驗證轉換精度,選取4幅1∶1 000地形圖從地方獨立坐標系轉換到2000國家大地坐標系,將轉換后的圖形數據與實際數據進行對比,抽樣選取25個同名點進行誤差分析,圖6為轉換后隨機采樣點的坐標分量殘差,表1為誤差統計表。由表1可知,X坐標的中誤差為±7 mm,平均值為0 mm;Y坐標的中誤差為±6 mm,平均值為±3 mm。

圖4 系統主界面

圖5 空間轉換后矢量與柵格圖層疊加

圖6 空間轉換隨機采樣點的坐標分量殘差

表1 空間轉換誤差統計表 mm

六、結束語

隨著2000國家大地坐標系的正式啟用,實現不同坐標系之間的空間轉換具有重要意義。本文根據我國多種坐標系統共存的現實,研究了一種通過坐標轉換參數實現基礎地理數據空間轉換的實用方法,該方法的特點是使用一套轉換參數即可完成矢量數據和柵格數據的同步轉換。

另外,本文還介紹了在已知轉換前后空間參考信息的情況下,通過投影變換實現矢柵數據空間轉換的關鍵技術。筆者根據本文所述方法開發了矢柵基礎地理數據空間轉換系統,該系統能快速高效地完成不同坐標系間的空間變換,減少了人工干預,大大提高了轉換效率和自動化水平,轉換精度較高。

[1] 立實.2000國家大地坐標系7月1日啟用[N].中國測繪報,2008-07-01.

[2] 陳俊勇,楊元喜,王敏,等.2000國家大地控制網的構建和它的技術進步[J].測繪學報,2007,36(1):1-8.

[3] 黨亞民,成英燕,孫毅,等.圖件更新北京54和西安80坐標系轉換方法研究[J].測繪科學,2006,31(3): 20-22.

[4] 成英燕,程鵬飛,顧旦生,等.三維4參數模型實現地圖到CGCS2000的轉換[J].武漢大學學報:信息科學版,2010,35(6):747-751.

[5] 郭金運.地圖數據幾何糾正時仿射變換與相似變換的對比分析[J].測繪通報,2001(4):23-27.

[6] 韓雪培,廖幫固.海岸帶數據集成中的空間坐標轉換方法研究[J].武漢大學學報:信息科學版,2004,29(10):933-936.

[7] 王強,束炯,張曉滬.一種遙感圖像的坐標轉換方法[J].測繪科學,2006,31(4):137-139.

Research on Space Conversion Method for Foundation Geographical Data Based on ArcGIS Engine

LIU Baiqiong,ZHOU Wei,DAI Xiangxi

0494-0911(2011)12-0054-04

P208

B

2010-11-23

劉佰瓊(1986—),女,四川瀘州人,博士生,主要研究方向為基礎地理信息系統。

主站蜘蛛池模板: 国禁国产you女视频网站| 欧美乱妇高清无乱码免费| 青青青国产免费线在| 亚洲综合香蕉| 亚洲日韩精品无码专区| 日本黄色不卡视频| 大学生久久香蕉国产线观看| 国产午夜不卡| 国产一区二区色淫影院| 亚洲男人天堂网址| 亚洲欧美人成人让影院| 国产美女视频黄a视频全免费网站| 亚洲欧美日韩中文字幕在线一区| 欧美成人A视频| 欧美不卡视频一区发布| 一级一毛片a级毛片| 免费女人18毛片a级毛片视频| 国产免费羞羞视频| 亚洲精品免费网站| 日韩天堂视频| 中文字幕久久波多野结衣| 久热中文字幕在线| 久久久久亚洲av成人网人人软件| a在线亚洲男人的天堂试看| 九色视频最新网址 | 日韩精品一区二区三区大桥未久| 欧美午夜理伦三级在线观看| 国产在线啪| jizz在线观看| 久久这里只有精品2| 久久免费成人| 国产91精选在线观看| 欧美日一级片| 网友自拍视频精品区| 午夜福利亚洲精品| 久99久热只有精品国产15| 在线免费观看AV| 久草国产在线观看| 色噜噜狠狠狠综合曰曰曰| 2020国产精品视频| 人妻21p大胆| 国产精品成人免费综合| 熟女成人国产精品视频| 99人妻碰碰碰久久久久禁片| 国产精品19p| 成人福利在线免费观看| 国产女人综合久久精品视| 一级毛片在线免费视频| 午夜国产理论| a毛片在线播放| 最新国产成人剧情在线播放| 亚洲av无码久久无遮挡| 国产呦视频免费视频在线观看| 青青网在线国产| AV无码一区二区三区四区| 高清无码不卡视频| 91精品人妻一区二区| 色视频国产| 国产精品极品美女自在线网站| 999精品在线视频| 凹凸精品免费精品视频| 日韩中文精品亚洲第三区| 日本91视频| 91青青在线视频| 亚洲中文字幕在线一区播放| 高清色本在线www| 一本大道香蕉中文日本不卡高清二区 | 亚洲欧美另类色图| 亚洲美女操| 天天躁夜夜躁狠狠躁躁88| 美女国内精品自产拍在线播放 | 华人在线亚洲欧美精品| 亚洲第一成年人网站| 精品久久国产综合精麻豆| 国产一区二区精品高清在线观看 | 国产欧美日韩视频怡春院| 国产成在线观看免费视频| 99久久精品国产综合婷婷| 国产精品55夜色66夜色| 国产在线无码一区二区三区| 黄色网址手机国内免费在线观看| 免费人成视网站在线不卡|