コード例 #1
0
        //应用变量
        private void TryApplyVars(IGxdDocument doc, string fileName)
        {
            ILayoutTemplate             temp = doc.GxdTemplateHost.LayoutTemplate;
            RasterIdentify              rst  = new RasterIdentify(fileName);
            Dictionary <string, string> vars = new Dictionary <string, string>();

            if (!string.IsNullOrEmpty(rst.Satellite))
            {
                string sate = rst.Satellite.ToUpper();
                if (sate.Contains("FY3"))
                {
                    sate = sate.Replace("FY3", "FY-3");
                }
                vars.Add("{Satellite}", sate);
            }//changed by wangyu "FY3A"->"FY-3A"2012.10.20
            //vars.Add("{Satellite}", rst.Satellite);
            if (!string.IsNullOrEmpty(rst.Sensor))
            {
                vars.Add("{Sensor}", rst.Sensor);
            }
            if (!string.IsNullOrEmpty(rst.ProductName))
            {
                vars.Add("{Product}", rst.ProductName);
            }
            if (rst.OrbitDateTime != DateTime.MinValue)
            {
                rst.OrbitDateTime.AddHours(8);
                vars.Add("{OrbitDateTime}", rst.OrbitDateTime.AddHours(8).ToString("yyyy年MM月dd日 HH:mm") + " (北京时)");
            }
            //changed by wangyu,add displaying of hour and minutes 2012.10.20
            temp.ApplyVars(vars);
        }
コード例 #2
0
ファイル: SubProductCIMGUHI.cs プロジェクト: windygu/hispeed
        protected override void ApplyAttributesOfLayoutTemplate(ILayoutTemplate template)
        {
            Dictionary <string, string> vars = new Dictionary <string, string>();

            if (_pointInfos != null && _pointInfos.Length > 0)
            {
                vars.Add("{ControlPoints}", _pointInfos.ToString());
                template.ApplyVars(vars);
            }
        }
コード例 #3
0
        private void TryApplyVars(ILayoutTemplate t, string drawFName)
        {
            string         fileName          = drawFName.Replace("_G", "");
            RasterIdentify rst               = new RasterIdentify(fileName);
            Dictionary <string, string> vars = new Dictionary <string, string>();

            //
            fileName = Path.GetFileName(fileName).ToUpper();
            if (fileName.Contains("EA"))
            {
                vars.Add("{Region}", "洞庭湖");
                _region = "EA";
            }
            else if (fileName.Contains("EB"))
            {
                vars.Add("{Region}", "鄱阳湖");
                _region = "EB";
            }
            if (!string.IsNullOrEmpty(rst.Satellite))
            {
                string sate = rst.Satellite.ToUpper();
                if (sate.Contains("FY3"))
                {
                    sate = sate.Replace("FY3", "FY-3");
                }
                vars.Add("{Satellite}", sate);
            }
            if (!string.IsNullOrEmpty(rst.Sensor))
            {
                vars.Add("{Sensor}", rst.Sensor);
            }
            if (rst.GenerateDateTime != DateTime.MinValue)
            {
                vars.Add("{OrbitDateTime}", rst.OrbitDateTime.AddHours(8).ToString("yyyy年MM月dd日 HH:mm") + " (北京时)");
            }
            t.ApplyVars(vars);
        }
コード例 #4
0
ファイル: SubProductIMGFIR.cs プロジェクト: windygu/hispeed
        protected override void ApplyAttributesOfLayoutTemplate(ILayoutTemplate template)
        {
            _addFirInfo = false;
            _firFile    = null;
            string instanceIdentify = _argumentProvider.GetArg("OutFileIdentify") as string;

            if (instanceIdentify == "FPGI" || instanceIdentify == "0SDI")
            {
                foreach (IElement item in template.Layout.Elements)
                {
                    if (item is MultlineTextElement)
                    {
                        MultlineTextElement txt = item as MultlineTextElement;
                        if (txt.Text.Contains("{ControlPoints}"))
                        {
                            _addFirInfo = true;
                            break;
                        }
                    }
                }
                if (_addFirInfo)
                {
                    string[] frilFileList = FindFRILFiles();
                    if (frilFileList == null || frilFileList.Length < 1)
                    {
                        _firFile = null;
                        return;
                    }
                    SetFireInfos(frilFileList[0]);
                    _firFile = frilFileList[0];
                    Dictionary <string, string> vars = new Dictionary <string, string>();
                    vars.Add("{ControlPoints}", _firInfos.ToString());
                    template.ApplyVars(vars);
                }
            }
        }
コード例 #5
0
        private void TryApplyVars(ILayoutTemplate temp, IRasterDrawing rasterDrawing)
        {
            string       fileName = Path.Combine(Path.GetDirectoryName(rasterDrawing.FileName), rasterDrawing.FileName.Replace("_G.", "."));
            DataIdentify did;

            if (File.Exists(fileName))
            {
                using (IRasterDataProvider dataPrd = GeoDataDriver.Open(fileName) as IRasterDataProvider)
                {
                    did = dataPrd.DataIdentify;
                }
            }
            else
            {
                did = rasterDrawing.DataProviderCopy.DataIdentify;
            }
            Dictionary <string, string> vars = new Dictionary <string, string>();

            //
            fileName = Path.GetFileName(fileName).ToUpper();
            if (fileName.Contains("EA"))
            {
                vars.Add("{Region}", "洞庭湖");
                _region = "EA";
            }
            else if (fileName.Contains("EB"))
            {
                vars.Add("{Region}", "鄱阳湖");
                _region = "EB";
            }
            if (!string.IsNullOrEmpty(did.Satellite))
            {
                string sate = did.Satellite.ToUpper();
                if (sate.Contains("FY3"))
                {
                    sate = sate.Replace("FY3", "FY-3");
                }
                vars.Add("{Satellite}", sate);
            }
            if (!string.IsNullOrEmpty(did.Sensor))
            {
                vars.Add("{Sensor}", did.Sensor);
            }
            if (did.OrbitDateTime != DateTime.MinValue)
            {
                vars.Add("{OrbitDateTime}", did.OrbitDateTime.AddHours(8).ToString("yyyy年MM月dd日 HH:mm") + " (北京时)");
            }
            IRasterDataProvider dataProvider = rasterDrawing.DataProviderCopy;// GeoDataDriver.Open(fileName) as IRasterDataProvider;

            if (dataProvider != null)
            {
                string resolutionStr = Math.Round(dataProvider.ResolutionX, 4).ToString();
                vars.Add("{resolution}", resolutionStr);
                if (dataProvider.SpatialRef == null)
                {
                    vars["{resolution}"] += "度";
                    vars.Add("{projection}", "等经纬度");
                }
                else if (dataProvider.SpatialRef.GeographicsCoordSystem == null)
                {
                    vars.Add("{projection}", "");
                }
                else if (dataProvider.SpatialRef.ProjectionCoordSystem == null)
                {
                    vars["{resolution}"] += "度";
                    vars.Add("{projection}", "等经纬度");
                }
                else
                {
                    string targatName  = string.Empty;
                    string projectName = dataProvider.SpatialRef.ProjectionCoordSystem.Name.Name;
                    GetProjectName(projectName, out targatName);
                    vars.Add("{projection}", targatName);
                }
                int[]         channels    = rasterDrawing.SelectedBandNos;// dataProvider.GetDefaultBands();
                List <string> channelList = new List <string>();
                if (channels != null && channels.Count() > 0)
                {
                    for (int i = 0; i < channels.Length; i++)
                    {
                        channelList.Add(channels[i].ToString());
                        channelList.Add(",");
                    }
                    channelList.RemoveAt(channelList.Count - 1);
                }
                string channelStr = null;
                foreach (string item in channelList)
                {
                    channelStr += item;
                }
                vars.Add("{channel}", channelStr);
            }
            temp.ApplyVars(vars);
        }
コード例 #6
0
        //应用变量
        private void TryApplyVars(IGxdDocument doc, string fileName)
        {
            ILayoutTemplate             temp     = doc.GxdTemplateHost.LayoutTemplate;
            RasterIdentify              identify = new RasterIdentify(fileName);
            Dictionary <string, string> vars     = new Dictionary <string, string>();

            if (!string.IsNullOrEmpty(identify.Satellite))
            {
                string sate = identify.Satellite.ToUpper();
                if (sate.Contains("FY3"))
                {
                    sate = sate.Replace("FY3", "FY-3");
                }
                else if (sate.Contains("FY2"))
                {
                    sate = sate.Replace("FY2", "FY-2");
                }
                vars.Add("{Satellite}", sate);
            }
            if (!string.IsNullOrEmpty(identify.Sensor))
            {
                vars.Add("{Sensor}", identify.Sensor);
            }
            if (!string.IsNullOrEmpty(identify.ProductName))
            {
                vars.Add("{Product}", identify.ProductName);
            }
            if (string.IsNullOrWhiteSpace(DateString))
            {
                if (identify.OrbitDateTime != DateTime.MinValue)
                {
                    identify.OrbitDateTime.AddHours(8);
                    vars.Add("{OrbitDateTime}", identify.OrbitDateTime.AddHours(8).ToString("yyyy年MM月dd日 HH:mm") + " (北京时)");
                }
                if (identify.MaxOrbitDate != DateTime.MaxValue && identify.MinOrbitDate != DateTime.MinValue)
                {
                    DateTime minTime = identify.MinOrbitDate.AddHours(8);
                    DateTime maxTime = identify.MaxOrbitDate.AddHours(8);
                    vars.Add("{MinOrbitDateTime~MaxOrbitDateTime}", minTime.ToString("yyyy年MM月dd日 HH:mm") + " ~ " + maxTime.ToString("yyyy年MM月dd日 HH:mm"));
                }
            }
            else
            {
                vars.Add("{OrbitDateTime}", DateString);
                vars.Add("{MinOrbitDateTime~MaxOrbitDateTime}", DateString);
            }
            if (!string.IsNullOrWhiteSpace(TimesCount))
            {
                vars.Add("{ValidDays}", "有效天数:" + TimesCount);
            }
            else
            {
                vars.Add("{ValidDays}", "");
            }

            if (!IsVector(fileName))
            {
                using (RasterDataProvider rdd = GeoDataDriver.Open(fileName) as RasterDataProvider)
                {
                    if (rdd != null)
                    {
                        string resolutionStr = Math.Round(rdd.ResolutionX, 4).ToString();
                        vars.Add("{resolution}", resolutionStr);
                        if (rdd.SpatialRef == null)
                        {
                            vars["{resolution}"] += "度";
                            vars.Add("{projection}", "等经纬度");
                        }
                        else if (rdd.SpatialRef.GeographicsCoordSystem == null)
                        {
                            vars.Add("{projection}", "");
                        }
                        else if (rdd.SpatialRef.ProjectionCoordSystem == null)
                        {
                            vars["{resolution}"] += "度";
                            vars.Add("{projection}", "等经纬度");
                        }
                        else
                        {
                            string targatName  = string.Empty;
                            string projectName = rdd.SpatialRef.ProjectionCoordSystem.Name.Name;
                            GetProjectName(projectName, out targatName);
                            vars.Add("{projection}", targatName);
                        }
                    }
                }
            }
            temp.ApplyVars(vars);
        }