예제 #1
0
        /// <summary>
        /// Export file using data from currently loaded trees
        /// </summary>
        public static void ExportCurrent()
        {
            if (!exportShape)
            {
                return;
            }

            DateTime start     = DateTime.Now;
            DateTime lastDebug = DateTime.Now;

            List <IFeature> treePositions = new List <IFeature>();
            List <IFeature> treeBorders   = new List <IFeature>();
            StringBuilder   shpInfo       = new StringBuilder();

            shpInfo.Append(ATTR_ID + SEP);
            shpInfo.Append(ATTR_X + SEP);
            shpInfo.Append(ATTR_Y + SEP);
            //shpInfo.Append(ATTR_AREA + SEP);
            shpInfo.Append(ATTR_HEIGHT + SEP);
            shpInfo.Append(ATTR_DBG + SEP);
            shpInfo.Append(ATTR_AGB);
            shpInfo.AppendLine();

            for (int i = 0; i < CTreeManager.Trees.Count; i++)
            {
                CDebug.Progress(i, CTreeManager.Trees.Count, DEBUG_FREQUENCY, ref lastDebug, start, "Export shp (trees)");
                CTree tree = CTreeManager.Trees[i];
                //tree positions
                Feature f = GetTreePosition(tree, ref shpInfo);
                treePositions.Add(f);
                treePositionsAll.Add(f);

                //tree borders
                f = GetTreeBorder(tree);
                treeBorders.Add(f);
                treeAreasAll.Add(f);
            }
            CLasExporter.WriteToFile(shpInfo, CProjectData.outputTileSubfolder + "shape_info.csv");

            if (exportShapeTreePos)
            {
                ExportFeatures(treePositions, TREE_POS_FILE, false);
            }
            if (exportShapeTreeAreas)
            {
                ExportFeatures(treeBorders, TREE_BORDER_FILE, false);
            }
        }
예제 #2
0
        /// <summary>
        /// Exports all features as one which were previously exported separated
        /// </summary>
        public static void ExportMain()
        {
            if (!exportShape)
            {
                return;
            }

            CLasExporter.WriteToFile(shpInfoMain, CProjectData.outputFolder + "shape_info_main.csv");

            if (exportShapeTreePos)
            {
                ExportFeatures(treePositionsAll, TREE_POS_FILE + MAIN, true);
            }
            if (exportShapeTreeAreas)
            {
                ExportFeatures(treeAreasAll, TREE_BORDER_FILE + MAIN, true);
            }
        }