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