首页 我用.net编写的栅格数据入库代码

我用.net编写的栅格数据入库代码

举报
开通vip

我用.net编写的栅格数据入库代码我用.net编写的栅格数据入库代码 我用C#编写的栅格数据入库代码----- OpenFileDialog flg = new OpenFileDialog(); flg.Title = "打开文件数据"; flg.CheckFileExists = true; flg.CheckPathExists = true; flg.AddExtension = true; flg.Multiselect = false; flg.Filter = "IMG文件(.shp) | *.img"; if (f...

我用.net编写的栅格数据入库代码
我用.net编写的栅格数据入库代码 我用C#编写的栅格数据入库代码----- OpenFileDialog flg = new OpenFileDialog(); flg.Title = "打开文件数据"; flg.CheckFileExists = true; flg.CheckPathExists = true; flg.AddExtension = true; flg.Multiselect = false; flg.Filter = "IMG文件(.shp) | *.img"; if (flg.ShowDialog() == DialogResult.OK) { ImportShapeFileName = flg.FileName; } if (ImportShapeFileName == "") this.Close(); IPropertySet pPropSet = new PropertySetClass(); IWorkspaceFactory pSdeFact = new SdeWorkspaceFactoryClass(); pPropSet.SetProperty("SERVER", "loushurong"); pPropSet.SetProperty("INSTANCE", "esri_sde"); pPropSet.SetProperty("DATABASE", "orcl"); pPropSet.SetProperty("USER", "sde"); pPropSet.SetProperty("PASSWORD", "zmmin383"); pPropSet.SetProperty("VERSION", "SDE.DEFAULT"); ws = pSdeFact.Open(pPropSet, 0); string ImportFileShortName = System.IO.Path.GetFileNameWithoutExtension(ImportShapeFileName); string ImportFilePath = System.IO.Path.GetDirectoryName(ImportShapeFileName); IRasterSdeConnection pSDEConn = new RasterSdeLoaderClass(); pSDEConn.ServerName = "loushurong"; pSDEConn.Instance = "esri_sde"; pSDEConn.Database = "orcl"; pSDEConn.UserName = "sde"; pSDEConn.Password = "zmmin383"; pSDEConn.InputRasterName = ImportShapeFileName; pSDEConn.SdeRasterName = ImportFileShortName; IWorkspaceFactory pRasterWsFact = new RasterWorkspaceFactoryClass(); IWorkspace workspace = pRasterWsFact.OpenFromFile(ImportFilePath, 0);//Open(pPropSet, 0);//OpenFromFile(ImportFilePath, 0); IRasterWorkspace pRasterWs = (IRasterWorkspace)workspace; IRasterDataset pRasterDs = pRasterWs.OpenRasterDataset(ImportFileShortName); IGeoDataset pGeoDs = (IGeoDataset)pRasterDs; ISpatialReference spref = pGeoDs.SpatialReference; //设置存储属性 IRasterSdeStorage pSDEStorage = (IRasterSdeStorage)pSDEConn; //设置空间参考 pSDEStorage.SpatialReference = spref; //设置压缩方式 pSDEStorage.CompressionType = esriRasterSdeCompressionTypeEnum.esriRasterSdeCompressionTypeRunLength; //设置分块尺寸 pSDEStorage.TileHeight = 128; pSDEStorage.TileWidth = 128; //金字塔选项 pSDEStorage.PyramidOption = esriRasterSdePyramidOptEnum.esriRasterSdePyramidBuildWithFirstLevel;//RSP_Biline arInterpolation; pSDEStorage.PyramidResampleType = 0; //开始导入数据 IRasterSdeServerOperation pSDEOp = (IRasterSdeServerOperation)pSDEConn; //创建数据集 pSDEOp.Create(); MessageBox.Show("o"); }运行到IRasterDataset pRasterDs = pRasterWs.OpenRasterDataset(ImportFileShortName);时抛出异常--- RasterDataset::get_Count RasterDataset::get_Count 请问如何解决,谢谢 IPropertySet pProp = new PropertySetClass(); pProp.SetProperty("SERVER", "zhangye");//设置数据库服务器名 pProp.SetProperty("INSTANCE", "port:5151");//设置SDE的端口,这是安装时指定的,默认为“port:5151" pProp.SetProperty("DATABASE", "orcl");//设置数据库的名字,只有SQL Server Informix 数据库才需要设置 pProp.SetProperty("USER", "sde"); //SDE的用户名 pProp.SetProperty("PASSWORD", "sde");//密码 pProp.SetProperty("VERSION", "SDE.DEFAULT"); IWorkspaceFactory2 Fact = new SdeWorkspaceFactoryClass(); //打开SDE工作空间,并转化为地物工作空间 IWorkspace ws = Fact.Open(pProp,0); if (ws == null) { MessageBox.Show("sde连接不成功"); this.Close(); } else { IWorkspaceName pWorkname = new ESRI.ArcGIS.Geodatabase.WorkspaceNameClass(); pWorkname.ConnectionProperties = pProp; //pWorkname.WorkspaceFactoryProgID = "esriDataSourcesGDB.SdeWorkspaceFactory.1"; IRasterSdeConnection pSdeCon = new RasterSdeLoaderClass(); //pSdeCon.SdeWorkspaceName = pWorkname; pSdeCon.ServerName = "192.168.9.177"; pSdeCon.Instance = "port:5151"; pSdeCon.UserName = "sde"; pSdeCon.Password = "sde"; pSdeCon.Database = "orcl"; pSdeCon.SdeRasterName = "S20080622130000"; pSdeCon.InputRasterName = @"d:\test\20080622130000.img"; IRasterSdeStorage pSDEStorage = (IRasterSdeStorage)pSdeCon; IWorkspaceFactory pWKSF = new RasterWorkspaceFactoryClass(); IWorkspace pWorkspace = pWKSF.OpenFromFile(@"d:\test", 0); IRasterWorkspace pRasterWS = (IRasterWorkspace)pWorkspace; IGeoDataset pGeoDs = (IGeoDataset)pRasterWS.OpenRasterDataset("20080622130000.img"); // Set spatialreference pSDEStorage.SpatialReference = pGeoDs.SpatialReference; // Set compression pSDEStorage.CompressionType = esriRasterSdeCompressionTypeEnum.esriRasterSdeCompressionTypeUncompressed; //Set tilesize pSDEStorage.TileHeight = 128; pSDEStorage.TileWidth = 128; // Pyramids option pSDEStorage.PyramidOption = esriRasterSdePyramidOptEnum.esriRasterSdePyramidBuildWithFirstLevel; pSDEStorage.PyramidResampleType = rstResamplingTypes.RSP_BilinearInterpolation; //pSDEStorage.CompressionType = esriRasterSdeCompressionTypeJPEG2000; // Start loading IRasterSdeServerOperation pSDEOp = (IRasterSdeServerOperation)pSdeCon; pSDEOp.Create(); pSDEOp.Update(); pSDEOp.ComputeStatistics(); //释放内存 pSdeCon = null; pSDEStorage = null; pSDEOp = null; pWKSF = null; pRasterWS = null; pGeoDs = null; } 本文来自CSDN博客,转载请标明出处: 向SDE库中写入栅格和矢量数据 说明:本类使用了上一篇文章中的打开sdeworkspace的类库。 本类是实现了向SDE中写入栅格和矢量数据,在SDE for Sql2005+ae9.3上测试通过。 使用时注意里面有一些向数据库中写入图层信息的内容 源代码如下: /******************************************************************** filename: WriteToSDE.cs created: 2009/12/20 author: 张烨 purpose: 向空间数据库写入矢量或者栅格数据 *********************************************************************/ using System; using System.Collections.Generic; using System.Text; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesRaster; using ESRI.ArcGIS.Geometry; namespace RadioAnalysisGIS.DataToSDE { /// /// 写入SDE /// /// /// [张烨] 2009/12/20 创建 /// [张烨] 2009/12/25 编辑,向属性数据库中添加空间数据库更新说明 /// class WriteToSDE { #region 全局变量,构造函数 protected SDEConnectParas paras; private FileWorkSpace pFileWorkSpace; public WriteToSDE(SDEConnectParas para) { paras = para; pFileWorkSpace = new FileWorkSpace(); } #endregion #region 初始化SDE连接参数 private SDEConnectPara InitPara() { paras.ReadFromFile(); string Server = "jiarui-dfe6951b"; string Instance = "5152"; string User = "gis"; string Pass = "gis"; string Database = "gisstations"; string Version = "SDE_DEFAULT"; paras.GetSDEParameters(out Server, out Instance, out User, out Pass, out Database, out Version); //从paras中获取SDE连接参数 SDEConnectPara para = new SDEConnectPara(); para.Server = Server; para.Instance = Instance; para.User = User; para.Password = Pass; para.Database = Database; para.Version = Version; return para; } #endregion #region 连接到工作空间 public ConnectRasterWorkSpaceDef ConnToSdeRasterDef() { SDEConnectPara para = InitPara(); ConnectRasterWorkSpaceDef ConnRasterDef = new ConnectRasterWorkSpaceDef(para); return ConnRasterDef; } public ConnectFeatureWorkSpaceDef ConnToSdeFeatureDef() { SDEConnectPara para = InitPara(); ConnectFeatureWorkSpaceDef ConnFeatureDef = new ConnectFeatureWorkSpaceDef(para); return ConnFeatureDef; } #endregion #region 读取空间矢量和栅格数据 public IRasterDataset GetRasterDataset(ConnectRasterWorkSpaceDef ConnDef, string RasterName) { ConnectRasterWorkSpaceGet pWorkSpaceGet = new ConnectRasterWorkSpaceGet(ConnDef); IRasterWorkspaceEx pWorkSpace = pWorkSpaceGet.GetSDEWorkspace(); if (pWorkSpace == null) return null; try { return pWorkSpace.OpenRasterDataset(RasterName); } catch { return null; } } public IFeatureClass GetFeatureClass(ConnectFeatureWorkSpaceDef ConnDef, string FeatureName) { ConnectFeatureWorkSpaceGet pWorkSpaceGet = new ConnectFeatureWorkSpaceGet(ConnDef); IFeatureWorkspace pWorkSpace = pWorkSpaceGet.GetSDEWorkspace(); if (pWorkSpace == null) return null; try { return pWorkSpace.OpenFeatureClass(FeatureName); } catch { return null; } } #endregion #region sde处理栅格 public bool WriteRasterToSDE(Guid MapGuid,ConnectRasterWorkSpaceDef ConnDef, string filePath) { ConnectRasterWorkSpaceGet pWorkSpaceGet = new ConnectRasterWorkSpaceGet(ConnDef); IRasterWorkspaceEx pWorkSpace = pWorkSpaceGet.GetSDEWorkspace(); //pWorkSpace.SaveAsRasterDataset("fasdf",pDataSet.CreateDefaultRaster(),null,"",null,null); string LayerStoreName=CopyRasterToSSDE(filePath, pWorkSpace); #region 写入数据库图层信息 WriteToDB wtd = new WriteToDB(); FilePath file = new FilePath(filePath); wtd.WriteLayerInfo(file.GetFileName(), MapGuid, 1, LayerStoreName); #endregion return true; } public string CopyRasterToSSDE(string filePath, IRasterWorkspaceEx pWorkSpace) { FilePath file = new FilePath(filePath); IRasterWorkspace2 pRW = pFileWorkSpace.OpenRasterWorkspace(file.GetDir()); IRasterDataset pRds = pRW.OpenRasterDataset(file.GetFileName()); IRasterProps pRasterProps = (IRasterProps)pRds.CreateDefaultRaster(); IRasterStorageDef pRasterStorageDef = new RasterStorageDefClass(); IRasterDef pRasterDef = new RasterDefClass(); pRasterDef.SpatialReference = pRasterProps.SpatialReference; IGeometryDef pGeoDef = new GeometryDefClass(); IGeometryDefEdit pGeoDefEdit = pGeoDef as IGeometryDefEdit; pGeoDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolygon; pGeoDefEdit.AvgNumPoints_2 = 4; pGeoDefEdit.GridCount_2 = 1; pGeoDefEdit.set_GridSize(0, 1000); pGeoDefEdit.SpatialReference_2 = pRasterProps.SpatialReference; DateTime dt = DateTime.Now; string timestr = "sde" + "_" + dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + "_" + dt.Hour + dt.Minute + dt.Second; IRasterDataset pRasterDataset = pWorkSpace.SaveAsRasterDataset(timestr, pRds.CreateDefaultRaster(), pRasterStorageDef, "", pRasterDef, pGeoDef); return timestr; } public bool CreateRasterToSSDE(IRasterDataset pRDs, IRasterWorkspaceEx pWorkSpace) { IRasterProps pRasterProps = (IRasterProps)pRDs.CreateDefaultRaster(); IRasterStorageDef pRasterStorageDef = new RasterStorageDefClass(); pRasterStorageDef.CompressionType = esriRasterCompressionType.esriRasterCompressionJPEG2000; pRasterStorageDef.CompressionQuality = 50; pRasterStorageDef.PyramidLevel = 2; pRasterStorageDef.PyramidResampleType = rstResamplingTypes.RSP_BilinearInterpolation; pRasterStorageDef.TileHeight = 128; pRasterStorageDef.TileWidth = 128; IRasterDef pRasterDef = new RasterDefClass(); pRasterDef.Description = "rasterdataset"; pRasterDef.SpatialReference = pRasterProps.SpatialReference; IGeometryDef pGeoDef = new GeometryDefClass(); IGeometryDefEdit pGeoDefEdit = pGeoDef as IGeometryDefEdit; pGeoDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolygon; pGeoDefEdit.AvgNumPoints_2 = 4; pGeoDefEdit.GridCount_2 = 1; pGeoDefEdit.set_GridSize(0, 1000); pGeoDefEdit.SpatialReference_2 = pRasterProps.SpatialReference; //使用CreateRasterDataset创建一个新层可以 IRasterDataset pRasterDataset = pWorkSpace.CreateRasterDataset("zzy", 3, rstPixelType.PT_UCHAR, pRasterStorageDef, "", pRasterDef, pGeoDef); pRasterDataset = pRDs; return true; } #endregion #region sde处理feature public bool AddFeatureToSDE(Guid MapGuid,ConnectFeatureWorkSpaceDef ConnDef, IFeatureClass pFC, string LayerName) { ConnectFeatureWorkSpaceGet pWorkSpaceGet = new ConnectFeatureWorkSpaceGet(ConnDef); IFeatureWorkspace pWorkSpace = pWorkSpaceGet.GetSDEWorkspace(); //pWorkSpace.SaveAsRasterDataset("fasdf",pDataSet.CreateDefaultRaster(),null,"",null,null); string LayerStoreName=CopyFeatureToSSDE(pFC, pWorkSpace,LayerName); #region 写入数据库图层信息 WriteToDB wtd = new WriteToDB(); wtd.WriteLayerInfo(LayerName, MapGuid, 0, LayerStoreName); #endregion return true; } public bool AddFeatureToSDE(ConnectFeatureWorkSpaceDef ConnDef, string filePath) { try { FilePath file = new FilePath(filePath); IFeatureWorkspace pFW = pFileWorkSpace.OpenFeatureWorkspace(file.GetDir()); IFeatureClass pFC = pFW.OpenFeatureClass(file.GetFileName()); ConnectFeatureWorkSpaceGet pWorkSpaceGet = new ConnectFeatureWorkSpaceGet(ConnDef); IFeatureWorkspace pWorkSpace = pWorkSpaceGet.GetSDEWorkspace(); CopyFeatureToSSDE(pFC, pWorkSpace,file.GetFileName()); } catch { return false; } return true; } public string CopyFeatureToSSDE(IFeatureClass pFC, IFeatureWorkspace pWorkSpace, string LayerName) { IDataset pDataset = pFC as IDataset; //IFeatureDataset pFD = pWorkSpace.OpenFeatureDataset("test.DBO.ContourDataSet"); DateTime dt = DateTime.Now; string timestr = "contour" + dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + "_" + dt.Hour + dt.Minute + dt.Second; IFeatureDataConverter_ConvertFeatureClass(pDataset.Workspace as IWorkspace, pWorkSpace as IWorkspace, LayerName, timestr); return timestr; } public void IFeatureDataConverter_ConvertFeatureClass(IWorkspace sourceWorkspace, IWorkspace targetWorkspace, string nameOfSourceFeatureClass, string nameOfTargetFeatureClass) { //create source workspace name IDataset sourceWorkspaceDataset = (IDataset)sourceWorkspace; IWorkspaceName sourceWorkspaceName = (IWorkspaceName)sourceWorkspaceDataset.FullName; //create source dataset name IFeatureClassName sourceFeatureClassName = new FeatureClassNameClass(); IDatasetName sourceDatasetName = (IDatasetName)sourceFeatureClassName; sourceDatasetName.WorkspaceName = sourceWorkspaceName; sourceDatasetName.Name = nameOfSourceFeatureClass; //create target workspace name IDataset targetWorkspaceDataset = (IDataset)targetWorkspace; IWorkspaceName targetWorkspaceName = (IWorkspaceName)targetWorkspaceDataset.FullName; //create target dataset name IFeatureClassName targetFeatureClassName = new FeatureClassNameClass(); IDatasetName targetDatasetName = (IDatasetName)targetFeatureClassName; targetDatasetName.WorkspaceName = targetWorkspaceName; targetDatasetName.Name = nameOfTargetFeatureClass; //Open input Featureclass to get field definitions. ESRI.ArcGIS.esriSystem.IName sourceName = (ESRI.ArcGIS.esriSystem.IName)sourceFeatureClassName; IFeatureClass sourceFeatureClass = (IFeatureClass)sourceName.Open(); //Validate the field names because you are converting between different workspace types. IFieldChecker fieldChecker = new FieldCheckerClass(); IFields targetFeatureClassFields; IFields sourceFeatureClassFields = sourceFeatureClass.Fields; IEnumFieldError enumFieldError; // Most importantly set the input and validate workspaces! fieldChecker.InputWorkspace = sourceWorkspace; fieldChecker.ValidateWorkspace = targetWorkspace; fieldChecker.Validate(sourceFeatureClassFields, out enumFieldError, out targetFeatureClassFields); // Loop through the output fields to find the geomerty field IField geometryField; for (int i = 0; i < targetFeatureClassFields.FieldCount; i++) { if (targetFeatureClassFields.get_Field(i).Type == esriFieldType.esriFieldTypeGeometry) { geometryField = targetFeatureClassFields.get_Field(i); // Get the geometry field's geometry defenition IGeometryDef geometryDef = geometryField.GeometryDef; //Give the geometry definition a spatial index grid count and grid size IGeometryDefEdit targetFCGeoDefEdit = (IGeometryDefEdit)geometryDef; targetFCGeoDefEdit.GridCount_2 = 1; targetFCGeoDefEdit.set_GridSize(0, 0); //Allow ArcGIS to determine a valid grid size for the data loaded targetFCGeoDefEdit.SpatialReference_2 = geometryField.GeometryDef.SpatialReference; // we want to convert all of the features IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = ""; // Load the feature class IFeatureDataConverter fctofc = new FeatureDataConverterClass(); IEnumInvalidObject enumErrors = fctofc.ConvertFeatureClass(sourceFeatureClassName, queryFilter, null, targetFeatureClassName, geometryDef, targetFeatureClassFields, "", 1000, 0); break; } } } #endregion } } Public Function ImportSDERLayer(ByVal iFilePath As String, ByVal iRLayerName As String, ByVal iKeyWord As String, ByVal iRasterStorageInfo As RasterStorageInfo) As Boolean Dim i As Integer Dim iWorkspaceFactory As ESRI.ArcGIS.Geodatabase.IWorkspaceFactory Dim iRasterWorkspace As ESRI.ArcGIS.DataSourcesRaster.IRasterWorkspace Dim iGeoDataset As ESRI.ArcGIS.Geodatabase.IGeoDataset Dim iRaster As ESRI.ArcGIS.Geodatabase.IRaster Dim iRasterWorkspaceEx As ESRI.ArcGIS.Geodatabase.IRasterWorkspaceEx Dim iSDEWorkspaceFactory As New ESRI.ArcGIS.DataSourcesGDB.SdeWorkspaceFactory Dim iSpatialReference As ESRI.ArcGIS.Geometry.ISpatialReference Dim iRasterDataset As ESRI.ArcGIS.Geodatabase.IRasterDataset Dim iRasterStorageDef As ESRI.ArcGIS.Geodatabase.IRasterStorageDef Dim iRasterDef As ESRI.ArcGIS.Geodatabase.IRasterDef Dim iGeometryDef As ESRI.ArcGIS.Geodatabase.IGeometryDef Dim iGeometryDefEdit As ESRI.ArcGIS.Geodatabase.IGeometryDefEdit Dim iRasterPyramid2 As ESRI.ArcGIS.DataSourcesRaster.IRasterPyramid2 Dim iRasterStatistics As ESRI.ArcGIS.DataSourcesRaster.IRasterStatistics Dim iRasterBandCollection As ESRI.ArcGIS.DataSourcesRaster.IRasterBandCollection On Error GoTo CheckErr If CheckUserPower(CurrentUser.UserID, iRLayerName, "RL", EnumUserPower.CanImport) = True Then If CheckSDERLayerExist(iRLayerName) = False Then '打开源矢量图层 iWorkspaceFactory = New ESRI.ArcGIS.DataSourcesRaster.RasterWorkspaceFactory iRasterWorkspace = iWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(iFilePath), 0) Select Case UCase(System.IO.Path.GetExtension(iFilePath)) Case ".BMP", ".JPG", ".GIF", ".TIF", ".IMG" iRaster = iRasterWorkspace.OpenRasterDataset(System.IO.Path.GetFileName(iFilePath)).CreateDefaultRaster Case ".AUX" iRaster = iRasterWorkspace.OpenRasterDataset(System.IO.Path.GetFileNameWithoutExtension(iFilePath)).CreateDefaultRaster End Select iGeoDataset = iRaster If iGeoDataset.SpatialReference Is Nothing Then iSpatialReference = New ESRI.ArcGIS.Geometry.UnknownCoordinateSystem Else iSpatialReference = iGeoDataset.SpatialReference End If '设置IRasterStorageDef iRasterStorageDef = iRasterStorageInfo.RasterStorageDef '设置IRasterDef iRasterDef = New ESRI.ArcGIS.Geodatabase.RasterDef iRasterDef.Description = "RasterDataset" iRasterDef.SpatialReference = iSpatialReference '设置IGeometryDef iGeometryDef = New ESRI.ArcGIS.Geodatabase.GeometryDef iGeometryDefEdit = iGeometryDef iGeometryDefEdit.AvgNumPoints_2 = 4 iGeometryDefEdit.GeometryType_2 = ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon iGeometryDefEdit.GridCount_2 = 1 iGeometryDefEdit.GridSize_2(0) = 1000 iGeometryDefEdit.SpatialReference_2 = iSpatialReference '设置KeyWord If Trim(iKeyWord) = "" Then iKeyWord = "DEFAULTS" End If '导入到SDE中 If iRasterStorageInfo.BulidPyramid = False Then iRasterStorageDef.PyramidLevel = 0 '当PyramidLevel=0时就不会 创建金字塔 End If iRasterWorkspaceEx = iSDEWorkspaceFactory.Open(SDE_PropertySet, 0) iRasterDataset = iRasterWorkspaceEx.SaveAsRasterDataset(iRLayerName, iRaster, iRasterStorageDef, iKeyWord, iRasterDef, iGeometryDef) '创建金字塔(此过程可以不用) If iRasterStorageInfo.BulidPyramid = True Then iRasterPyramid2 = iRasterDataset If iRasterPyramid2.Present = False Then iRasterPyramid2.BuildPyramid(iRasterStorageInfo.RasterStorageDef.PyramidLevel, iRasterStorageInfo.RasterStorageDef.PyramidResampleType) End If End If '统计栅格图层 If iRasterStorageInfo.ComputeStatistics = True Then iRasterStatistics = iRasterStorageInfo.RasterStatisticDef iRasterBandCollection = iRasterDataset For i = 0 To iRasterBandCollection.Count - 1 iRasterStatistics.RasterBand = iRasterBandCollection.Item(i) iRasterStatistics.Recalculate() Next End If '写日志 Call AddSystemLog(CurrentUser.UserID, My.Computer.Name, "导入栅格 图层", "空间数据库操作") Return True Exit Function Else MessageBox.Show("目标栅格图层已存在,无法导入~", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return False Exit Function End If Else MessageBox.Show("当前用户无权导入该栅格图层~", "消息", MessageBoxButtons.OK, MessageBoxIcon.Warning) Return False Exit Function End If Exit Function CheckErr: MessageBox.Show(Err.Number & ":" & Err.Description, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error) Return False Exit Function End Function 复制代码其中Public Structure RasterStorageInfo Dim RasterStorageDef As ESRI.ArcGIS.Geodatabase.IRasterStorageDef Dim RasterStatisticDef As ESRI.ArcGIS.DataSourcesRaster.IRasterStatistics Dim BulidPyramid As Boolean Dim ComputeStatistics As Boolean End Structure 复制代码
本文档为【我用.net编写的栅格数据入库代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:65KB
软件:Word
页数:25
分类:互联网
上传时间:2017-11-27
浏览量:48