zoukankan      html  css  js  c++  java
  • 遍历rastercatalog下的所有rasterdataset

       IRasterWorkspaceEx pRasterWex=Utilities.OpenSDERasterWSEx();//访问SDE 中的 RasterCatalog

    //连接SDE 中的RasterCatalog

    复制代码
             public static IRasterWorkspaceEx OpenSDERasterWSEx()
            {
                ESRILicense();//LicenseProduce.Engine 此方法通过.
                              //LicenseProduct.EngienGeoDB 此方法异常
    
                IPropertySet propertySet = new ESRI.ArcGIS.esriSystem.PropertySetClass();
    
                propertySet.SetProperty("SERVER", Configuration.SdeServer);
                propertySet.SetProperty("INSTANCE", Configuration.SdeInstance);
                propertySet.SetProperty("DATABASE", Configuration.SdeDataBase);
                propertySet.SetProperty("USER", Configuration.SdeUser);
                propertySet.SetProperty("PASSWORD", Configuration.SdePassword);
                propertySet.SetProperty("VERSION", Configuration.SdeVersion);
    
                IWorkspaceFactory pWsFact = new SdeWorkspaceFactory();
                IRasterWorkspaceEx pWs = pWsFact.Open(propertySet, 0) as IRasterWorkspaceEx;
                return pWs;
            }
    复制代码

    //遍历RasterCatalog中的所有rasterDataset

    复制代码
     IRasterCatalog rasterCatalog= pRasterWex.OpenRasterCatalog(Configuration.SdeRasterCatalog);//遍历RasterCatalog下的所有rasterDataset
                ITable table = rasterCatalog as ITable;
                ICursor cursor = table.Search(null,false);
                IRow row = cursor.NextRow();
    
                List<IRasterDataset> li_Rasters = new List<IRasterDataset>();//遍历RasterCatalog将所有rasterds添加进去
                while(row != null)
                {
                      IRasterCatalogItem rasterCatalogItem = row as IRasterCatalogItem;
                      IRasterDataset rasterDataset = rasterCatalogItem.RasterDataset;
                     
                      li_Rasters.Add(rasterDataset);
                      row = cursor.NextRow();
                }
    复制代码

    //RasterCatalog:

    存储一组空间参考相同的RasterDataset. RasterCatalog相当于featureclass+raster字段和shape字段,RasterCatalog下的每个RasterDataset相当于一个feature

    参考:RasterCatalog ...搜索中的 

    //以FeatureClass来处理RasterCatalog

    复制代码
    IRasterWorkspaceEx pRasterWex=Utilities.OpenSDERasterWSEx();//访问SDE 中的 RasterCatalog
                IRasterCatalog rasterCatalog= pRasterWex.OpenRasterCatalog(Configuration.SdeRasterCatalog);//遍历RasterCatalog下的所有rasterDataset
    
                  IPolyline pPart = new PolylineClass();//相交部分的线
    
                IFeatureClass pfc = rasterCatalog as IFeatureClass;
                IFeatureCursor pfcc = pfc.Search(null, false);
                IFeature pf = pfcc.NextFeature();
              
                while(pf!=null)
                {
                    bool partialintersect = false;
    
                    IRasterCatalogItem rasterCatalogItem = pf as IRasterCatalogItem;
                    IRaster pRaster = rasterCatalogItem.RasterDataset.CreateDefaultRaster();//
                    string rastername = pf.get_Value(pf.Fields.FindField("Name")).ToString();//RasterDataset的名称
                    if (rastername == Configuration.BottomRaster) //如果是最底图层
                    {
                        pf = pfcc.NextFeature();
                        continue;
                    }
  • 相关阅读:
    微引擎的自定义菜单40063错误解决
    jquery 重复事件
    信号量机制DOWN操作和UP操作的详细说明
    每日算法37:Rotate Image (图像旋转)
    讨论嵌入式系统测试方案
    Android 从硬件到应用程序:一步一步爬上去 6 -- 我写的APP测试框架层硬件服务(终点)
    MVC 接受Flash上传图片
    autorun.vbs病毒的清除办法
    【行业翘楚】井田云:化解线上线下冲突让鱼与熊掌皆得
    Tuxedo入门学习
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/3020228.html
Copyright © 2011-2022 走看看