/// <summary> /// 裁剪 /// </summary> /// <param name="inVectorFile"></param> /// <param name="borderFile"></param> /// <param name="outFile"></param> public static void Clip(string inVectorFile, string borderFile, string outFile) { ESRI.ArcGIS.AnalysisTools.Clip pClip = new ESRI.ArcGIS.AnalysisTools.Clip { in_features = inVectorFile, clip_features = borderFile, out_feature_class = outFile }; GeoprocessorHelper.GpExecute(pClip); }
/// <summary> /// 相交 /// </summary> /// <param name="inFiles"></param> /// <param name="outFile"></param> public static void Intersect(List <string> inFiles, string outFile) { Intersect intersect = new Intersect { in_features = GeoprocessorHelper.GetGpInFiles(inFiles), out_feature_class = outFile }; GeoprocessorHelper.GpExecute(intersect); }
/// <summary> /// 融合 /// </summary> public static void Merge(List <string> inFiles, string outFile) { Merge pIntersect = new Merge { inputs = GeoprocessorHelper.GetGpInFiles(inFiles), output = outFile }; GeoprocessorHelper.GpExecute(pIntersect); }
/// <summary> /// 融合2个图层文件 /// </summary> /// <param name="firstFile"></param> /// <param name="secondFile"></param> /// <param name="outFile"></param> private static void MergeTwoFile(string firstFile, string secondFile, string outFile) { Merge gpMerge = new Merge { inputs = GetTwoInFileString(firstFile, secondFile), output = outFile }; GeoprocessorHelper.GpExecute(gpMerge); }
/// <summary> /// 栅格掩膜提取 /// </summary> /// <param name="inRasterFile"></param> /// <param name="inBorderFile"></param> /// <param name="outFile"></param> public static void RasterExtractByMask(string inRasterFile, string inBorderFile, string outFile) { ExtractByMask pExtractByMask = new ExtractByMask { in_raster = inRasterFile, in_mask_data = inBorderFile, out_raster = outFile }; GeoprocessorHelper.GpExecute(pExtractByMask); }
/// <summary> /// 擦除图层 /// </summary> /// <param name="inFile"></param> /// <param name="eraseFile"></param> /// <param name="outFile"></param> public static void Erase(string inFile, string eraseFile, string outFile) { Erase pErase = new Erase { in_features = inFile, erase_features = eraseFile, out_feature_class = outFile }; GeoprocessorHelper.GpExecute(pErase); }
/// <summary> /// 栅格转为面矢量 /// </summary> /// <param name="inFile">输入栅格</param> /// <param name="selectField">选中字段</param> /// <param name="outFile">输出文件</param> public static void RasterToPolygon(string inFile, string selectField, string outFile) { RasterToPolygon rasterToPolygon = new RasterToPolygon { in_raster = inFile, raster_field = selectField, out_polygon_features = outFile }; GeoprocessorHelper.GpExecute(rasterToPolygon); }
/// <summary> /// 栅格转为点矢量 /// </summary> /// <param name="inFile">输入栅格</param> /// <param name="selectField">选中字段</param> /// <param name="outFile">输出文件</param> public static void RasterToPoint(string inFile, string selectField, string outFile) { RasterToPoint rasterToPoint = new RasterToPoint { in_raster = inFile, raster_field = selectField, out_point_features = outFile }; GeoprocessorHelper.GpExecute(rasterToPoint); }
/// <summary> /// 转换栅格图层坐标系 /// </summary> /// <param name="inFilePath">矢量图层</param> /// <param name="spatialReference">坐标系</param> /// <param name="outFile">输出文件</param> public static void ChangeRasterCoordinateSystem(string inFilePath, ISpatialReference spatialReference, string outFile) { ProjectRaster projectRaster = new ProjectRaster { in_raster = inFilePath, out_coor_system = spatialReference, out_raster = outFile }; GeoprocessorHelper.GpExecute(projectRaster); }
/// <summary> /// 转换矢量图层坐标系 /// </summary> /// <param name="inFilePath">矢量图层</param> /// <param name="spatialReference">坐标系</param> /// <param name="outFile">输出文件</param> public static void ChangeFeatureCoordinateSystem(string inFilePath, ISpatialReference spatialReference, string outFile) { Project featureProject = new Project { in_dataset = inFilePath, out_coor_system = spatialReference, //坐标系 out_dataset = outFile }; GeoprocessorHelper.GpExecute(featureProject); }
/// <summary> /// 栅格重采样 /// </summary> /// <param name="inFile"></param> /// <param name="outFile"></param> /// <param name="newCellSize"></param> /// <param name="resampleMethod"></param> public static void RasterResample(string inFile, string outFile, double newCellSize, string resampleMethod) { Resample resample = new Resample() { in_raster = inFile, out_raster = outFile, cell_size = newCellSize, resampling_type = resampleMethod, }; GeoprocessorHelper.GpExecute(resample); }