SpatialReference設置


前言:

 

    在基於Arcgis平台的地理信息系統開發中,數據有時是從別的平台的格式中轉過來的,如從CAD轉成Shapefile格式,在格式轉換的過程中,經常會出現SpatialReference丟失的現象,這樣的數據在使用中就會出現一些問題。為此,需要人為設置數據的SpatialReference。有兩種方式設置SpatialReference。詳述如下: 1、通過desktop設置數據的SpatialReference     可以用desktop的arccatalog,找到數據文件,選中點右鍵\properties,在彈出來的shapefile properties對話框中,選fields\Shape,在Shape字段屬性中選 spatial reference,彈出spatial reference 屬性對話框,利用這個對話框設置數據文件的SpatialReference。 2、數據加載過程中設置圖層的SpatialReference    可以在數據加載過程中設置圖層的空間參考,方法如下(以西安80坐標系為例      打開數據,獲取數據的featureclass,記為變量i_ftrCls;   
   IFeatureLayer i_ftrLyr =new FeatureLayer();//
生成新的featurelayer

   i_ftrLyr.FeatureClass=i_ftrCls;   

//通過SpatialReferenceEnvironmen創建新的SpatialReference   

ISpatialReferenceFactory  ispfac=new ESRI.ArcGIS.Geometry.SpatialReferenceEnvironmen();   

IGeographicCoordinateSystem igeocoorsys=ispfac.CreateGeographicCoordinateSystem(esriSRGeoCS_Xian1980);
i_ftrLyr.SpatialReference=igeosys;//
設置featurelayer的SpatialReference       axMapControl1.AddLayer(i_ftrLyr,0);//加載數據

    注:上述esriSRGeoCS_Xian1980是arcgis Enging中定義好的SpatialReference,如果所需的SpatialReference在AE中沒有預先定義,就可以通過ISpatialReference接口里的一系列方法和屬性設置SpatialReference中的各項以達到相同的目的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM