IMDDatasetView datasetView = rasterView as IMDDatasetView; datasetView.SelectDimensionByValue("HOUR", 5);
IMDWorkspace kk = netCDFWorkspace as IMDWorkspace;
IDataset result = kk.CreateView("sdf", datasetView );
IRasterDataset rasterDataset = result as IRasterDataset;
IRasterLayer rasterLayer = new RasterLayer();
rasterLayer.CreateFromDataset(rasterDataset);
axMapControl1.AddLayer(rasterLayer as ILayer);
axMapControl1.Refresh();
5 个回复
刘峥 - ArcGIS多面手
赞同来自:
private void Open_NetCDF(string filepath, string filename)
{
IWorkspaceName wksname = new WorkspaceNameClass();
wksname.WorkspaceFactoryProgID = "esriDataSourcesNetCDF.NetCDFWorkspaceFactory";
wksname.PathName = filepath;
IWorkspaceFactory wsf = new NetCDFWorkspaceFactoryClass();
string file = filepath + filename;
INetCDFWorkspace netws = (INetCDFWorkspace)wsf.OpenFromFile(file, 0);
IStringArray vararr = netws.GetVariables();
for (int i = 0; i < vararr.Count; i++)
{
Console.WriteLine(vararr.get_Element(i).ToString());
}
IStringArray dimarr = netws.GetDimensions();
IStringArray atrarr = netws.GetAttributeNames(vararr.get_Element(1).ToString());
for (int i = 0; i < atrarr.Count; i++)
{
Console.WriteLine(atrarr.get_Element(i).ToString());
}
IMDRasterDatasetView mdrasview = new NetCDFRasterDatasetNameClass();
mdrasview.Variable = "myVar";
mdrasview.XDimension = "Xdim";
mdrasview.YDimension = "Ydim";
IMDWorkspace mdwksp = netws as IMDWorkspace;
IRasterDataset rasterds = mdwksp.CreateView("myview", (IMDDatasetView)mdrasview) as IRasterDataset;
IRasterLayer rl = new RasterLayerClass();
rl.CreateFromDataset(rasterds);
axMapControl1.AddLayer((ILayer)rl);
}
蝶泉戏梦
赞同来自:
IWorkspaceFactory fc = (IWorkspaceFactory)new NetCDFWorkspaceFactory();
INetCDFWorkspace netCDFWorkspace = fc.OpenFromFile(@"G:\3.24\cmaq_domain1_surface_20151029.MapUni.nc", 0) as INetCDFWorkspace;
IStringArray variables = netCDFWorkspace.GetVariables();
for (int i = 0; i < variables.Count; i )
{
Console.WriteLine(variables.get_Element(i));
}
IMDRasterDatasetView rasterView = new NetCDFRasterDatasetNameClass();
rasterView.XDimension = "ROW";
rasterView.YDimension = "COL";
rasterView.Variable = "SO2_map";
IMDDatasetView datasetView = rasterView as IMDDatasetView;
datasetView.SelectDimensionByValue("HOUR", 5);
IMDWorkspace kk = netCDFWorkspace as IMDWorkspace;
IDataset result = kk.CreateView("sdf", datasetView );
IRasterDataset rasterDataset = result as IRasterDataset;
IRasterLayer rasterLayer = new RasterLayer();
rasterLayer.CreateFromDataset(rasterDataset);
axMapControl1.AddLayer(rasterLayer as ILayer);
axMapControl1.Refresh();
lorice
赞同来自:
lorice
赞同来自:
蝶泉戏梦
赞同来自:
要回复问题请先登录或注册
发起人
相关问题
问题状态