大赵传奇

GIS解决方案,webgis , 桌面、数据、服务--QQ276605216

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
        /// <summary>
        /// 设置地理投影
        /// 4490:GCS_China_Geodetic_Coordinate_System_2000
        /// </summary>
        /// <param name="pFc"></param>
        /// <param name="yFc"></param>
        private void setGeographicCoordinateSysteme(IFeatureClass targetFc, int gcsType = 4490)
        {
            IGeoDataset pGeoDataset = targetFc as IGeoDataset;
            IGeoDatasetSchemaEdit pGeoDatasetSchemaEdit = pGeoDataset as IGeoDatasetSchemaEdit;
            if (pGeoDatasetSchemaEdit.CanAlterSpatialReference == true)//空间坐标系可改变
            {
                ISpatialReferenceFactory spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
                ISpatialReference pSpatialRef = spatialReferenceFactory.CreateGeographicCoordinateSystem(gcsType);
                string name = pSpatialRef.Name;

                ISpatialReferenceTolerance targetSpatialReferenceTolerance = pSpatialRef as ISpatialReferenceTolerance;
                ISpatialReferenceTolerance sourceSpatialReferenceTolerance = pGeoDataset.SpatialReference as ISpatialReferenceTolerance;
                //必须设置容差,否则将采用坐标系的默认容差,导致与源坐标系的容差不统一
                targetSpatialReferenceTolerance.XYTolerance = sourceSpatialReferenceTolerance.XYTolerance;
                targetSpatialReferenceTolerance.ZTolerance = sourceSpatialReferenceTolerance.ZTolerance;
                targetSpatialReferenceTolerance.MTolerance = sourceSpatialReferenceTolerance.MTolerance;
                pGeoDatasetSchemaEdit.AlterSpatialReference(pSpatialRef);
            }
        }

 

posted on 2025-02-21 16:15  赵长青  阅读(7)  评论(0)    收藏  举报