使用Java中的ArcObjects 10.2在ArcGIS中打开文件系统光栅数据集

使用Java中的ArcObjects 10.2在ArcGIS中打开文件系统光栅数据集,java,layer,arcgis,raster,arcobjects,Java,Layer,Arcgis,Raster,Arcobjects,解答:见下面我的答案 我正在尝试将.tif、.img和.dat光栅文件打开到ArcMap中的新图层 我已经尝试了我在文档中找到的所有方法和StackOverflow上的一些实现 这是当前代码: File file = new File(output); IWorkspaceFactory wsFactory = (IWorkspaceFactory)new RasterWorkspaceFactory(); IRasterWorkspace2 rasterWS = (IR

解答:见下面我的答案

我正在尝试将.tif、.img和.dat光栅文件打开到ArcMap中的新图层

我已经尝试了我在文档中找到的所有方法和StackOverflow上的一些实现

这是当前代码:

    File file = new File(output);
    IWorkspaceFactory wsFactory = (IWorkspaceFactory)new RasterWorkspaceFactory();
    IRasterWorkspace2 rasterWS = (IRasterWorkspace2)wsFactory.openFromFile(file.getParentFile().getAbsolutePath(),0);
    IRasterDataset rds = rasterWS.openRasterDataset(output);    
    IRasterLayer rasterLayer = new RasterLayer();
    rasterLayer.createFromDataset(rds);
    IActiveView activeView = mxDocument.getActiveView();
    IMap _map = activeView.getFocusMap();
    _map.addLayer(rasterLayer);
此代码不会抛出错误消息,但不会打开层。我从arcObjects 10.2的示例程序和文档中获取的以前的实现在这一行抛出异常:

RasterDataset rasterDataset = (RasterDataset) rasterWorkspace.openRasterDataset(file.getAbsolutePath());
我现在唯一的线索是这个类可能调用打开文件的命令,并将文件路径作为输入。是否生成自定义命令以打开文件

注意:单击“图层”菜单上的“添加数据”选项可以很好地打开文件。

    IRasterLayer rasterLayer = new RasterLayer();
    rasterLayer.createFromFilePath(output);
    mxDocument.addLayer(rasterLayer);
通过在Eclipse中浏览JavaDoc工具提示找到此代码

只需输入对象和一个。Eclipse将显示所有可用的选项

我很惊讶这个代码片段没有在网上的任何地方列出,而我在大约8个小时的搜索中找到了它。无论如何,这就是简单的三线解决方案