窗体设计:

代码:

private void button_src_Click(object sender, EventArgs e)

{

OpenFileDialog openFile = new OpenFileDialog();

openFile.Title = "请选择待校正影像";

openFile.Multiselect = false;

if (openFile.ShowDialog() != DialogResult.OK) return;

if (m_SrcLayer != null) mapControl_src.FocusMap.DeleteLayer(m_SrcLayer);

m_SrcLayer = LayerFactory.CreateDefaultLayer(openFile.FileName);

if (m_SrcLayer == null) return;

//添加图层

mapControl_src.FocusMap.AddLayer(m_SrcLayer);

mapControl_src.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

textBox_srcImg.Text = openFile.FileName;

}

private void button_dst_Click(object sender, EventArgs e)

{

SaveFileDialog saveFile = new SaveFileDialog();

saveFile.Filter = "栅格影像|*.tiff;*.tif";

if (saveFile.ShowDialog() != DialogResult.OK) return;

textBox_dst.Text = saveFile.FileName;

}

private void button_run_Click(object sender, EventArgs e)

{

//string inFile = textBox_srcImg.Text;

//string outFile = textBox_dst.Text;

///

///大气校正算法测试,本算法实现了将GF1_PMS1_E116.5_N39.4_20131127_L1A0000117600-MSS1.tiff进行大气校正

///大气模式为系统自动选择大气模式,气溶胶类型为大陆性气溶胶,初始能见度为40km,逐项元反演气溶胶为是

///

#region 1、参数设置

PIE.CommonAlgo.DataProcess_AtmCor_Info info = new PIE.CommonAlgo.DataProcess_AtmCor_Info();

info.InputFile = textBox_srcImg.Text;

info.InputXML = textBox1.Text ;

info.OutputSR = textBox_dst.Text ;

info.AtmModel = comboBox1.SelectedIndex;

info.AerosolType = comboBox2.SelectedIndex+1;

info.InitialVIS = Convert.ToInt32(textBox2.Text ) ;

//info.AeroRetrieval = comboBox3.SelectedIndex;

if (comboBox3.Text == "是")

{

info.AeroRetrieval = 1;

}

else if (comboBox3.Text == "否")

{

info.AeroRetrieval = 0;

}

else

{

MessageBox.Show("请选择逐像元反演气溶胶");

}

info.FileTypeCode = "Gtiff";

if (checkBox1.Checked == true)

{

info.DataType = 1;

}

else if (checkBox2.Checked == true)

{

info .DataType =2;

}

else if (checkBox3.Checked == true)

{

info .DataType =3;

}

else

{

MessageBox .Show("请选择数据类型!");

}

PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.AtmosphericCorrectionAlgo");

if (algo == null) return;

#endregion

//2、算法执行

PIE.SystemAlgo.ISystemAlgoEvents algoEvents = algo as PIE.SystemAlgo.ISystemAlgoEvents;

algo.Name = "大气校正";

algo.Params = info;

bool result = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);

//添加图层

String filePath = textBox_dst.Text;

ILayer layer = PIE.Carto.LayerFactory.CreateDefaultLayer(filePath);

mapControl_dst.ActiveView.FocusMap.AddLayer(layer);

mapControl_dst.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

}

private void checkBox1_CheckedChanged(object sender, EventArgs e)

{

// checkBox1.Text = "1";

}

private void checkBox2_CheckedChanged(object sender, EventArgs e)

{

// checkBox2.Text = "2";

}

private void checkBox3_CheckedChanged(object sender, EventArgs e)

{

// checkBox3.Text = "3";

}

private void button1_Click(object sender, EventArgs e)

{

OpenFileDialog openFile = new OpenFileDialog();

openFile.Filter = "xml数据|*.XML;*.XML";

if (openFile.ShowDialog() != DialogResult.OK)

return;

//OpenFileDialog openFile = new OpenFileDialog();

//openFile.Title = "请选择元数据文件";

//openFile.Multiselect = false;

//if (openFile.ShowDialog() != DialogResult.OK) return;

//添加图层

// mapControl_src.FocusMap.AddLayer(m_SrcLayer);

// mapControl_src.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);

textBox1.Text = openFile.FileName;

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

/*if (comboBox1.Text == "系统自动选择大气模式")

{

comboBox1.SelectedIndex = 0;

}

else if (comboBox1.Text == "热带大气模式")

{

comboBox1.SelectedIndex = 1;

}

else if (comboBox1.Text == "中纬度夏季大气模式")

{

comboBox1.SelectedIndex = 2;

}

else if (comboBox1.Text == "中纬度冬季大气模式")

{

comboBox1.SelectedIndex = 3;

}

else if (comboBox1.Text == "副极地夏季大气模式")

{

comboBox1.SelectedIndex = 4;

}

else if (comboBox1.Text == "副极地冬季大气模式")

{

comboBox1.SelectedIndex = 5;

}

else if (comboBox1.Text == "美国1962大气模式")

{

comboBox1.SelectedIndex = 6;

}

/*else

{

MessageBox.Show("请选择大气模式");

}*/

}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)

{

/* if (comboBox2.Text == "大陆型气溶胶")

{

comboBox2.SelectedIndex = 1;

}

else if (comboBox2.Text == "海洋型气溶胶")

{

comboBox2.SelectedIndex = 2;

}

else if (comboBox2.Text == "城市型气溶胶")

{

comboBox2.SelectedIndex = 3;

}

else if (comboBox2.Text == "沙尘型气溶胶")

{

comboBox2.SelectedIndex = 4;

}

else if (comboBox2.Text == "煤烟型气溶胶")

{

comboBox2.SelectedIndex = 5;

}

else if (comboBox2.Text == "平流层型气溶胶")

{

comboBox2.SelectedIndex = 6;

}

/* else

{

MessageBox.Show("请选择气溶胶类型");

}*/

}

private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)

{

/* if (comboBox3.Text == "是")

{

comboBox3.SelectedIndex = 1;

}

else

{

comboBox3.SelectedIndex = 0;

}*/

}

private void textBox2_KeyPress(object sender, KeyPressEventArgs e)

{

if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键

if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数

if (e.KeyChar > 0x20)

{

try

{

double.Parse(((TextBox)sender).Text + e.KeyChar.ToString());

}

catch

{

e.KeyChar = (char)0; //处理非法字符

}

}

}

}

python 大气校正_PIE二次开发——大气校正相关推荐

  1. python开源项目框架二次开发_Python中三大框架各自的应用场景(DJango,flask,Tornado)...

    django:主要是用来搞快速开发的,他的亮点就是快速开发,节约成本,正常的并发量不过10000,如果要实现高并发的话,就要对django进行二次开发,比如把整个笨重的框架给拆掉,自己写socket实 ...

  2. python对ug进行二次开发_UG二次开发之编程语言介绍

    二次开发是一潭很深的水 想学好可能需要很多精力 让我们暂且抱着试试看的态度 目的是为了方便自己 本文内容来自网络,由本人整理编辑 以下是以下关于UG二次开发的语言,了解了解吹吹牛还是可以的.更多的干货 ...

  3. 【转载】使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)

    本文转载自https://blog.csdn.net/young2203/article/details/81937268.转载目的是防止原帖不可见.以下为原文: (所有用词以英文为准,翻译仅供参考) ...

  4. 使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)

    (所有用词以英文为准,翻译仅供参考) 一.abaqus二次开发总述: 首先最重要的知识点需要明确,abaqus在求解核心(Solver/ Kernel)和图形用户界面(GUI)之间使用的交互语言天然就 ...

  5. python catia 接口_Catia 二次开发资料(转)

    Catia 二次开发 CATIA V5在开发之初就遵循面向对象的设计思想(OO),构建了完全基于组件的体系结构(PPR: Products,Process,Resource),有效地解决了维护.管理. ...

  6. python能做cad二次开发吗_做CAD二次开发有没有前途和钱途?

    原标题:做CAD二次开发有没有前途和钱途? 作为上海垂杨信息科技的苦逼小编一枚,特别羡慕从事技术开发的同事,为啥呀,因为他们工资高,奖金多呗.最近一朋友问我,他大学学得C#,在学校的就业培训课上,就业 ...

  7. abaqus二次开发python 建立集合,ABAQUS二次开发-Python脚本运行方式

    ABAQUS软件界面下运行Python脚本 方式1: 弹出选择Python脚本文件,点击"OK"后直接运行 方式2: 点击"File"=>"Ru ...

  8. python 海康工业相机二次开发 参数获取

    对于调用海康相机的整个流程,下面的这个博客说的很详细了,我一开始也是看的这个 python调用海康工业相机并用opencv显示(整体实现)_J&A~ing的博客-CSDN博客_python调用 ...

  9. “完全自主”的木兰编程语言回应:承认基于Python二次开发,向中科院致歉

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 国产编程语言"木兰"面对换皮质疑,现在公开回应.并道歉了. 就在近期,一家国内公司中科智芯声称开发了首个跨平台.兼容多种 ...

最新文章

  1. Linux下的samba服务配置详解
  2. [mmu/cache]-cache在linux和optee中的应用-InProgress
  3. struts2中result的type跳转类型总结
  4. 2017.8.17 陌上花开 思考记录
  5. TTS Service Extended (进程:com.google.tts)意外停止 恢复被阉割的TTS文字转语音功能
  6. 【转】阿里去IOE运动
  7. 人工智能对计算机技术的,人工智能技术在计算机网络技术的影响
  8. Gridview DetailView
  9. 网络游戏植入营销案例
  10. 联想m7400更换墨粉盒怎么清零_联想M7400一体打印机换墨粉后如何清零?
  11. spwm matlab仿真,H桥逆变器SPWMMATLAB仿真
  12. win10 android模拟器 菜单,Win10 Android模拟器教程
  13. MLX90614红外温度模块驱动
  14. iOS动态库重签名步骤
  15. mysql rpl_MySQL增强半同步参数rpl_semi_sync_master_wait_point值AFTER_SYNC和AFTER_COMMIT
  16. VproC#混合编程,加载图片
  17. 九爷带你了解 zabbix 飞信以及机器人报警
  18. 浙江大学 工程伦理 第十二单元测试答案
  19. 学好英语的42个经典要诀
  20. Wordpress商品详情页新增Buy on amazon/ebay跳转按钮

热门文章

  1. 图解windows 2000系统安装步骤
  2. Redis哨兵服务器,检测主服务器宕机
  3. 华清远见-重庆中心-框架技术总结
  4. matplotlib保存eps文件透明度失效解决办法
  5. BACnet协议详解——应用层说明二
  6. 华为开发者大赛:赢的不仅仅是百万元奖金
  7. linux终端能不能打字,不能打字只有拼音_Ubuntu系统拼音无法正确打字怎么解决
  8. MiniGPT-4 发布
  9. 计算机组成模型计算机课设总结,计算机组成原理课设报告.doc
  10. linux安装双系统安装教程视频教程,windows+Ubuntu双系统安装教程