C#集成Aunspline气象数据插值软件
关注公众号,分享GIS知识、ArcGIS教程、SCI论文与科研日常等

C#集成Aunspline气象数据插值软件
//*******************这一部分只是用来读协变量栅格数据的属性值********************
IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactory();
IWorkspace workspace;
workspace = workspaceFactory.OpenFromFile(@"D:\interpolation\B", 0);
IRasterWorkspace rastWork = (IRasterWorkspace)workspace;
IRasterDataset rasterdataset = rastWork.OpenRasterDataset("NeiM_dem_49n.tif");
IRaster raster = rasterdataset.CreateDefaultRaster();
IRasterProps rasterprops = (IRasterProps)raster;
int width = rasterprops.Width;
int height = rasterprops.Height;
double xcell = rasterprops.MeanCellSize().X;
double ycell = rasterprops.MeanCellSize().Y;
double xmin = rasterprops.Extent.XMin;
double ymin = rasterprops.Extent.YMin;
//*******************这一部分只是用来读协变量栅格数据的属性值********************
//******************也可以在arcgis种打开直接读取数据*******************************
//******************接下来批量根据储存好的dat文件编写对应的cmd文件**************
StreamWriter sw;
string[] findfiles = Directory.GetFiles(@"D:\GISer\GuoDa\Temp_dat", "*.dat");
for (int i = 0; i < findfiles.Count(); i++)
{
string name = System.IO.Path.GetFileNameWithoutExtension(findfiles[i]);
sw = new StreamWriter("D:\\GISer\\GuoDa\\Temp_dat\\" + name + ".cmd", false, Encoding.Default);
// StreamWriter函数编写cmd文件
//文件名
sw.WriteLine(name);
sw.WriteLine(5);
//摄氏度。一般有9个类型,分别为:0-未定义;1-米;2-英尺;3-千米;4-英里;5-度;6-弧度;7-毫米;8-兆焦耳;在此做气温所以用5,降水时用8。
sw.WriteLine(2);//两个自变量
sw.WriteLine(1);//一个协变量
sw.WriteLine(0);//曲面样条变量个数,每个曲面采用不同的样条