python 大气校正_PIE二次开发——大气校正
窗体设计:
代码:
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二次开发——大气校正相关推荐
- python开源项目框架二次开发_Python中三大框架各自的应用场景(DJango,flask,Tornado)...
django:主要是用来搞快速开发的,他的亮点就是快速开发,节约成本,正常的并发量不过10000,如果要实现高并发的话,就要对django进行二次开发,比如把整个笨重的框架给拆掉,自己写socket实 ...
- python对ug进行二次开发_UG二次开发之编程语言介绍
二次开发是一潭很深的水 想学好可能需要很多精力 让我们暂且抱着试试看的态度 目的是为了方便自己 本文内容来自网络,由本人整理编辑 以下是以下关于UG二次开发的语言,了解了解吹吹牛还是可以的.更多的干货 ...
- 【转载】使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)
本文转载自https://blog.csdn.net/young2203/article/details/81937268.转载目的是防止原帖不可见.以下为原文: (所有用词以英文为准,翻译仅供参考) ...
- 使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)
(所有用词以英文为准,翻译仅供参考) 一.abaqus二次开发总述: 首先最重要的知识点需要明确,abaqus在求解核心(Solver/ Kernel)和图形用户界面(GUI)之间使用的交互语言天然就 ...
- python catia 接口_Catia 二次开发资料(转)
Catia 二次开发 CATIA V5在开发之初就遵循面向对象的设计思想(OO),构建了完全基于组件的体系结构(PPR: Products,Process,Resource),有效地解决了维护.管理. ...
- python能做cad二次开发吗_做CAD二次开发有没有前途和钱途?
原标题:做CAD二次开发有没有前途和钱途? 作为上海垂杨信息科技的苦逼小编一枚,特别羡慕从事技术开发的同事,为啥呀,因为他们工资高,奖金多呗.最近一朋友问我,他大学学得C#,在学校的就业培训课上,就业 ...
- abaqus二次开发python 建立集合,ABAQUS二次开发-Python脚本运行方式
ABAQUS软件界面下运行Python脚本 方式1: 弹出选择Python脚本文件,点击"OK"后直接运行 方式2: 点击"File"=>"Ru ...
- python 海康工业相机二次开发 参数获取
对于调用海康相机的整个流程,下面的这个博客说的很详细了,我一开始也是看的这个 python调用海康工业相机并用opencv显示(整体实现)_J&A~ing的博客-CSDN博客_python调用 ...
- “完全自主”的木兰编程语言回应:承认基于Python二次开发,向中科院致歉
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 国产编程语言"木兰"面对换皮质疑,现在公开回应.并道歉了. 就在近期,一家国内公司中科智芯声称开发了首个跨平台.兼容多种 ...
最新文章
- Linux下的samba服务配置详解
- [mmu/cache]-cache在linux和optee中的应用-InProgress
- struts2中result的type跳转类型总结
- 2017.8.17 陌上花开 思考记录
- TTS Service Extended (进程:com.google.tts)意外停止 恢复被阉割的TTS文字转语音功能
- 【转】阿里去IOE运动
- 人工智能对计算机技术的,人工智能技术在计算机网络技术的影响
- Gridview DetailView
- 网络游戏植入营销案例
- 联想m7400更换墨粉盒怎么清零_联想M7400一体打印机换墨粉后如何清零?
- spwm matlab仿真,H桥逆变器SPWMMATLAB仿真
- win10 android模拟器 菜单,Win10 Android模拟器教程
- MLX90614红外温度模块驱动
- iOS动态库重签名步骤
- mysql rpl_MySQL增强半同步参数rpl_semi_sync_master_wait_point值AFTER_SYNC和AFTER_COMMIT
- VproC#混合编程,加载图片
- 九爷带你了解 zabbix 飞信以及机器人报警
- 浙江大学 工程伦理 第十二单元测试答案
- 学好英语的42个经典要诀
- Wordpress商品详情页新增Buy on amazon/ebay跳转按钮