public static Collection <FeatureSourceColumn> GetColumns(this FeatureSource featureSource, GettingColumnsType returningFeatureSourceColumnsType) { //LINK: removed link logic. Collection <FeatureSourceColumn> columns = featureSource.GetColumns(); return(columns); }
//private void Output(IEnumerable<Feature> bufferedFeatures) //{ // try // { // FileExportInfo info = new FileExportInfo(bufferedFeatures, GetColumns(), outputPathFileName, displayProjectionParameters); // ShpFileExporter exporter = new ShpFileExporter(); // exporter.ExportToFile(info); // } // catch (Exception ex) // { // UpdatingTaskProgressEventArgs e = new UpdatingTaskProgressEventArgs(TaskState.Canceled); // e.Error = new ExceptionInfo(ex.Message, ex.StackTrace, ex.Source); // OnUpdatingProgress(e); // } //} private IEnumerable <FeatureSourceColumn> GetColumns() { featureSource.Open(); var columns = featureSource.GetColumns(); featureSource.Close(); return(columns); }
private void Split() { var args = new UpdatingTaskProgressEventArgs(TaskState.Updating); featureSource.Open(); Collection <Feature> allFeatures = featureSource.GetAllFeatures(featureSource.GetDistinctColumnNames()); var columns = featureSource.GetColumns(); featureSource.Close(); var featuresGroups = allFeatures.GroupBy(tmpFeature => tmpFeature.ColumnValues[splitColumnName]).ToArray(); int i = 0; int count = exportConfigs.Count; foreach (var config in exportConfigs) { try { string folderName = outputPath; string fileName = config.Value; if (String.IsNullOrEmpty(fileName)) { fileName = String.Format(CultureInfo.InvariantCulture, "{0}_{1}.shp", layerName, config.Key); } fileName = Path.ChangeExtension(fileName, ".shp"); string finalShapeFilePath = Path.Combine(folderName, fileName); var featureGroup = featuresGroups.FirstOrDefault(group => group.Key == config.Key || (config.Key.Equals("<Blank>", StringComparison.Ordinal) && group.Key.Equals(string.Empty, StringComparison.Ordinal))); if (featureGroup != null) { var info = new FileExportInfo(featureGroup, columns, finalShapeFilePath, wkt); Export(info); } args.Current = ++i; args.UpperBound = count; args.Message = String.Format(CultureInfo.InvariantCulture, "Building... ({0}/{1})", args.Current, args.UpperBound); OnUpdatingProgress(args); isCanceled = args.TaskState == TaskState.Canceled; if (isCanceled) { break; } } catch (Exception ex) { var errorArgs = new UpdatingTaskProgressEventArgs(TaskState.Error); errorArgs.Error = new ExceptionInfo(ex.Message, ex.StackTrace, ex.Source); GisEditor.LoggerManager.Log(LoggerLevel.Debug, ex.Message, new ExceptionInfo(ex)); OnUpdatingProgress(errorArgs); continue; } } }
private Collection <Feature> GetFeaturesToExplode(FeatureSource featureSource) { featureSource.Open(); var allFeatures = featureSource.GetAllFeatures(featureSource.GetDistinctColumnNames()); columns = featureSource.GetColumns(); featureSource.Close(); return(allFeatures); }
private Collection <Feature> GetFeaturesToDissolve() { featureSource.Open(); featureColumns = featureSource.GetColumns(); var allFeatures = featureSource.GetAllFeatures(ReturningColumnsType.AllColumns); featureSource.Close(); return(allFeatures); }
public static string[] GetDistinctColumnNames(this FeatureSource featureSource) { Collection <string> columnNames = new Collection <string>(); foreach (var item in featureSource.GetColumns()) { columnNames.Add(item.ColumnName); } return(columnNames.Distinct(new ColumnNamesComparer()).ToArray()); }
private Collection <Feature> GetFeaturesToBuffer(string featureSourceInString) { FeatureSource featureSource = (FeatureSource)GetObjectFromString(featureSourceInString); featureSource.Open(); var allFeatures = featureSource.GetAllFeatures(ReturningColumnsType.AllColumns); columns = featureSource.GetColumns(); featureSource.Close(); return(allFeatures); }
protected override void RunCore(Dictionary <string, string> parameters) { ParseParameters(parameters); var clippingFeatures = GetClippingFeatures(); masterLayerFeatureSource.Open(); var columns = masterLayerFeatureSource.GetColumns(); masterLayerFeatureSource.Close(); var clippedFeatures = Clip(masterLayerFeatureSource, clippingFeatures, clipType); ExportToFile(outputPath, clippedFeatures, columns); var args = new UpdatingProgressLongRunningTaskPluginEventArgs(LongRunningTaskState.Updating); args.Message = "Finished"; OnUpdatingProgress(args); }
private void Split() { try { var args = new UpdatingProgressLongRunningTaskPluginEventArgs(LongRunningTaskState.Updating); featureSource.Open(); Collection <Feature> allFeatures = featureSource.GetAllFeatures(ReturningColumnsType.AllColumns); var columns = featureSource.GetColumns(); featureSource.Close(); var featuresGroups = allFeatures.GroupBy(tmpFeature => tmpFeature.ColumnValues[splitColumnName]); int i = 0; int count = exportConfigs.Count; exportConfigs.ForEach(config => { string folderName = outputPath; string fileName = config.Value; if (String.IsNullOrEmpty(fileName)) { fileName = String.Format(CultureInfo.InvariantCulture, "{0}_{1}.shp", layerName, config.Key); } if (!fileName.EndsWith(".shp", StringComparison.OrdinalIgnoreCase)) { fileName += ".shp"; } string finalShapeFilePath = Path.Combine(folderName, fileName); if (File.Exists(finalShapeFilePath) && overwriteOutputFiles) { //CloseExistingLayersAndCollectOverlaysToRefresh(this, finalShapeFilePath); RemoveShapeFile(finalShapeFilePath); } //this.OutputShapeFileNames.Add(finalShapeFilePath); var featureGroup = featuresGroups.FirstOrDefault(group => group.Key == config.Key); if (featureGroup != null) { ShpFileExporter exporter = new ShpFileExporter(); exporter.ExportToFile(new FileExportInfo(featureGroup, columns, finalShapeFilePath, wkt)); } args.Message = String.Format(CultureInfo.InvariantCulture, "Building... ({0}/{1})", ++i, count); OnUpdatingProgress(args); }); } catch (Exception ex) { //HandleExceptionFromInvalidFeature(feature.Id, ex.Message); } finally { //this.IsBusy = false; //this.BusyContent = String.Empty; //this.CurrentThread = null; } }