Esempio n. 1
0
        //函数编号:Raster-08
        //函数名:createRasterValue
        //函数功能:把RasterDataset存储为某一个记录,以便于在RasterCatalog中存储
        //参数:pRasterDs:需要存储的RasterDataset
        //备注:通过该函数可以把设置RasterStorageDef。包括压缩、金字塔的建立等
        public IRasterValue createRasterValue(IRasterDataset pRasterDs)
        {
            IRasterValue      pRasterVal;
            IRasterStorageDef pRasStoreDef;

            // ++  storage parameter
            pRasStoreDef = new RasterStorageDef();

            //createRasterStorageDef
            pRasStoreDef.CompressionType     = esriRasterCompressionType.esriRasterCompressionJPEG2000; //esriRasterSdeCompressionTypeEnum.esriRasterSdeCompressionTypeJPEG2000;
            pRasStoreDef.PyramidResampleType = rstResamplingTypes.RSP_CubicConvolution;

            //如果PyramidLevel=-1则建立全金字塔,
            pRasStoreDef.PyramidLevel = -1;
            // ++  raster value to raster field

            pRasterVal = new RasterValueClass();
            pRasterVal.RasterDataset    = pRasterDs;
            pRasterVal.RasterStorageDef = pRasStoreDef;

            return(pRasterVal);

            // ++ cleanup
            //?问题,已经return后的语句是否能用?
            //pRasterVal = null;
            //pRasStoreDef = null;
        }
Esempio n. 2
0
        //函数号:
        //函数名:LoadRasterToCatalogDatabase
        //函数功能:Raster导入Database
        //参数:pWorkspace:数据库,pWorkspace可以是Access 或者SDE
        //		strCata:Catalog名称
        //		pRasterDs:需要入库的Rasterdataset
        //备注:insert a raster dataset with given path and file name to an existing raster catalog
        public void LoadRasterToCatalogDatabase(IWorkspace pWorkspace, string strCata, IRasterDataset pRasterDs, string name)
        {
            //QI IRasterWorkspaceEx to IWorkspace
            IRasterWorkspaceEx pRasWKS = pWorkspace as IRasterWorkspaceEx;

            //Open raster catalog
            //IRasterCatalog相当于一个FeatureClass(表),表中的每一个记录可以存放Raster
            IRasterCatalog pInCatalog = pRasWKS.OpenRasterCatalog(strCata);
            // get raster field index
            int iRaster = pInCatalog.RasterFieldIndex;

            // QI IFeatureClass for inserting
            IFeatureClass pFeatureClass = pInCatalog as IFeatureClass;

            // get insert cursor
            IFeatureCursor pCursor = pFeatureClass.Insert(false);

            // create raster value from raster dataset with default storagedef
            IRasterValue pRasterValue = new RasterValueClass();

            pRasterValue.RasterDataset    = pRasterDs;
            pRasterValue.RasterStorageDef = new RasterStorageDefClass();

            pRasterValue.RasterDatasetName.NameString = name;
            //这里可以设置新的RasterStorageDef

            // insert the rastervalue  ' it will update name, metadata and geometry field
            IFeatureBuffer pRow = pFeatureClass.CreateFeatureBuffer();

            pRow.set_Value(iRaster, pRasterValue);
            pCursor.InsertFeature(pRow);
        }
Esempio n. 3
0
        public IRasterValue createRasterValue(IRasterDataset pRasterDs, IRasterStorageDef pRasStoreDef)
        {
            IRasterValue pRasterVal;

            pRasterVal = new RasterValueClass();
            pRasterVal.RasterDataset    = pRasterDs;
            pRasterVal.RasterStorageDef = pRasStoreDef;

            return(pRasterVal);

            // ++ cleanup
            //?问题,已经return后的语句是否能用?
            //pRasterVal = null;
            //pRasStoreDef = null;
        }
Esempio n. 4
0
        //�����ţ�
        //��������LoadRasterToCatalogDatabase
        //�������ܣ�Raster����Database
        //������pWorkspace�����ݿ⣬pWorkspace������Access ����SDE
        //        strCata��Catalog����
        //        pRasterDs����Ҫ����Rasterdataset
        //��ע��insert a raster dataset with given path and file name to an existing raster catalog
        public void LoadRasterToCatalogDatabase(IWorkspace pWorkspace, string strCata, IRasterDataset pRasterDs,string name)
        {
            //QI IRasterWorkspaceEx to IWorkspace
            IRasterWorkspaceEx pRasWKS = pWorkspace as IRasterWorkspaceEx;

            //Open raster catalog
            //IRasterCatalog�൱��һ��FeatureClass����������е�ÿһ����¼���Դ��Raster
            IRasterCatalog pInCatalog = pRasWKS.OpenRasterCatalog(strCata);
            // get raster field index
            int iRaster = pInCatalog.RasterFieldIndex;

            // QI IFeatureClass for inserting
            IFeatureClass pFeatureClass = pInCatalog as IFeatureClass;

            // get insert cursor
            IFeatureCursor pCursor = pFeatureClass.Insert(false);

            // create raster value from raster dataset with default storagedef
            IRasterValue pRasterValue = new RasterValueClass();
            pRasterValue.RasterDataset = pRasterDs;
            pRasterValue.RasterStorageDef = new RasterStorageDefClass();

            pRasterValue.RasterDatasetName.NameString = name;
            //������������µ�RasterStorageDef

            // insert the rastervalue  ' it will update name, metadata and geometry field
            IFeatureBuffer pRow = pFeatureClass.CreateFeatureBuffer();
            pRow.set_Value(iRaster, pRasterValue);
            pCursor.InsertFeature(pRow);
        }
Esempio n. 5
0
        public IRasterValue createRasterValue(IRasterDataset pRasterDs, IRasterStorageDef pRasStoreDef)
        {
            IRasterValue pRasterVal;

            pRasterVal = new RasterValueClass();
            pRasterVal.RasterDataset = pRasterDs;
            pRasterVal.RasterStorageDef = pRasStoreDef;

            return (pRasterVal);

            // ++ cleanup
            //�����⣬�Ѿ�return�������Ƿ����ã�
            //pRasterVal = null;
            //pRasStoreDef = null;
        }
Esempio n. 6
0
        //������ţ�Raster-08
        //��������createRasterValue
        //�������ܣ���RasterDataset�洢Ϊijһ����¼���Ա�����RasterCatalog�д洢
        //������pRasterDs����Ҫ�洢��RasterDataset
        //��ע��ͨ���ú������԰�����RasterStorageDef������ѹ�����������Ľ�����
        public IRasterValue createRasterValue(IRasterDataset pRasterDs)
        {
            IRasterValue pRasterVal;
            IRasterStorageDef pRasStoreDef;

            // ++  storage parameter
            pRasStoreDef = new RasterStorageDef();

            //createRasterStorageDef
            pRasStoreDef.CompressionType = esriRasterCompressionType.esriRasterCompressionJPEG2000; //esriRasterSdeCompressionTypeEnum.esriRasterSdeCompressionTypeJPEG2000;
            pRasStoreDef.PyramidResampleType = rstResamplingTypes.RSP_CubicConvolution;

            //���PyramidLevel=-1����ȫ��������
            pRasStoreDef.PyramidLevel = -1;
            // ++  raster value to raster field

            pRasterVal = new RasterValueClass();
            pRasterVal.RasterDataset = pRasterDs;
            pRasterVal.RasterStorageDef = pRasStoreDef;

            return (pRasterVal);

            // ++ cleanup
            //�����⣬�Ѿ�return�������Ƿ����ã�
            //pRasterVal = null;
            //pRasStoreDef = null;
        }