示例#1
0
        /// <summary>
        /// Gets the description.
        /// </summary>
        /// <param name="table">The table.</param>
        /// <returns></returns>
        public SourceTableDescription GetDescription(SourceTable table)
        {
            ContentStatMatrix contentStats = new ContentStatMatrix(table.Height, table.Width);

            for (int i = 0; i < table.Height; i++)
            {
                for (int j = 0; j < table.Width; j++)
                {
                    var t = DetermineContentType(table[j, i].Value);
                    contentStats.Assign(t, j, i);
                }
            }

            contentStats.Compute();

            SourceTableDescription output = new SourceTableDescription();

            output.firstRowTest    = MakeSliceTest(table, SourceTableSliceType.row);
            output.firstColumnTest = MakeSliceTest(table, SourceTableSliceType.column);

            output.valueZone  = contentStats.GetValueZone();
            output.matrix     = contentStats;
            output.sourceSize = new Data.primitives.coordinateXY()
            {
                x = table.Width,
                y = table.Height
            };
            return(output);
        }
        public MetaTableDescription ConstructDescription(SourceTable sourceTable, TableExtractionTask task, ITextRender logger)
        {
            //if (sourceTable[0, 0].Value.isNullOrEmpty())
            //{
            //    sourceTable[0, 0].Value = "ID";
            //}

            MetaTableDescription metaDescription = null;


            builderForText reporter = task.score.CurrentEntry().reporter;


            switch (task.score.executionMode)
            {
            case ExtractionTaskEngineMode.Training:

                SourceTableDescription sourceDesc = sourceContentAnalysis.GetDescription(sourceTable);


                metaDescription = new imbSCI.DataExtraction.MetaTables.Descriptors.MetaTableDescription(sourceDesc, imbSCI.DataExtraction.MetaTables.Descriptors.MetaTableFormatType.vertical);
                // task.tableDescription = metaDescription;


                //task.score.CurrentEntry().metaTableDescription = metaDescription;

                break;

            case ExtractionTaskEngineMode.Validation:
            default:
            case ExtractionTaskEngineMode.Application:


                if (task.tableDescription == null)
                {
                    throw new Exception("Task [" + task.name + "] has no table description set.");
                }


                break;
            }

            if (folder != null)
            {
                String sp = folder.pathFor("UMTC_Construct_" + task.name + "_" + task.score.executionMode.toString() + ".txt");
                File.WriteAllText(sp, reporter.GetContent());
            }

            return(metaDescription);
        }
 public MetaTableDescription(SourceTableDescription sourceDesc, MetaTableFormatType orientation)
 {
     sourceDescription = sourceDesc;
     format            = orientation;
 }