예제 #1
0
        public static void HarvestPassInit(Landis.Extension.Succession.Landispro.sites psi, uint isp, string stroutputdir, string strHarvestInitFile, Landis.Extension.Succession.Landispro.pdp pdp)
        {
            string harvestFile           = "";
            string strstandImgMapFile    = "";
            string strmgtAreaImgMapFile  = "";
            string strharvestOutputFile1 = "";
            string strharvestOutputFile2 = "";
            string outputdir;

            outputdir = string.Format("{0}/{1}", stroutputdir, "Harvest");
            Directory.CreateDirectory(outputdir);
            if (!Directory.Exists(outputdir))
            {
                throw new Exception("Harvest: Can't create the direcory");
            }

            int timber;
            int harvest;


            BoundedPocketStandHarvester.pCoresites = psi;
            BoundedPocketStandHarvester.giRow      = (int)BoundedPocketStandHarvester.pCoresites.numRows;
            BoundedPocketStandHarvester.giCol      = (int)BoundedPocketStandHarvester.pCoresites.numColumns;
            //Console.WriteLine(BoundedPocketStandHarvester.giRow);
            //Console.WriteLine(BoundedPocketStandHarvester.giCol);
            //Console.Read();


            BoundedPocketStandHarvester.m_pPDP          = pdp;
            BoundedPocketStandHarvester.numberOfSpecies = (int)isp;

            StreamReader pfHarvest = new StreamReader(strHarvestInitFile);

            string instring;

            string[] sarray;
            instring = pfHarvest.ReadLine();
            timber   = int.Parse(instring);
            instring = pfHarvest.ReadLine();
            harvest  = int.Parse(instring);
            if (harvest != 0)
            {
                instring = pfHarvest.ReadLine();
                sarray   = instring.Split('#');
                BoundedPocketStandHarvester.iParamstandAdjacencyFlag = int.Parse(sarray[0]);
                instring = pfHarvest.ReadLine();
                sarray   = instring.Split('#');
                BoundedPocketStandHarvester.iParamharvestDecadeSpan = int.Parse(sarray[0]);
                instring = pfHarvest.ReadLine();
                sarray   = instring.Split('#');
                BoundedPocketStandHarvester.fParamharvestThreshold = double.Parse(sarray[0]);

                instring    = pfHarvest.ReadLine();
                sarray      = instring.Split('#');
                harvestFile = sarray[0].Substring(0, sarray[0].Length - 1);

                instring           = pfHarvest.ReadLine();
                sarray             = instring.Split('#');
                strstandImgMapFile = sarray[0].Substring(0, sarray[0].Length - 1);

                instring             = pfHarvest.ReadLine();
                sarray               = instring.Split('#');
                strmgtAreaImgMapFile = sarray[0].Substring(0, sarray[0].Length - 1);

                instring = pfHarvest.ReadLine();
                sarray   = instring.Split('#');
                strharvestOutputFile1 = sarray[0].Substring(0, sarray[0].Length - 1);

                instring = pfHarvest.ReadLine();
                sarray   = instring.Split('#');
                strharvestOutputFile2 = sarray[0].Substring(0, sarray[0].Length - 1);
            }

            pfHarvest.Close();

            StreamReader haFile = new StreamReader(harvestFile);

            Console.WriteLine("Build visitation Map");
            BoundedPocketStandHarvester.visitationMap.dim((uint)BoundedPocketStandHarvester.giRow, (uint)BoundedPocketStandHarvester.giCol);
            BoundedPocketStandHarvester.visitationMap.fill(0);

            BoundedPocketStandHarvester.standMap.readImg(strstandImgMapFile, BoundedPocketStandHarvester.giRow, BoundedPocketStandHarvester.giCol);
            BoundedPocketStandHarvester.managementAreaMap.readImg(strmgtAreaImgMapFile, BoundedPocketStandHarvester.giRow, BoundedPocketStandHarvester.giCol);

            BoundedPocketStandHarvester.pstands = new Stands();

            BoundedPocketStandHarvester.pstands.construct();

            BoundedPocketStandHarvester.managementAreas.construct();

            HEventsmode = BoundedPocketStandHarvester.harvestEvents.Read(haFile);

            BoundedPocketStandHarvester.managementAreaMap.freeMAPdata();

            BoundedPocketStandHarvester.pHarvestsites = new HARVESTSites(BoundedPocketStandHarvester.giRow, BoundedPocketStandHarvester.giCol);

            string str;

            str = string.Format("{0}/{1}", outputdir, strharvestOutputFile1);
            BoundedPocketStandHarvester.harvestOutputFile1_name = str;
            using (BoundedPocketStandHarvester.harvestOutputFile1 = new StreamWriter(str))
            {
            }

            str = string.Format("{0}/{1}", outputdir, strharvestOutputFile2);
            BoundedPocketStandHarvester.harvestOutputFile2_name = str;
            using (BoundedPocketStandHarvester.harvestOutputFile2 = new StreamWriter(str))
            {
            }

            haFile.Close();
        }
예제 #2
0
 public static void HarvestPass(Landis.Extension.Succession.Landispro.sites psi, Landis.Extension.Succession.Landispro.speciesattrs psa)
 {
     BoundedPocketStandHarvester.pspeciesAttrs = psa;
 }