ArcGIS Engine线密度分析

与核密度分析相同,只是指定要素为线要素。

全部代码:

        private ILayer lineDesityOp(IFeatureClass pFeatureClass,string pFullPath,double cellsize,double radius)
        {
            //定义点密度分析类
            IDensityOp pDensityOp = new RasterDensityOpClass();  //定义密度分析函数

            //设置栅格分析环境
            IRasterAnalysisEnvironment pEnv = pDensityOp as IRasterAnalysisEnvironment;
            object obj_cellsize = (object)cellsize;
            pEnv.SetCellSize(esriRasterEnvSettingEnum.esriRasterEnvValue, ref obj_cellsize);

            //定义数据描述
            IFeatureClassDescriptor pFCD = new FeatureClassDescriptorClass();
            pFCD.Create(pFeatureClass, null, pFullPath);

            //基本参数
            object obj_radius = (object)cellsize;
            object Missing = Type.Missing;

            //进行线密度转化
            IRaster PRaster=pDensityOp.LineDensity(pFCD as IGeoDataset, obj_radius, Missing) as IRaster;

            IRasterLayer pRasterLayer = new RasterLayerClass();
            pRasterLayer.CreateFromRaster(PRaster);

            ILayer pLayer = pRasterLayer as ILayer;

            return pLayer;
        }

猜你喜欢

转载自blog.csdn.net/ScapeD/article/details/82821235
今日推荐