Esempio n. 1
0
        //---------------------------------------------------------------------

        public override void InitializeSites(string initialCommunities,
                                             string initialCommunitiesMap)
        {
            UI.WriteLine("Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser      = new InitialCommunities.DatasetParser(Timestep, Model.Core.Species);
            InitialCommunities.IDataset      communities = Data.Load <InitialCommunities.IDataset>(initialCommunities, parser);

            UI.WriteLine("Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster <InitialCommunities.Pixel> map;

            map = Model.Core.OpenRaster <InitialCommunities.Pixel>(initialCommunitiesMap);
            using (map) {
                foreach (Site site in Model.Core.Landscape.AllSites)
                {
                    InitialCommunities.Pixel pixel = map.ReadPixel();
                    ActiveSite activeSite          = site as ActiveSite;
                    if (activeSite == null)
                    {
                        continue;
                    }
                    ushort     mapCode   = pixel.Band0;
                    ICommunity community = communities.Find(mapCode);
                    if (community == null)
                    {
                        throw new PixelException(activeSite.Location,
                                                 "Unknown map code for initial community: {0}",
                                                 mapCode);
                    }
                    InitializeSite(activeSite, community);
                }
            }

            base.Cohorts = Model.Core.SuccessionCohorts;
        }
		//---------------------------------------------------------------------

		public void InitializeSites(string initialCommunities,
		                            string initialCommunitiesMap)
		{
			Log.Info("Loading initial communities from file \"{0}\" ...", initialCommunities);
			InitialCommunities.DatasetParser parser = new InitialCommunities.DatasetParser();
			InitialCommunities.IDataset communities = Data.Load<InitialCommunities.IDataset>(initialCommunities, parser);

			Log.Info("Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
			IInputRaster<InitialCommunities.Pixel> map;
			map = Util.Raster.Open<InitialCommunities.Pixel>(initialCommunitiesMap);
			using (map) {
				foreach (Site site in Model.Landscape.AllSites) {
					InitialCommunities.Pixel pixel = map.ReadPixel();
					ActiveSite activeSite = site as ActiveSite;
					if (activeSite == null)
						continue;
					byte mapCode = pixel.Band0;
					ICommunity community = communities.Find(mapCode);
					if (community == null) {
						throw Util.Raster.PixelException(activeSite.Location,
						                                 "Unknown map code for initial community: {0}",
						                                 mapCode);
					}
					InitializeSite(activeSite, community);
				}
			}
		}
        //---------------------------------------------------------------------

        public void InitializeSites(string initialCommunities,
                                    string initialCommunitiesMap)
        {
            Log.Info("Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser      = new InitialCommunities.DatasetParser();
            InitialCommunities.IDataset      communities = Data.Load <InitialCommunities.IDataset>(initialCommunities, parser);

            Log.Info("Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster <InitialCommunities.Pixel> map;

            map = Util.Raster.Open <InitialCommunities.Pixel>(initialCommunitiesMap);
            using (map) {
                foreach (Site site in Model.Landscape.AllSites)
                {
                    InitialCommunities.Pixel pixel = map.ReadPixel();
                    ActiveSite activeSite          = site as ActiveSite;
                    if (activeSite == null)
                    {
                        continue;
                    }
                    byte       mapCode   = pixel.Band0;
                    ICommunity community = communities.Find(mapCode);
                    if (community == null)
                    {
                        throw Util.Raster.PixelException(activeSite.Location,
                                                         "Unknown map code for initial community: {0}",
                                                         mapCode);
                    }
                    InitializeSite(activeSite, community);
                }
            }
        }
Esempio n. 4
0
        //---------------------------------------------------------------------

        public override void InitializeSites(string initialCommunities,
                                             string initialCommunitiesMap)
        {
            UI.WriteLine("Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser = new InitialCommunities.DatasetParser(Timestep, Model.Core.Species);
            communities = Data.Load <InitialCommunities.IDataset>(initialCommunities, parser);

            UI.WriteLine("Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster <InitialCommunities.Pixel> map;

            map = Model.Core.OpenRaster <InitialCommunities.Pixel>(initialCommunitiesMap);
            InputMap.ReadWithMajorityRule(map, Model.Core.Landscape, InitializeSite);

            base.Cohorts = Model.Core.SuccessionCohorts;
        }
        //---------------------------------------------------------------------

        public override void InitializeSites(string initialCommunities,
                                             string initialCommunitiesMap,
                                             ICore modelCore)
        {
            Model.Core.UI.WriteLine("   Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser      = new InitialCommunities.DatasetParser(Timestep, Model.Core.Species);
            InitialCommunities.IDataset      communities = Landis.Data.Load <InitialCommunities.IDataset>(initialCommunities, parser);

            Model.Core.UI.WriteLine("   Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster <uintPixel> map;

            map = Model.Core.OpenRaster <uintPixel>(initialCommunitiesMap);
            using (map)
            {
                uintPixel pixel = map.BufferPixel;
                foreach (Site site in Model.Core.Landscape.AllSites)
                {
                    map.ReadBufferPixel();
                    uint mapCode = pixel.MapCode.Value;
                    if (!site.IsActive)
                    {
                        continue;
                    }

                    //if (!modelCore.Ecoregion[site].Active)
                    //    continue;

                    //modelCore.Log.WriteLine("ecoregion = {0}.", modelCore.Ecoregion[site]);

                    ActiveSite activeSite = (ActiveSite)site;
                    ICommunity community  = communities.Find(mapCode);
                    if (community == null)
                    {
                        throw new ApplicationException(string.Format("Unknown map code for initial community: {0}", mapCode));
                    }

                    InitializeSite(activeSite, community);
                }
            }
        }
        //---------------------------------------------------------------------
        public override void InitializeSites(string initialCommunities,
            string initialCommunitiesMap)
        {
            UI.WriteLine("Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser = new InitialCommunities.DatasetParser(Timestep, Model.Core.Species);
            InitialCommunities.IDataset communities = Data.Load<InitialCommunities.IDataset>(initialCommunities, parser);

            UI.WriteLine("Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster<InitialCommunities.Pixel> map;
            map = Model.Core.OpenRaster<InitialCommunities.Pixel>(initialCommunitiesMap);
            using (map) {
                foreach (Site site in Model.Core.Landscape.AllSites) {
                    InitialCommunities.Pixel pixel = map.ReadPixel();
                    ActiveSite activeSite = site as ActiveSite;
                    if (activeSite == null)
                        continue;
                    ushort mapCode = pixel.Band0;
                    ICommunity community = communities.Find(mapCode);
                    if (community == null) {
                        throw new PixelException(activeSite.Location,
                                                 "Unknown map code for initial community: {0}",
                                                 mapCode);
                    }
                    InitializeSite(activeSite, community);
                }
            }

            base.Cohorts = Model.Core.SuccessionCohorts;
        }
        //---------------------------------------------------------------------
        public override void InitializeSites(string initialCommunities,
            string initialCommunitiesMap,
            ICore modelCore)
        {
            Model.Core.UI.WriteLine("   Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser = new InitialCommunities.DatasetParser(Timestep, Model.Core.Species);
            InitialCommunities.IDataset communities = Landis.Data.Load<InitialCommunities.IDataset>(initialCommunities, parser);

            Model.Core.UI.WriteLine("   Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster<uintPixel> map;
            map = Model.Core.OpenRaster<uintPixel>(initialCommunitiesMap);
            using (map)
            {
                uintPixel pixel = map.BufferPixel;
                foreach (Site site in Model.Core.Landscape.AllSites)
                {
                    map.ReadBufferPixel();
                    uint mapCode = pixel.MapCode.Value;
                    if (!site.IsActive)
                        continue;

                    //if (!modelCore.Ecoregion[site].Active)
                    //    continue;

                    //modelCore.Log.WriteLine("ecoregion = {0}.", modelCore.Ecoregion[site]);

                    ActiveSite activeSite = (ActiveSite) site;
                    ICommunity community = communities.Find(mapCode);
                    if (community == null)
                    {
                        throw new ApplicationException(string.Format("Unknown map code for initial community: {0}", mapCode));
                    }

                    InitializeSite(activeSite, community);
                }
            }
        }
        //---------------------------------------------------------------------
        public override void InitializeSites(string initialCommunities,
            string initialCommunitiesMap)
        {
            UI.WriteLine("Loading initial communities from file \"{0}\" ...", initialCommunities);
            InitialCommunities.DatasetParser parser = new InitialCommunities.DatasetParser(Timestep, Model.Core.Species);
            communities = Data.Load<InitialCommunities.IDataset>(initialCommunities, parser);

            UI.WriteLine("Reading initial communities map \"{0}\" ...", initialCommunitiesMap);
            IInputRaster<InitialCommunities.Pixel> map;
            map = Model.Core.OpenRaster<InitialCommunities.Pixel>(initialCommunitiesMap);
            InputMap.ReadWithMajorityRule(map, Model.Core.Landscape, InitializeSite);

            base.Cohorts = Model.Core.SuccessionCohorts;
        }