Beispiel #1
0
        public static IField AlterRasterFieldSR(IField pField, ISpatialReference sr)
        {
            IFieldEdit2 pEdit = pField as IFieldEdit2;
            IRasterDef  pRDef = pEdit.RasterDef;

            pRDef.SpatialReference = sr;
            return(pField);
        }
Beispiel #2
0
        public IRasterDataset createSDERasterDs(IRasterWorkspaceEx irasterWorkspaceEx_0, string string_0, int int_0,
                                                rstPixelType rstPixelType_0, ISpatialReference ispatialReference_0, IRasterStorageDef irasterStorageDef_0,
                                                IRasterDef irasterDef_0, string string_1)
        {
            IRasterDataset rasterDataset = null;

            if (irasterDef_0 == null)
            {
                irasterDef_0 = this.method_0(false, ispatialReference_0);
            }
            if (irasterStorageDef_0 == null)
            {
                irasterStorageDef_0 = this.method_1();
            }
            IGeometryDef geometryDef = this.method_2(ispatialReference_0);

            if (string_1.Length == 0)
            {
                string_1 = "DEFAULTS";
            }
            rasterDataset = irasterWorkspaceEx_0.CreateRasterDataset(string_0, int_0, rstPixelType_0,
                                                                     irasterStorageDef_0, string_1, irasterDef_0, geometryDef);
            return(rasterDataset);
        }
Beispiel #3
0
        //************************Raster Load End***************************

        //************************Raster Create Begin***********************
        //函数编号:RasterCreate-01
        //函数名:createSDERasterDs
        //函数功能:在给定的数据库中创建新的RasterDataset
        //参数:
        //		rasterWorkspaceEx == destination geodatabase workspace (personal or ArcSDE)
        //		rasterDatasetName == Name of raster dataset to create
        //		numberOfBands == number of bands in the raster dataset that will be created
        //		pixelType == type of pixel in target raster dataset
        //		spatialReference == desired spatial reference in raster dataset
        //		rasterStorageDef == RasterStorageDef object of Raster dataset -- defines pyramids, tiling, etc
        //		rasterDef == definition for spatial reference
        //		sKeyword == ArcSDE only, configuration keyword
        //备注:
        //		调用的函数:createGeometryDef(),createRasterStorageDef(),createRasterDef()等函数配合。
        //		Libraries:	ESRI.ArcGIS.Geodatabase, ESRI.ArcGIS.Geometry

        public IRasterDataset createSDERasterDs(IRasterWorkspaceEx rasterWorkspaceEx,
                                                string rasterDatasetName, int numberOfBands,
                                                rstPixelType pixelType, ISpatialReference spatialReference,
                                                IRasterStorageDef rasterStorageDef, IRasterDef rasterDef,
                                                string keyword)
        {
            // Create a raster dataset in a geodatabase workspace
            IRasterDataset rasterDataset = null;
            IGeometryDef   geometryDef;

            // if rasterdef is missing, create one with specified/unknown spatialreference
            if (rasterDef == null)
            {
                rasterDef = createRasterDef(false, spatialReference);
            }

            // if rasterstoragedef is missing, use default parameters
            if (rasterStorageDef == null)
            {
                rasterStorageDef = createRasterStorageDef();
            }

            // create geometry definition
            geometryDef = createGeometryDef(spatialReference);

            // if keyword is missing, use default
            if (keyword.Length == 0)
            {
                keyword = "DEFAULTS";
            }
            Console.WriteLine("bb");
            rasterDataset = rasterWorkspaceEx.CreateRasterDataset(rasterDatasetName, numberOfBands, pixelType,
                                                                  rasterStorageDef, keyword, rasterDef, geometryDef);

            return(rasterDataset);
        }
Beispiel #4
0
        /// <summary>
        /// 在Geodatabase中创建栅格数据集
        /// </summary>
        /// <param name="pRasterWsEx">目标Geodatabase工作区</param>
        /// <param name="pDsName">栅格数据集名称</param>
        /// <param name="iNBannd">波段数</param>
        /// <param name="iPixeType">像素类型</param>
        /// <param name="pSpaRef">空间参考</param>
        /// <param name="pRasterStoreRef">存储栅格参数定义</param>
        /// <param name="pRasterDef">栅格空间参考定义</param>
        /// <param name="pKeyword"></param>
        /// <param name="eex"></param>
        /// <returns></returns>
        private IRasterDataset CreateRasterDataset(IRasterWorkspaceEx pRasterWsEx, string pDsName, int iNBannd, rstPixelType iPixeType, ISpatialReference pRasterSpaRef, ISpatialReference pGeoSpaRef, IRasterStorageDef pRasterStoreRef, IRasterDef pRasterDef, string pKeyword, out Exception eex)
        {
            eex = null;
            IRasterDataset pRasterDs = null;

            try
            {
                IGeometryDef pGeoDef = null;
                if (pRasterDef == null)
                {
                    pRasterDef = CreateRasterDef(pRasterSpaRef);
                }
                if (pRasterStoreRef == null)
                {
                    pRasterStoreRef = CreaterRasterStoreDef();
                }
                pGeoDef = CreateGeoDef(pGeoSpaRef);
                if (pKeyword.Trim() == "")
                {
                    pKeyword = "DEFAULTS";
                }
                pRasterDs = pRasterWsEx.CreateRasterDataset(pDsName, iNBannd, iPixeType, pRasterStoreRef, pKeyword, pRasterDef, pGeoDef);
            }
            catch (Exception ex)
            {
                //*******************************************************************
                //guozheng added
                if (ModData.SysLog != null)
                {
                    ModData.SysLog.Write(ex, null, DateTime.Now);
                }
                else
                {
                    ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog();
                    ModData.SysLog.Write(ex, null, DateTime.Now);
                }
                //********************************************************************

                eex = new Exception("创建栅格数据集出错!\n" + ex.Message);
            }
            return(pRasterDs);
        }
Beispiel #5
0
        public static IRasterDataset CreateSDERasterDs(IRasterWorkspaceEx irasterWorkspaceEx_0, string string_0,
                                                       int int_0, rstPixelType rstPixelType_0, ISpatialReference ispatialReference_0,
                                                       IRasterStorageDef irasterStorageDef_0, IRasterDef irasterDef_0, string string_1)
        {
            IRasterDataset dataset     = null;
            IGeometryDef   geometryDef = null;

            if (irasterDef_0 == null)
            {
                irasterDef_0 = CreateRasterDef(false, ispatialReference_0);
            }
            if (irasterStorageDef_0 == null)
            {
                irasterStorageDef_0 = CreateRasterStorageDef();
            }
            geometryDef = CreateGeometryDef(irasterDef_0.SpatialReference);
            if (string_1.Length == 0)
            {
                string_1 = "DEFAULTS";
            }
            try
            {
                dataset = irasterWorkspaceEx_0.CreateRasterDataset(string_0, int_0, rstPixelType_0, irasterStorageDef_0,
                                                                   string_1, irasterDef_0, geometryDef);
            }
            catch (COMException exception)
            {
                if (exception.ErrorCode == -2147155646)
                {
                    MessageBox.Show("对象名 [" + string_0 + "] 不符合命名要求,请输入合适的对象名!");
                    return(dataset);
                }
                MessageBox.Show(exception.Message);
            }
            return(dataset);
        }
Beispiel #6
0
        //************************Raster Load End***************************
        //************************Raster Create Begin***********************
        //������ţ�RasterCreate-01
        //��������createSDERasterDs
        //�������ܣ��ڸ��������ݿ��д����µ�RasterDataset
        //������
        //        rasterWorkspaceEx == destination geodatabase workspace (personal or ArcSDE)
        //        rasterDatasetName == Name of raster dataset to create
        //        numberOfBands == number of bands in the raster dataset that will be created
        //        pixelType == type of pixel in target raster dataset
        //        spatialReference == desired spatial reference in raster dataset
        //        rasterStorageDef == RasterStorageDef object of Raster dataset -- defines pyramids, tiling, etc
        //        rasterDef == definition for spatial reference
        //        sKeyword == ArcSDE only, configuration keyword
        //��ע��
        //        ���õĺ�����createGeometryDef(),createRasterStorageDef()��createRasterDef()�Ⱥ�����ϡ�
        //        Libraries:	ESRI.ArcGIS.Geodatabase, ESRI.ArcGIS.Geometry
        public IRasterDataset createSDERasterDs(IRasterWorkspaceEx rasterWorkspaceEx,
            string rasterDatasetName, int numberOfBands,
            rstPixelType pixelType, ISpatialReference spatialReference,
            IRasterStorageDef rasterStorageDef, IRasterDef rasterDef,
            string keyword)
        {
            // Create a raster dataset in a geodatabase workspace
            IRasterDataset rasterDataset = null;
            IGeometryDef geometryDef;

            // if rasterdef is missing, create one with specified/unknown spatialreference
            if (rasterDef == null)
                rasterDef = createRasterDef(false, spatialReference);

            // if rasterstoragedef is missing, use default parameters
            if (rasterStorageDef == null)
                rasterStorageDef = createRasterStorageDef();

            // create geometry definition
            geometryDef = createGeometryDef(spatialReference);

            // if keyword is missing, use default
            if (keyword.Length == 0)
                keyword = "DEFAULTS";
            Console.WriteLine("bb");
            rasterDataset = rasterWorkspaceEx.CreateRasterDataset(rasterDatasetName, numberOfBands, pixelType,
                rasterStorageDef, keyword, rasterDef, geometryDef);

            return rasterDataset;
        }