//应用变量 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); }
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); } }
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); }
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); } } }
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); }
//应用变量 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); }