以前一直没用的删格文件的操作,所以对这块的接口不了解,近期因为论文想要用C#二次开发操作Esri Grid的文件,网上看到的方法是这样
IWorkspaceFactory rasterWorkspaceFactory = new RasterWorkspaceFactoryClass();
IRasterWorkspace rasterWorkspace = rasterWorkspaceFactory.OpenFromFile(@"D:\data\grid", 0) as IRasterWorkspace;
IRasterDataset rasterDataset= rasterWorkspace.OpenRasterDataset("ca_hillshade");但这样读出来的workspace是空的,下面完全没法继续写,找了好几个小时都找不到解决办法,后来看到 IRasterlayer有反法直接读
IRasterLayer pRasterLayer = new RasterLayerClass();
pRasterLayer.CreateFromFilePath(@"D:\data\f_road");这里的f_road就是删格文件名(Grid本身就是一个多文件系统组织),得到启示,发现IRasterDataset本身也有方法直接读
IRasterDataset rasterDataset=new RasterDataset();rasterDataset.OpenFromFile(@"D:\data\f_road");
就是这么简单,卡了半天,分享给其他朋友。
转载请注明原文地址: https://ju.6miu.com/read-23292.html