ArcEngine开发,读取NC文件,使用SelectDimensionByValue,报错:对 COM 组件的调用返回了错误 HRESULT E_FAIL

C#开发,读取NC文件,因为NC文件里有维度,所以需要使用SelectDimensionByValue,指定维度列,读取不同层深的数据,但是调用的时候一直报错,对 COM 组件的调用返回了错误 HRESULT E_FAIL。
 
depth就是我的维度,有30多层。
 
lincense选的是 Arcgis Advanced,也勾选了所有的Extensions。Arcgis版本是10.2  。
 
贴一下代码:
 
  private void CreateRaster_NC(string filedName, string filedX, string filedY, string pPath, string filedZ, string zVlaue)
        {
            IMap pMap = this.axMapControl1.Map;
            IInterpolationOp3 pInterpolationOp = new RasterInterpolationOpClass(); //IInterpolationOp目前已被IInterpolationOp3所取代

            //定义工作空间
            IWorkspaceFactory pWorkspaceFactory = new NetCDFWorkspaceFactory();
            string pFolder = System.IO.Path.GetDirectoryName(pPath);
            string pFileName = System.IO.Path.GetFileName(pPath);

            IWorkspaceName wksname = new WorkspaceNameClass();
            wksname.WorkspaceFactoryProgID = "esriDataSourcesNetCDF.NetCDFWorkspaceFactory";
            wksname.PathName = pFolder;

            IWorkspaceFactory wsf = new NetCDFWorkspaceFactoryClass();
            INetCDFWorkspace netws = (INetCDFWorkspace)wsf.OpenFromFile(pPath, 0);
            IStringArray vararr = netws.GetVariables();

            IMDRasterDatasetView mdrasview = new NetCDFRasterDatasetNameClass();
            mdrasview.Variable = filedName;
            mdrasview.XDimension = filedX;
            mdrasview.YDimension = filedY;


            IMDDatasetView datasetView = mdrasview as IMDDatasetView;

            IMDWorkspace mdwksp = netws as IMDWorkspace;
            IRasterDataset rasterds = mdwksp.CreateView("myview", datasetView) as IRasterDataset;

            if (!string.IsNullOrWhiteSpace(filedZ))
            {
                datasetView.SelectDimensionByValue(filedZ, Convert.ToDouble(zVlaue));    //可以设置维度
            }

            IRasterLayer rl = new RasterLayerClass();
            rl.CreateFromDataset(rasterds);

            this.SetStretchColorRampRenderer(rl);

            axMapControl1.AddLayer((ILayer)rl);

        }
 
 
EXP{NRO4[BW2Q3X[)VLAM~J.png 2.png 1.png
已邀请:

要回复问题请先登录注册