Example #1
0
        /// <summary>
        /// 数据集复制为临时图层
        /// </summary>
        /// <param name="inFile"></param>
        /// <returns></returns>
        public static ILayer CopyAsTempLayer(string inFile)
        {
            bool   isFeatureFile = FeatureInfoClass.IsFeatureFile(inFile);
            string outFile       = isFeatureFile
                ? TempFile.CreateNewTempFile(temExtension: "shp")
                : TempFile.CreateNewTempFile();

            return(CopyAsLayer(inFile, outFile));
        }
Example #2
0
        /// <summary>
        /// 转换图层坐标系
        /// </summary>
        /// <param name="inFilePath">图层</param>
        /// <param name="spatialReference">坐标系</param>
        /// <param name="outFile">输出文件</param>
        public static void ChangeLayerCoordinateSystem(string inFilePath, ISpatialReference spatialReference,
                                                       string outFile)
        {
            if (spatialReference == null)
            {
                return;
            }

            if (FeatureInfoClass.IsFeatureFile(inFilePath))
            {
                ChangeFeatureCoordinateSystem(inFilePath, spatialReference, outFile);
            }
            else
            {
                ChangeRasterCoordinateSystem(inFilePath, spatialReference, outFile);
            }
        }
Example #3
0
        /// <summary>
        /// 数据集复制为图层
        /// </summary>
        /// <param name="inFile"></param>
        /// <param name="outFile">输出文件</param>
        /// <returns></returns>
        public static ILayer CopyAsLayer(string inFile, string outFile)
        {
            IDataset dataset = GetDataset(inFile);

            //数据不能复制
            if (IsCannotCopy(dataset, outFile))
            {
                return(null);
            }

            //从数据集中复制图层
            ILayer layer = FeatureInfoClass.IsFeatureFile(inFile)
                ? CopyDatasetAsFeatureLayer(dataset, outFile)
                : CopyDatasetAsRasterLayer(dataset, outFile);

            return(layer);
        }
Example #4
0
 /// <summary>
 /// 获取数据集
 /// </summary>
 /// <param name="inFile"></param>
 public static IDataset GetDataset(string inFile)
 {
     return(FeatureInfoClass.IsFeatureFile(inFile)
         ? FeatureInfoClass.GetDataset(inFile)
         : RasterDataInfoClass.GetDataset(inFile));
 }