Пример #1
0
        public override bool New(ICancelProgressHandler progress)
        {
            _GHMSerializer               = new GHMSerializer();
            _GHMSerializer.FileName      = @"E:\Heihe\HRB\GeoData\GBHM\Model\section_v1.09_ylx\uhrb.ghm";
            _GHMSerializer.TimeReference = new TimeReference()
            {
                Start    = new DateTime(2000, 1, 1),
                End      = new DateTime(2010, 12, 31),
                TimeStep = 86400
            };
            _GHMSerializer.SpatialReference = new SpatialReference()
            {
                sr = @".\dem\geo_lambert.prj",
                X  = 453035,
                Y  = 4338102
            };

            Member mem = new Member()
            {
                Name = "Grid",
            };
            Item ele = new Item()
            {
                Name        = "Elevation",
                Path        = @".\dem\elevation.asc",
                Description = "Elevation"
            };

            mem.Spatial.Add(ele);

            Member para = new Member()
            {
                Name = "Parameter",
            };
            Item alpha = new Item()
            {
                Name        = "Alpha",
                Path        = @".\dem\elevation.asc",
                Description = "Elevation"
            };

            para.Spatial.Add(alpha);

            _GHMSerializer.Save();
            return(true);
        }
Пример #2
0
        public override bool Load(ICancelProgressHandler progress)
        {
            string masterfile = ControlFileName;

            if (File.Exists(masterfile))
            {
                ControlFileName = masterfile;
                _GHMSerializer  = GHMSerializer.Open(masterfile);
                _GHMPackage     = new GHMPackage()
                {
                    Serializer = _GHMSerializer,
                    GHModel    = this
                };
                AddInSilence(_GHMPackage);

                foreach (var layer in _GHMSerializer.Layers)
                {
                    foreach (var mem in layer.Members)
                    {
                        foreach (var item in mem.Spatial)
                        {
                            item.FullPath = Path.Combine(ModelService.WorkDirectory, item.Path);
                            item.Grid     = this.Grid;
                        }
                        foreach (var item in mem.Spatiotemporal)
                        {
                            item.FullPath = Path.Combine(ModelService.WorkDirectory, item.Path);
                            item.Grid     = this.Grid;
                        }
                        foreach (var item in mem.TimeSeries)
                        {
                            item.FullPath = Path.Combine(ModelService.WorkDirectory, item.Path);
                            item.Grid     = this.Grid;
                        }
                    }
                }
                return(true);
            }
            {
                var msg = "\r\nThe model file dose not exist: " + ControlFileName;
                progress.Progress("GHModel", 1, msg);
                return(false);
            }
        }