資源簡介
內含所有源代碼,對于利用GDAL進行多幅影像進行圖層疊加的小伙伴會有參考的,可能會有不足,但是代碼是自己花了多半天弄出來的(VS2010 ),需要的朋友拿走把。效率挺高的,個人測試超過了ENVI的Layer Stacking效率。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.Threading;
namespace?GDALReadWriteData
{
????public?partial?class?frmGDALReadWrite?:?Form
????{
????????public?frmGDALReadWrite()
????????{
????????????InitializeComponent();
????????}
????????string?inputFile;
????????string?outputFile;
????????private?void?btnReadWriteData_Click(object?sender?EventArgs?e)
????????{
????????????bool?isDone?=?false;
????????????DateTime?start?=?DateTime.Now;
????????????//**************進度條**************//
????????????frmProgressBar?proFrm?=?new?frmProgressBar();
????????????//修改進度條顯示文字
????????????proFrm.UpDateInfo(“正在讀寫影像...“);
????????????proFrm.TopMost?=?true;
????????????proFrm.Show();
????????????Thread?thread0?=?new?Thread(()?=>
????????????{
????????????????//****************執行語句**********************
????????????????GDALReadWrite?gdalReadWrite?=?new?GDALReadWrite(inputFiles);
????????????????????ProgramRunTime?temp?=?new?ProgramRunTime();
????????????????????temp.TimeStart();????????????????
????????????????????gdalReadWrite.ReadToWrite(inputFile?outputFile);
????????????????????Console.WriteLine(temp.TimeConsuming());
??????????????
????????????????//*********************************************
????????????????if?(proFrm.InvokeRequired)
????????????????????proFrm.Invoke(new?frmProgressBar.CloseProgressFrm(proFrm.ClosePro));
????????????????GC.Collect();
????????????????isDone?=?true;
????????????});
????????????thread0.SetApartmentState(ApartmentState.STA);
????????????thread0.Priority?=?ThreadPriority.Highest;
????????????thread0.Start();
????????????proFrm.Visible?=?false;
????????????proFrm.ShowDialog();
????????????if?(thread0.IsAlive)
????????????{
????????????????Thread.Sleep(600);
????????????????thread0.Abort();
????????????}
????????????thread0?=?null;
????????????GC.Collect();
????????????DateTime?stop?=?DateTime.Now;
????????????string?timeConsuming?=?Convert.ToString(stop?-?start);
????????????timeConsuming?=?“\r\n開始時間:“?+?start?+?“\r\n結束時間:“?+?stop?+?“\r\n耗時:“?+?timeConsuming;???
????????????//**************進度條**************//
????????????if?(isDone)
????????????{
????????????????MessageBox.Show(“GDAL讀寫數據完畢!“+timeConsuming);
????????????????Close();
????????????}
????????}
????????string[]?inputFiles;
????????private?void?btnData_Click(object?sender?EventArgs?e)
????????{
????????????OpenFileDialog?getFile?=?new?OpenFileDialog();
????????????getFile.Multiselect?=?true;
????????????if?(getFile.ShowDialog()?==?DialogResult.OK)
????????????{
????????????????inputFile?=?getFile.FileName;
????????????????inputFiles?=?new?string[getFile.FileNames.Length];
????????????????for?(int?i?=?0;?i?????????????????{
????????????????????inputFiles[i]?=?getFile.FileNames[i];
????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????144??2017-06-03?17:21??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\app.config
?????文件????7057408??2017-06-17?09:35??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\gdal19.dll
?????文件??????18944??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\gdalconst_csharp.dll
?????文件??????12288??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\gdalconst_wrap.dll
?????文件??????25088??2018-02-01?22:38??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\GDALReadWriteData.exe
?????文件????????144??2017-06-03?17:21??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\GDALReadWriteData.exe.config
?????文件??????62976??2018-02-01?22:38??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\GDALReadWriteData.pdb
?????文件??????11600??2018-02-02?18:21??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\GDALReadWriteData.vshost.exe
?????文件????????144??2017-06-03?17:21??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\GDALReadWriteData.vshost.exe.config
?????文件????????490??2016-07-16?19:44??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\GDALReadWriteData.vshost.exe.manifest
?????文件??????90112??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\gdal_csharp.dll
?????文件??????94208??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\gdal_wrap.dll
?????文件?????118784??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\ogr_csharp.dll
?????文件??????94208??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\ogr_wrap.dll
?????文件??????57344??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\osr_csharp.dll
?????文件??????39424??2013-04-27?14:46??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\bin\Debug\osr_wrap.dll
?????文件???????3653??2018-02-01?19:53??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\FrmMain.cs
?????文件???????6062??2016-06-22?15:39??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\FrmMain.Designer.cs
?????文件??????13383??2016-06-22?15:39??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\FrmMain.resx
?????文件???????8126??2018-02-02?18:22??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\GDALReadWrite.cs
?????文件???????5365??2017-06-03?17:23??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\GDALReadWriteData.csproj
?????文件????????227??2016-06-22?14:04??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\GDALReadWriteData.csproj.user
?????文件???????1975??2015-10-29?19:29??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\icon\13221819.gif
?????文件???????2284??2015-10-29?19:29??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\icon\open_32.png
?????文件???????2125??2016-06-22?15:00??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\icon\save_320.png
?????文件???????1244??2015-10-29?19:29??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\icon\刪除.png
?????文件???????5988??2018-02-01?19:52??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7068??2018-02-02?18:21??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件??????16782??2018-02-02?18:21??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\obj\x86\Debug\GDALReadWriteData.csproj.FileListAbsolute.txt
?????文件???????1091??2016-08-07?21:53??09_多景單幅影像進行圖層疊加操作\GDALReadWriteData\obj\x86\Debug\GDALReadWriteData.csproj.GenerateResource.Cache
............此處省略760個文件信息
- 上一篇:C/S 程序設計 三層架構 學生信息管理系統
- 下一篇:使用wpf開發的象棋程序
評論
共有 條評論